@den4ik92/ng2-smart-table 18.2.13 → 19.0.3

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 (104) hide show
  1. package/fesm2022/den4ik92-ng2-smart-table.mjs +1403 -1583
  2. package/fesm2022/den4ik92-ng2-smart-table.mjs.map +1 -1
  3. package/lib/components/cell/cell-edit-mode/custom-edit.component.d.ts +3 -5
  4. package/lib/components/cell/cell-edit-mode/default-edit.component.d.ts +3 -3
  5. package/lib/components/cell/cell-edit-mode/edit-cell-default.d.ts +2 -3
  6. package/lib/components/cell/cell-edit-mode/edit-cell.component.d.ts +4 -5
  7. package/lib/components/cell/cell-editors/checkbox-editor.component.d.ts +2 -2
  8. package/lib/components/cell/cell-editors/default-editor.d.ts +8 -8
  9. package/lib/components/cell/cell-editors/input-editor.component.d.ts +2 -2
  10. package/lib/components/cell/cell-editors/select-editor.component.d.ts +2 -2
  11. package/lib/components/cell/cell-editors/textarea-editor.component.d.ts +2 -2
  12. package/lib/components/cell/cell-view-mode/custom-view.component.d.ts +1 -1
  13. package/lib/components/cell/cell-view-mode/view-cell.component.d.ts +2 -2
  14. package/lib/components/cell/cell.component.d.ts +8 -8
  15. package/lib/components/filter/custom-filter.component.d.ts +3 -5
  16. package/lib/components/filter/default-filter.component.d.ts +1 -1
  17. package/lib/components/filter/filter-default.d.ts +2 -3
  18. package/lib/components/filter/filter-types/checkbox-filter.component.d.ts +4 -4
  19. package/lib/components/filter/filter-types/default-filter.d.ts +4 -4
  20. package/lib/components/filter/filter-types/input-filter.component.d.ts +4 -4
  21. package/lib/components/filter/filter-types/select-filter.component.d.ts +1 -1
  22. package/lib/components/filter/filter.component.d.ts +2 -2
  23. package/lib/components/pager/pager.component.d.ts +5 -5
  24. package/lib/components/tbody/cells/create-cancel.component.d.ts +4 -4
  25. package/lib/components/tbody/cells/custom.component.d.ts +2 -3
  26. package/lib/components/tbody/cells/edit-delete.component.d.ts +7 -7
  27. package/lib/components/tbody/tbody.component.d.ts +19 -19
  28. package/lib/components/thead/cells/actions-title.component.d.ts +3 -4
  29. package/lib/components/thead/cells/actions.component.d.ts +4 -4
  30. package/lib/components/thead/cells/add-button.component.d.ts +5 -6
  31. package/lib/components/thead/cells/checkbox-select-all.component.d.ts +3 -3
  32. package/lib/components/thead/cells/column-title.component.d.ts +4 -5
  33. package/lib/components/thead/cells/title/title.component.d.ts +8 -8
  34. package/lib/components/thead/rows/thead-filters-row.component.d.ts +4 -4
  35. package/lib/components/thead/rows/thead-form-row.component.d.ts +4 -4
  36. package/lib/components/thead/rows/thead-titles-row.component.d.ts +6 -6
  37. package/lib/components/thead/thead.component.d.ts +7 -7
  38. package/lib/lib/grid.d.ts +6 -7
  39. package/lib/ng2-smart-table.component.d.ts +17 -17
  40. package/package.json +5 -7
  41. package/public-api.d.ts +0 -1
  42. package/esm2022/den4ik92-ng2-smart-table.mjs +0 -5
  43. package/esm2022/lib/components/cell/cell-edit-mode/custom-edit.component.mjs +0 -44
  44. package/esm2022/lib/components/cell/cell-edit-mode/default-edit.component.mjs +0 -26
  45. package/esm2022/lib/components/cell/cell-edit-mode/edit-cell-default.mjs +0 -35
  46. package/esm2022/lib/components/cell/cell-edit-mode/edit-cell.component.mjs +0 -76
  47. package/esm2022/lib/components/cell/cell-editors/checkbox-editor.component.mjs +0 -40
  48. package/esm2022/lib/components/cell/cell-editors/default-editor.mjs +0 -30
  49. package/esm2022/lib/components/cell/cell-editors/input-editor.component.mjs +0 -37
  50. package/esm2022/lib/components/cell/cell-editors/select-editor.component.mjs +0 -52
  51. package/esm2022/lib/components/cell/cell-editors/textarea-editor.component.mjs +0 -39
  52. package/esm2022/lib/components/cell/cell-view-mode/custom-view.component.mjs +0 -15
  53. package/esm2022/lib/components/cell/cell-view-mode/view-cell.component.mjs +0 -47
  54. package/esm2022/lib/components/cell/cell-view-mode/view-cell.mjs +0 -2
  55. package/esm2022/lib/components/cell/cell.component.mjs +0 -73
  56. package/esm2022/lib/components/cell/cell.module.mjs +0 -75
  57. package/esm2022/lib/components/filter/custom-filter.component.mjs +0 -43
  58. package/esm2022/lib/components/filter/default-filter.component.mjs +0 -73
  59. package/esm2022/lib/components/filter/filter-default.mjs +0 -37
  60. package/esm2022/lib/components/filter/filter-types/checkbox-filter.component.mjs +0 -54
  61. package/esm2022/lib/components/filter/filter-types/default-filter.mjs +0 -36
  62. package/esm2022/lib/components/filter/filter-types/input-filter.component.mjs +0 -53
  63. package/esm2022/lib/components/filter/filter-types/select-filter.component.mjs +0 -58
  64. package/esm2022/lib/components/filter/filter.component.mjs +0 -86
  65. package/esm2022/lib/components/filter/filter.module.mjs +0 -62
  66. package/esm2022/lib/components/pager/pager.component.mjs +0 -241
  67. package/esm2022/lib/components/pager/pager.module.mjs +0 -28
  68. package/esm2022/lib/components/tbody/cells/create-cancel.component.mjs +0 -195
  69. package/esm2022/lib/components/tbody/cells/custom.component.mjs +0 -59
  70. package/esm2022/lib/components/tbody/cells/edit-delete.component.mjs +0 -241
  71. package/esm2022/lib/components/tbody/tbody.component.mjs +0 -95
  72. package/esm2022/lib/components/tbody/tbody.module.mjs +0 -47
  73. package/esm2022/lib/components/thead/cells/actions-title.component.mjs +0 -31
  74. package/esm2022/lib/components/thead/cells/actions.component.mjs +0 -42
  75. package/esm2022/lib/components/thead/cells/add-button.component.mjs +0 -57
  76. package/esm2022/lib/components/thead/cells/checkbox-select-all.component.mjs +0 -25
  77. package/esm2022/lib/components/thead/cells/column-title.component.mjs +0 -34
  78. package/esm2022/lib/components/thead/cells/title/title.component.mjs +0 -87
  79. package/esm2022/lib/components/thead/rows/thead-filters-row.component.mjs +0 -89
  80. package/esm2022/lib/components/thead/rows/thead-form-row.component.mjs +0 -108
  81. package/esm2022/lib/components/thead/rows/thead-titles-row.component.mjs +0 -87
  82. package/esm2022/lib/components/thead/thead.component.mjs +0 -42
  83. package/esm2022/lib/components/thead/thead.module.mjs +0 -75
  84. package/esm2022/lib/lib/data-set/cell.mjs +0 -43
  85. package/esm2022/lib/lib/data-set/column.mjs +0 -74
  86. package/esm2022/lib/lib/data-set/data-set.mjs +0 -96
  87. package/esm2022/lib/lib/data-set/row.mjs +0 -47
  88. package/esm2022/lib/lib/data-source/data-source.mjs +0 -92
  89. package/esm2022/lib/lib/data-source/local/local.data-source.mjs +0 -263
  90. package/esm2022/lib/lib/data-source/local/local.filter.mjs +0 -13
  91. package/esm2022/lib/lib/data-source/local/local.pager.mjs +0 -6
  92. package/esm2022/lib/lib/data-source/local/local.sorter.mjs +0 -19
  93. package/esm2022/lib/lib/grid.mjs +0 -218
  94. package/esm2022/lib/lib/helpers.mjs +0 -84
  95. package/esm2022/lib/lib/interfaces/smart-table.models.mjs +0 -16
  96. package/esm2022/lib/ng2-smart-table.component.mjs +0 -169
  97. package/esm2022/lib/ng2-smart-table.module.mjs +0 -51
  98. package/esm2022/public-api.mjs +0 -12
  99. package/lib/components/cell/cell.module.d.ts +0 -20
  100. package/lib/components/filter/filter.module.d.ts +0 -16
  101. package/lib/components/pager/pager.module.d.ts +0 -9
  102. package/lib/components/tbody/tbody.module.d.ts +0 -13
  103. package/lib/components/thead/thead.module.d.ts +0 -20
  104. package/lib/ng2-smart-table.module.d.ts +0 -14
@@ -1,10 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output, ViewContainerRef, ViewChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
+ import { output, Component, Input, ViewContainerRef, ViewChild, ChangeDetectionStrategy, inject, ElementRef } from '@angular/core';
3
3
  import { Subject } from 'rxjs';
4
- import * as i1 from '@angular/common';
5
- import { CommonModule } from '@angular/common';
6
- import * as i2 from '@angular/forms';
7
- import { UntypedFormControl, NgControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import * as i1 from '@angular/forms';
5
+ import { FormsModule, UntypedFormControl, ReactiveFormsModule, NgControl } from '@angular/forms';
6
+ import { NgComponentOutlet } from '@angular/common';
8
7
  import { debounceTime, distinctUntilChanged, skip } from 'rxjs/operators';
9
8
 
10
9
  function prepareValue(value) { return value; }
@@ -53,28 +52,20 @@ class Cell {
53
52
  class DefaultEditor {
54
53
  constructor() {
55
54
  this.inputClass = '';
56
- this.onStopEditing = new EventEmitter();
57
- this.onEdited = new EventEmitter();
58
- this.onClick = new EventEmitter();
55
+ this.onStopEditing = output();
56
+ this.onEdited = output();
57
+ this.onClick = output();
59
58
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DefaultEditor, selector: "ng-component", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { onStopEditing: "onStopEditing", onEdited: "onEdited", onClick: "onClick" }, ngImport: i0, template: '', isInline: true }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DefaultEditor, isStandalone: true, selector: "ng-component", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { onStopEditing: "onStopEditing", onEdited: "onEdited", onClick: "onClick" }, ngImport: i0, template: '', isInline: true }); }
62
61
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultEditor, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultEditor, decorators: [{
64
63
  type: Component,
65
- args: [{
66
- template: '',
67
- }]
64
+ args: [{ template: '' }]
68
65
  }], propDecorators: { cell: [{
69
66
  type: Input
70
67
  }], inputClass: [{
71
68
  type: Input
72
- }], onStopEditing: [{
73
- type: Output
74
- }], onEdited: [{
75
- type: Output
76
- }], onClick: [{
77
- type: Output
78
69
  }] } });
79
70
 
80
71
  class Column {
@@ -156,7 +147,7 @@ class DefaultFilter {
156
147
  this.delay = 300;
157
148
  this.query = '';
158
149
  this.inputClass = '';
159
- this.filter = new EventEmitter();
150
+ this.filter = output();
160
151
  }
161
152
  ngOnDestroy() {
162
153
  if (this.changesSubscription) {
@@ -166,22 +157,18 @@ class DefaultFilter {
166
157
  setFilter() {
167
158
  this.filter.emit(this.query);
168
159
  }
169
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultFilter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
170
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DefaultFilter, selector: "ng-component", inputs: { query: "query", inputClass: "inputClass", column: "column" }, outputs: { filter: "filter" }, ngImport: i0, template: '', isInline: true }); }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultFilter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DefaultFilter, isStandalone: true, selector: "ng-component", inputs: { query: "query", inputClass: "inputClass", column: "column" }, outputs: { filter: "filter" }, ngImport: i0, template: '', isInline: true }); }
171
162
  }
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultFilter, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultFilter, decorators: [{
173
164
  type: Component,
174
- args: [{
175
- template: '',
176
- }]
165
+ args: [{ template: '' }]
177
166
  }], propDecorators: { query: [{
178
167
  type: Input
179
168
  }], inputClass: [{
180
169
  type: Input
181
170
  }], column: [{
182
171
  type: Input
183
- }], filter: [{
184
- type: Output
185
172
  }] } });
186
173
 
187
174
  class Row {
@@ -716,6 +703,304 @@ class LocalDataSource extends DataSource {
716
703
  }
717
704
  }
718
705
 
706
+ class PagerComponent {
707
+ constructor() {
708
+ this.perPageSelect = [];
709
+ this.changePage = output();
710
+ this.currentPerPage = 0;
711
+ this.pages = [];
712
+ this.page = 1;
713
+ this.count = 0;
714
+ this.perPage = 0;
715
+ }
716
+ ngOnChanges(changes) {
717
+ if (changes["source"]) {
718
+ if (!changes["source"].firstChange && this.dataChangedSub) {
719
+ this.dataChangedSub.unsubscribe();
720
+ }
721
+ this.dataChangedSub = this.source.onChanged().subscribe((dataChanges) => {
722
+ const paging = this.source.getPaging();
723
+ if (paging) {
724
+ this.page = paging.page;
725
+ this.perPage = paging.perPage;
726
+ }
727
+ this.currentPerPage = this.perPage;
728
+ this.count = this.source.count();
729
+ if (this.isPageOutOfBounce()) {
730
+ this.source.setPage(--this.page);
731
+ }
732
+ this.processPageChange(dataChanges);
733
+ this.initPages();
734
+ });
735
+ }
736
+ }
737
+ /**
738
+ * We change the page here depending on the action performed against data source
739
+ * if a new element was added to the end of the table - then change the page to the last
740
+ * if a new element was added to the beginning of the table - then to the first page
741
+ * @param changes
742
+ */
743
+ processPageChange(changes) {
744
+ if (changes["action"] === "prepend") {
745
+ this.source.setPage(1);
746
+ }
747
+ if (changes["action"] === "append") {
748
+ this.source.setPage(this.getLast());
749
+ }
750
+ }
751
+ shouldShow() {
752
+ return this.source.count() > this.perPage;
753
+ }
754
+ paginate(page) {
755
+ this.source.setPage(page);
756
+ this.page = page;
757
+ this.changePage.emit({ page });
758
+ return false;
759
+ }
760
+ next() {
761
+ return this.paginate(this.getPage() + 1);
762
+ }
763
+ prev() {
764
+ return this.paginate(this.getPage() - 1);
765
+ }
766
+ getPage() {
767
+ return this.page;
768
+ }
769
+ getPages() {
770
+ return this.pages;
771
+ }
772
+ getLast() {
773
+ return Math.ceil(this.count / this.perPage);
774
+ }
775
+ isPageOutOfBounce() {
776
+ return (this.page * this.perPage >= this.count + this.perPage && this.page > 1);
777
+ }
778
+ initPages() {
779
+ const pagesCount = this.getLast();
780
+ let showPagesCount = 4;
781
+ showPagesCount = pagesCount < showPagesCount ? pagesCount : showPagesCount;
782
+ this.pages = [];
783
+ if (this.shouldShow()) {
784
+ let middleOne = Math.ceil(showPagesCount / 2);
785
+ middleOne = this.page >= middleOne ? this.page : middleOne;
786
+ let lastOne = middleOne + Math.floor(showPagesCount / 2);
787
+ lastOne = lastOne >= pagesCount ? pagesCount : lastOne;
788
+ const firstOne = lastOne - showPagesCount + 1;
789
+ for (let i = firstOne; i <= lastOne; i++) {
790
+ this.pages.push(i);
791
+ }
792
+ }
793
+ }
794
+ onChangePerPage() {
795
+ const paging = this.source.getPaging();
796
+ if (paging) {
797
+ paging.perPage = this.currentPerPage * 1;
798
+ }
799
+ this.source.refresh();
800
+ this.initPages();
801
+ }
802
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: PagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
803
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: PagerComponent, isStandalone: true, selector: "ng2-smart-table-pager", inputs: { source: "source", perPageSelect: "perPageSelect" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: `
804
+ @if (shouldShow()) {
805
+ <nav class="ng2-smart-pagination-nav">
806
+ <ul class="ng2-smart-pagination pagination">
807
+ <li
808
+ class="ng2-smart-page-item page-item"
809
+ [class.disabled]="getPage() === 1"
810
+ >
811
+ <a
812
+ class="ng2-smart-page-link page-link"
813
+ href="#"
814
+ (click)="getPage() === 1 ? false : paginate(1)"
815
+ aria-label="First"
816
+ >
817
+ <span aria-hidden="true">&laquo;</span>
818
+ <span class="sr-only">First</span>
819
+ </a>
820
+ </li>
821
+ <li
822
+ class="ng2-smart-page-item page-item"
823
+ [class.disabled]="getPage() === 1"
824
+ >
825
+ <a
826
+ class="ng2-smart-page-link page-link page-link-prev"
827
+ href="#"
828
+ (click)="getPage() === 1 ? false : prev()"
829
+ aria-label="Prev"
830
+ >
831
+ <span aria-hidden="true">&lt;</span>
832
+ <span class="sr-only">Prev</span>
833
+ </a>
834
+ </li>
835
+ @for (page of getPages(); track page) {
836
+ <li
837
+ class="ng2-smart-page-item page-item"
838
+ [class.active]="getPage() === page"
839
+ >
840
+ @if (getPage() === page) {
841
+ <span class="ng2-smart-page-link page-link"
842
+ >{{ page }} <span class="sr-only">(current)</span></span
843
+ >
844
+ } @if (getPage() !== page) {
845
+ <a
846
+ class="ng2-smart-page-link page-link"
847
+ href="#"
848
+ (click)="paginate(page)"
849
+ >{{ page }}</a
850
+ >
851
+ }
852
+ </li>
853
+ }
854
+ <li
855
+ class="ng2-smart-page-item page-item"
856
+ [class.disabled]="getPage() === getLast()"
857
+ >
858
+ <a
859
+ class="ng2-smart-page-link page-link page-link-next"
860
+ href="#"
861
+ (click)="getPage() === getLast() ? false : next()"
862
+ aria-label="Next"
863
+ >
864
+ <span aria-hidden="true">&gt;</span>
865
+ <span class="sr-only">Next</span>
866
+ </a>
867
+ </li>
868
+ <li
869
+ class="ng2-smart-page-item page-item"
870
+ [class.disabled]="getPage() === getLast()"
871
+ >
872
+ <a
873
+ class="ng2-smart-page-link page-link"
874
+ href="#"
875
+ (click)="getPage() === getLast() ? false : paginate(getLast())"
876
+ aria-label="Last"
877
+ >
878
+ <span aria-hidden="true">&raquo;</span>
879
+ <span class="sr-only">Last</span>
880
+ </a>
881
+ </li>
882
+ </ul>
883
+ </nav>
884
+ } @if (perPageSelect && perPageSelect.length > 0) {
885
+ <nav class="ng2-smart-pagination-per-page">
886
+ <label for="per-page"> Per Page: </label>
887
+ <select
888
+ (change)="onChangePerPage()"
889
+ [(ngModel)]="currentPerPage"
890
+ id="per-page"
891
+ >
892
+ @for (item of perPageSelect; track item) {
893
+ <option [value]="item">{{ item }}</option>
894
+ }
895
+ </select>
896
+ </nav>
897
+ }
898
+ `, isInline: true, styles: [".ng2-smart-pagination{display:inline-flex;font-size:.875em;padding:0}.ng2-smart-pagination .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ng2-smart-pagination .ng2-smart-page-item{display:inline}.ng2-smart-pagination .page-link-next,.ng2-smart-pagination .page-link-prev{font-size:10px}:host{display:flex;justify-content:space-between}:host select{margin:1rem 0 1rem 1rem}:host label{margin:1rem 0 1rem 1rem;line-height:2.5rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
899
+ }
900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: PagerComponent, decorators: [{
901
+ type: Component,
902
+ args: [{ selector: "ng2-smart-table-pager", template: `
903
+ @if (shouldShow()) {
904
+ <nav class="ng2-smart-pagination-nav">
905
+ <ul class="ng2-smart-pagination pagination">
906
+ <li
907
+ class="ng2-smart-page-item page-item"
908
+ [class.disabled]="getPage() === 1"
909
+ >
910
+ <a
911
+ class="ng2-smart-page-link page-link"
912
+ href="#"
913
+ (click)="getPage() === 1 ? false : paginate(1)"
914
+ aria-label="First"
915
+ >
916
+ <span aria-hidden="true">&laquo;</span>
917
+ <span class="sr-only">First</span>
918
+ </a>
919
+ </li>
920
+ <li
921
+ class="ng2-smart-page-item page-item"
922
+ [class.disabled]="getPage() === 1"
923
+ >
924
+ <a
925
+ class="ng2-smart-page-link page-link page-link-prev"
926
+ href="#"
927
+ (click)="getPage() === 1 ? false : prev()"
928
+ aria-label="Prev"
929
+ >
930
+ <span aria-hidden="true">&lt;</span>
931
+ <span class="sr-only">Prev</span>
932
+ </a>
933
+ </li>
934
+ @for (page of getPages(); track page) {
935
+ <li
936
+ class="ng2-smart-page-item page-item"
937
+ [class.active]="getPage() === page"
938
+ >
939
+ @if (getPage() === page) {
940
+ <span class="ng2-smart-page-link page-link"
941
+ >{{ page }} <span class="sr-only">(current)</span></span
942
+ >
943
+ } @if (getPage() !== page) {
944
+ <a
945
+ class="ng2-smart-page-link page-link"
946
+ href="#"
947
+ (click)="paginate(page)"
948
+ >{{ page }}</a
949
+ >
950
+ }
951
+ </li>
952
+ }
953
+ <li
954
+ class="ng2-smart-page-item page-item"
955
+ [class.disabled]="getPage() === getLast()"
956
+ >
957
+ <a
958
+ class="ng2-smart-page-link page-link page-link-next"
959
+ href="#"
960
+ (click)="getPage() === getLast() ? false : next()"
961
+ aria-label="Next"
962
+ >
963
+ <span aria-hidden="true">&gt;</span>
964
+ <span class="sr-only">Next</span>
965
+ </a>
966
+ </li>
967
+ <li
968
+ class="ng2-smart-page-item page-item"
969
+ [class.disabled]="getPage() === getLast()"
970
+ >
971
+ <a
972
+ class="ng2-smart-page-link page-link"
973
+ href="#"
974
+ (click)="getPage() === getLast() ? false : paginate(getLast())"
975
+ aria-label="Last"
976
+ >
977
+ <span aria-hidden="true">&raquo;</span>
978
+ <span class="sr-only">Last</span>
979
+ </a>
980
+ </li>
981
+ </ul>
982
+ </nav>
983
+ } @if (perPageSelect && perPageSelect.length > 0) {
984
+ <nav class="ng2-smart-pagination-per-page">
985
+ <label for="per-page"> Per Page: </label>
986
+ <select
987
+ (change)="onChangePerPage()"
988
+ [(ngModel)]="currentPerPage"
989
+ id="per-page"
990
+ >
991
+ @for (item of perPageSelect; track item) {
992
+ <option [value]="item">{{ item }}</option>
993
+ }
994
+ </select>
995
+ </nav>
996
+ }
997
+ `, standalone: true, imports: [FormsModule], styles: [".ng2-smart-pagination{display:inline-flex;font-size:.875em;padding:0}.ng2-smart-pagination .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ng2-smart-pagination .ng2-smart-page-item{display:inline}.ng2-smart-pagination .page-link-next,.ng2-smart-pagination .page-link-prev{font-size:10px}:host{display:flex;justify-content:space-between}:host select{margin:1rem 0 1rem 1rem}:host label{margin:1rem 0 1rem 1rem;line-height:2.5rem}\n"] }]
998
+ }], propDecorators: { source: [{
999
+ type: Input
1000
+ }], perPageSelect: [{
1001
+ type: Input
1002
+ }] } });
1003
+
719
1004
  class DataSet {
720
1005
  constructor(data = [], columnSettings) {
721
1006
  this.columnSettings = columnSettings;
@@ -1025,249 +1310,13 @@ class Grid {
1025
1310
  }
1026
1311
  }
1027
1312
 
1028
- class PagerComponent {
1029
- constructor() {
1030
- this.perPageSelect = [];
1031
- this.changePage = new EventEmitter();
1032
- this.currentPerPage = 0;
1033
- this.pages = [];
1034
- this.page = 1;
1035
- this.count = 0;
1036
- this.perPage = 0;
1037
- }
1038
- ngOnChanges(changes) {
1039
- if (changes['source']) {
1040
- if (!changes['source'].firstChange && this.dataChangedSub) {
1041
- this.dataChangedSub.unsubscribe();
1042
- }
1043
- this.dataChangedSub = this.source.onChanged().subscribe((dataChanges) => {
1044
- const paging = this.source.getPaging();
1045
- if (paging) {
1046
- this.page = paging.page;
1047
- this.perPage = paging.perPage;
1048
- }
1049
- this.currentPerPage = this.perPage;
1050
- this.count = this.source.count();
1051
- if (this.isPageOutOfBounce()) {
1052
- this.source.setPage(--this.page);
1053
- }
1054
- this.processPageChange(dataChanges);
1055
- this.initPages();
1056
- });
1057
- }
1058
- }
1059
- /**
1060
- * We change the page here depending on the action performed against data source
1061
- * if a new element was added to the end of the table - then change the page to the last
1062
- * if a new element was added to the beginning of the table - then to the first page
1063
- * @param changes
1064
- */
1065
- processPageChange(changes) {
1066
- if (changes['action'] === 'prepend') {
1067
- this.source.setPage(1);
1068
- }
1069
- if (changes['action'] === 'append') {
1070
- this.source.setPage(this.getLast());
1071
- }
1072
- }
1073
- shouldShow() {
1074
- return this.source.count() > this.perPage;
1075
- }
1076
- paginate(page) {
1077
- this.source.setPage(page);
1078
- this.page = page;
1079
- this.changePage.emit({ page });
1080
- return false;
1081
- }
1082
- next() {
1083
- return this.paginate(this.getPage() + 1);
1084
- }
1085
- prev() {
1086
- return this.paginate(this.getPage() - 1);
1087
- }
1088
- getPage() {
1089
- return this.page;
1090
- }
1091
- getPages() {
1092
- return this.pages;
1093
- }
1094
- getLast() {
1095
- return Math.ceil(this.count / this.perPage);
1096
- }
1097
- isPageOutOfBounce() {
1098
- return (this.page * this.perPage) >= (this.count + this.perPage) && this.page > 1;
1099
- }
1100
- initPages() {
1101
- const pagesCount = this.getLast();
1102
- let showPagesCount = 4;
1103
- showPagesCount = pagesCount < showPagesCount ? pagesCount : showPagesCount;
1104
- this.pages = [];
1105
- if (this.shouldShow()) {
1106
- let middleOne = Math.ceil(showPagesCount / 2);
1107
- middleOne = this.page >= middleOne ? this.page : middleOne;
1108
- let lastOne = middleOne + Math.floor(showPagesCount / 2);
1109
- lastOne = lastOne >= pagesCount ? pagesCount : lastOne;
1110
- const firstOne = lastOne - showPagesCount + 1;
1111
- for (let i = firstOne; i <= lastOne; i++) {
1112
- this.pages.push(i);
1113
- }
1114
- }
1115
- }
1116
- onChangePerPage() {
1117
- const paging = this.source.getPaging();
1118
- if (paging) {
1119
- paging.perPage = this.currentPerPage * 1;
1120
- }
1121
- this.source.refresh();
1122
- this.initPages();
1123
- }
1124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PagerComponent, selector: "ng2-smart-table-pager", inputs: { source: "source", perPageSelect: "perPageSelect" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: `
1126
- @if (shouldShow()) {
1127
- <nav class="ng2-smart-pagination-nav">
1128
- <ul class="ng2-smart-pagination pagination">
1129
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
1130
- <a class="ng2-smart-page-link page-link" href="#"
1131
- (click)="getPage() == 1 ? false : paginate(1)" aria-label="First">
1132
- <span aria-hidden="true">&laquo;</span>
1133
- <span class="sr-only">First</span>
1134
- </a>
1135
- </li>
1136
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
1137
- <a class="ng2-smart-page-link page-link page-link-prev" href="#"
1138
- (click)="getPage() == 1 ? false : prev()" aria-label="Prev">
1139
- <span aria-hidden="true">&lt;</span>
1140
- <span class="sr-only">Prev</span>
1141
- </a>
1142
- </li>
1143
- @for (page of getPages(); track page) {
1144
- <li class="ng2-smart-page-item page-item"
1145
- [ngClass]="{active: getPage() == page}">
1146
- @if (getPage() == page) {
1147
- <span class="ng2-smart-page-link page-link"
1148
- >{{ page }} <span class="sr-only">(current)</span></span>
1149
- }
1150
- @if (getPage() != page) {
1151
- <a class="ng2-smart-page-link page-link" href="#"
1152
- (click)="paginate(page)">{{ page }}</a>
1153
- }
1154
- </li>
1155
- }
1156
- <li class="ng2-smart-page-item page-item"
1157
- [ngClass]="{disabled: getPage() == getLast()}">
1158
- <a class="ng2-smart-page-link page-link page-link-next" href="#"
1159
- (click)="getPage() == getLast() ? false : next()" aria-label="Next">
1160
- <span aria-hidden="true">&gt;</span>
1161
- <span class="sr-only">Next</span>
1162
- </a>
1163
- </li>
1164
- <li class="ng2-smart-page-item page-item"
1165
- [ngClass]="{disabled: getPage() == getLast()}">
1166
- <a class="ng2-smart-page-link page-link" href="#"
1167
- (click)="getPage() == getLast() ? false : paginate(getLast())" aria-label="Last">
1168
- <span aria-hidden="true">&raquo;</span>
1169
- <span class="sr-only">Last</span>
1170
- </a>
1171
- </li>
1172
- </ul>
1173
- </nav>
1174
- }
1175
-
1176
- @if (perPageSelect && perPageSelect.length > 0) {
1177
- <nav class="ng2-smart-pagination-per-page">
1178
- <label for="per-page">
1179
- Per Page:
1180
- </label>
1181
- <select (change)="onChangePerPage()" [(ngModel)]="currentPerPage" id="per-page">
1182
- @for (item of perPageSelect; track item) {
1183
- <option [value]="item">{{ item }}</option>
1184
- }
1185
- </select>
1186
- </nav>
1187
- }
1188
- `, isInline: true, styles: [".ng2-smart-pagination{display:inline-flex;font-size:.875em;padding:0}.ng2-smart-pagination .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ng2-smart-pagination .ng2-smart-page-item{display:inline}.ng2-smart-pagination .page-link-next,.ng2-smart-pagination .page-link-prev{font-size:10px}:host{display:flex;justify-content:space-between}:host select{margin:1rem 0 1rem 1rem}:host label{margin:1rem 0 1rem 1rem;line-height:2.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
1189
- }
1190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerComponent, decorators: [{
1191
- type: Component,
1192
- args: [{ selector: 'ng2-smart-table-pager', template: `
1193
- @if (shouldShow()) {
1194
- <nav class="ng2-smart-pagination-nav">
1195
- <ul class="ng2-smart-pagination pagination">
1196
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
1197
- <a class="ng2-smart-page-link page-link" href="#"
1198
- (click)="getPage() == 1 ? false : paginate(1)" aria-label="First">
1199
- <span aria-hidden="true">&laquo;</span>
1200
- <span class="sr-only">First</span>
1201
- </a>
1202
- </li>
1203
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
1204
- <a class="ng2-smart-page-link page-link page-link-prev" href="#"
1205
- (click)="getPage() == 1 ? false : prev()" aria-label="Prev">
1206
- <span aria-hidden="true">&lt;</span>
1207
- <span class="sr-only">Prev</span>
1208
- </a>
1209
- </li>
1210
- @for (page of getPages(); track page) {
1211
- <li class="ng2-smart-page-item page-item"
1212
- [ngClass]="{active: getPage() == page}">
1213
- @if (getPage() == page) {
1214
- <span class="ng2-smart-page-link page-link"
1215
- >{{ page }} <span class="sr-only">(current)</span></span>
1216
- }
1217
- @if (getPage() != page) {
1218
- <a class="ng2-smart-page-link page-link" href="#"
1219
- (click)="paginate(page)">{{ page }}</a>
1220
- }
1221
- </li>
1222
- }
1223
- <li class="ng2-smart-page-item page-item"
1224
- [ngClass]="{disabled: getPage() == getLast()}">
1225
- <a class="ng2-smart-page-link page-link page-link-next" href="#"
1226
- (click)="getPage() == getLast() ? false : next()" aria-label="Next">
1227
- <span aria-hidden="true">&gt;</span>
1228
- <span class="sr-only">Next</span>
1229
- </a>
1230
- </li>
1231
- <li class="ng2-smart-page-item page-item"
1232
- [ngClass]="{disabled: getPage() == getLast()}">
1233
- <a class="ng2-smart-page-link page-link" href="#"
1234
- (click)="getPage() == getLast() ? false : paginate(getLast())" aria-label="Last">
1235
- <span aria-hidden="true">&raquo;</span>
1236
- <span class="sr-only">Last</span>
1237
- </a>
1238
- </li>
1239
- </ul>
1240
- </nav>
1241
- }
1242
-
1243
- @if (perPageSelect && perPageSelect.length > 0) {
1244
- <nav class="ng2-smart-pagination-per-page">
1245
- <label for="per-page">
1246
- Per Page:
1247
- </label>
1248
- <select (change)="onChangePerPage()" [(ngModel)]="currentPerPage" id="per-page">
1249
- @for (item of perPageSelect; track item) {
1250
- <option [value]="item">{{ item }}</option>
1251
- }
1252
- </select>
1253
- </nav>
1254
- }
1255
- `, styles: [".ng2-smart-pagination{display:inline-flex;font-size:.875em;padding:0}.ng2-smart-pagination .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ng2-smart-pagination .ng2-smart-page-item{display:inline}.ng2-smart-pagination .page-link-next,.ng2-smart-pagination .page-link-prev{font-size:10px}:host{display:flex;justify-content:space-between}:host select{margin:1rem 0 1rem 1rem}:host label{margin:1rem 0 1rem 1rem;line-height:2.5rem}\n"] }]
1256
- }], propDecorators: { source: [{
1257
- type: Input
1258
- }], perPageSelect: [{
1259
- type: Input
1260
- }], changePage: [{
1261
- type: Output
1262
- }] } });
1263
-
1264
1313
  class EditCellDefault {
1265
1314
  constructor() {
1266
1315
  this.inputClass = '';
1267
- this.edited = new EventEmitter();
1316
+ this.edited = output();
1268
1317
  }
1269
1318
  onEdited(event) {
1270
- this.edited.next(event);
1319
+ this.edited.emit(event);
1271
1320
  return false;
1272
1321
  }
1273
1322
  onStopEditing() {
@@ -1277,32 +1326,32 @@ class EditCellDefault {
1277
1326
  onClick(event) {
1278
1327
  event.stopPropagation();
1279
1328
  }
1280
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditCellDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1281
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EditCellDefault, selector: "ng-component", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { edited: "edited" }, ngImport: i0, template: '', isInline: true }); }
1329
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1330
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: EditCellDefault, isStandalone: true, selector: "ng-component", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { edited: "edited" }, ngImport: i0, template: '', isInline: true }); }
1282
1331
  }
1283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditCellDefault, decorators: [{
1332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellDefault, decorators: [{
1284
1333
  type: Component,
1285
- args: [{
1286
- template: ''
1287
- }]
1334
+ args: [{ template: '' }]
1288
1335
  }], propDecorators: { cell: [{
1289
1336
  type: Input
1290
1337
  }], inputClass: [{
1291
1338
  type: Input
1292
- }], edited: [{
1293
- type: Output
1294
1339
  }] } });
1295
1340
 
1296
1341
  class CustomEditComponent extends EditCellDefault {
1297
- constructor(resolver) {
1298
- super();
1299
- this.resolver = resolver;
1300
- }
1301
1342
  ngOnChanges(changes) {
1302
1343
  const editor = this.cell.getColumn().editor;
1303
- if (this.cell && !this.customComponent && editor && editor.type == 'custom') {
1304
- const componentFactory = this.resolver.resolveComponentFactory(editor.component);
1305
- this.customComponent = this.dynamicTarget.createComponent(componentFactory);
1344
+ if (this.customComponent) {
1345
+ if (this.customComponent.instance?.ngOnChanges) {
1346
+ this.customComponent.instance.ngOnChanges(changes);
1347
+ }
1348
+ return;
1349
+ }
1350
+ if (this.cell &&
1351
+ !this.customComponent &&
1352
+ editor &&
1353
+ editor.type == "custom") {
1354
+ this.customComponent = this.dynamicTarget.createComponent(editor.component);
1306
1355
  // set @Inputs and @Outputs of custom component
1307
1356
  this.customComponent.instance.cell = this.cell;
1308
1357
  this.customComponent.instance.inputClass = this.inputClass;
@@ -1316,22 +1365,19 @@ class CustomEditComponent extends EditCellDefault {
1316
1365
  this.customComponent.destroy();
1317
1366
  }
1318
1367
  }
1319
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomEditComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
1320
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomEditComponent, selector: "table-cell-custom-editor", viewQueries: [{ propertyName: "dynamicTarget", first: true, predicate: ["dynamicTarget"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1321
- <ng-template #dynamicTarget></ng-template>
1322
- `, isInline: true }); }
1368
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1369
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: CustomEditComponent, isStandalone: true, selector: "table-cell-custom-editor", viewQueries: [{ propertyName: "dynamicTarget", first: true, predicate: ["dynamicTarget"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ` <ng-template #dynamicTarget></ng-template> `, isInline: true }); }
1323
1370
  }
1324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomEditComponent, decorators: [{
1371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomEditComponent, decorators: [{
1325
1372
  type: Component,
1326
1373
  args: [{
1327
- selector: 'table-cell-custom-editor',
1328
- template: `
1329
- <ng-template #dynamicTarget></ng-template>
1330
- `,
1374
+ selector: "table-cell-custom-editor",
1375
+ template: ` <ng-template #dynamicTarget></ng-template> `,
1376
+ standalone: true,
1331
1377
  }]
1332
- }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { dynamicTarget: [{
1378
+ }], propDecorators: { dynamicTarget: [{
1333
1379
  type: ViewChild,
1334
- args: ['dynamicTarget', { read: ViewContainerRef, static: true }]
1380
+ args: ["dynamicTarget", { read: ViewContainerRef, static: true }]
1335
1381
  }] } });
1336
1382
 
1337
1383
  class CheckboxEditorComponent extends DefaultEditor {
@@ -1344,108 +1390,130 @@ class CheckboxEditorComponent extends DefaultEditor {
1344
1390
  const falseVal = (config && config?.false) || false;
1345
1391
  this.cell.newValue = event.target.checked ? trueVal : falseVal;
1346
1392
  }
1347
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1348
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxEditorComponent, selector: "checkbox-editor", usesInheritance: true, ngImport: i0, template: `
1349
- <input [ngClass]="inputClass"
1350
- type="checkbox"
1351
- class="form-control"
1352
- [name]="cell.getId()"
1353
- [disabled]="!cell.isEditable()"
1354
- [checked]="cell.getValue() === (cell.getColumn().getConfig()?.true || true)"
1355
- (click)="onClick.emit($event)"
1356
- (change)="onChange($event)">
1357
- `, isInline: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1393
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1394
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: CheckboxEditorComponent, isStandalone: true, selector: "checkbox-editor", usesInheritance: true, ngImport: i0, template: `
1395
+ <input
1396
+ [class]="inputClass"
1397
+ type="checkbox"
1398
+ class="form-control"
1399
+ [name]="cell.getId()"
1400
+ [disabled]="!cell.isEditable()"
1401
+ [checked]="
1402
+ cell.getValue() === (cell.getColumn().getConfig()?.true || true)
1403
+ "
1404
+ (click)="onClick.emit($event)"
1405
+ (change)="onChange($event)"
1406
+ />
1407
+ `, isInline: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }); }
1358
1408
  }
1359
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxEditorComponent, decorators: [{
1409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxEditorComponent, decorators: [{
1360
1410
  type: Component,
1361
- args: [{ selector: 'checkbox-editor', template: `
1362
- <input [ngClass]="inputClass"
1363
- type="checkbox"
1364
- class="form-control"
1365
- [name]="cell.getId()"
1366
- [disabled]="!cell.isEditable()"
1367
- [checked]="cell.getValue() === (cell.getColumn().getConfig()?.true || true)"
1368
- (click)="onClick.emit($event)"
1369
- (change)="onChange($event)">
1370
- `, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
1371
- }], ctorParameters: () => [] });
1372
-
1411
+ args: [{ selector: "checkbox-editor", template: `
1412
+ <input
1413
+ [class]="inputClass"
1414
+ type="checkbox"
1415
+ class="form-control"
1416
+ [name]="cell.getId()"
1417
+ [disabled]="!cell.isEditable()"
1418
+ [checked]="
1419
+ cell.getValue() === (cell.getColumn().getConfig()?.true || true)
1420
+ "
1421
+ (click)="onClick.emit($event)"
1422
+ (change)="onChange($event)"
1423
+ />
1424
+ `, standalone: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
1425
+ }], ctorParameters: () => [] });
1426
+
1373
1427
  class InputEditorComponent extends DefaultEditor {
1374
1428
  constructor() {
1375
1429
  super();
1376
1430
  }
1377
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1378
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputEditorComponent, selector: "input-editor", usesInheritance: true, ngImport: i0, template: `
1379
- <input [ngClass]="inputClass"
1380
- class="form-control"
1381
- [(ngModel)]="cell.newValue"
1382
- [name]="cell.getId()"
1383
- [placeholder]="cell.getTitle()"
1384
- [disabled]="!cell.isEditable()"
1385
- (click)="onClick.emit($event)"
1386
- (keydown.enter)="onEdited.emit($event)"
1387
- (keydown.esc)="onStopEditing.emit()">
1388
- `, isInline: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
1431
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1432
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: InputEditorComponent, isStandalone: true, selector: "input-editor", usesInheritance: true, ngImport: i0, template: `
1433
+ <input
1434
+ [class]="inputClass"
1435
+ class="form-control"
1436
+ [(ngModel)]="cell.newValue"
1437
+ [name]="cell.getId()"
1438
+ [placeholder]="cell.getTitle()"
1439
+ [disabled]="!cell.isEditable()"
1440
+ (click)="onClick.emit($event)"
1441
+ (keydown.enter)="onEdited.emit($event)"
1442
+ (keydown.esc)="onStopEditing.emit('')"
1443
+ />
1444
+ `, isInline: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
1389
1445
  }
1390
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputEditorComponent, decorators: [{
1446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputEditorComponent, decorators: [{
1391
1447
  type: Component,
1392
- args: [{ selector: 'input-editor', template: `
1393
- <input [ngClass]="inputClass"
1394
- class="form-control"
1395
- [(ngModel)]="cell.newValue"
1396
- [name]="cell.getId()"
1397
- [placeholder]="cell.getTitle()"
1398
- [disabled]="!cell.isEditable()"
1399
- (click)="onClick.emit($event)"
1400
- (keydown.enter)="onEdited.emit($event)"
1401
- (keydown.esc)="onStopEditing.emit()">
1402
- `, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
1448
+ args: [{ selector: "input-editor", template: `
1449
+ <input
1450
+ [class]="inputClass"
1451
+ class="form-control"
1452
+ [(ngModel)]="cell.newValue"
1453
+ [name]="cell.getId()"
1454
+ [placeholder]="cell.getTitle()"
1455
+ [disabled]="!cell.isEditable()"
1456
+ (click)="onClick.emit($event)"
1457
+ (keydown.enter)="onEdited.emit($event)"
1458
+ (keydown.esc)="onStopEditing.emit('')"
1459
+ />
1460
+ `, standalone: true, imports: [FormsModule], styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
1403
1461
  }], ctorParameters: () => [] });
1404
1462
 
1405
1463
  class SelectEditorComponent extends DefaultEditor {
1406
1464
  constructor() {
1407
1465
  super();
1408
1466
  }
1409
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1410
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectEditorComponent, selector: "select-editor", usesInheritance: true, ngImport: i0, template: `
1411
- <select [ngClass]="inputClass"
1467
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1468
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: SelectEditorComponent, isStandalone: true, selector: "select-editor", usesInheritance: true, ngImport: i0, template: `
1469
+ <select
1470
+ [class]="inputClass"
1412
1471
  class="form-control"
1413
1472
  [(ngModel)]="cell.newValue"
1414
1473
  [name]="cell.getId()"
1415
1474
  [disabled]="!cell.isEditable()"
1416
1475
  (click)="onClick.emit($event)"
1417
1476
  (keydown.enter)="onEdited.emit($event)"
1418
- (keydown.esc)="onStopEditing.emit()">
1419
-
1420
- @for (option of cell.getColumn().getConfig()?.list; track option) {
1421
- <option [value]="option.value"
1422
- [selected]="option.value === cell.getValue()">{{ option.title }}
1423
- </option>
1477
+ (keydown.esc)="onStopEditing.emit('')"
1478
+ >
1479
+ @for (option of cell.getColumn().getConfig()?.list; track option.value) {
1480
+ <option
1481
+ [value]="option.value"
1482
+ [selected]="option.value === cell.getValue()"
1483
+ >
1484
+ {{ option.title }}
1485
+ </option>
1424
1486
  }
1425
1487
  </select>
1426
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
1488
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
1427
1489
  }
1428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectEditorComponent, decorators: [{
1490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectEditorComponent, decorators: [{
1429
1491
  type: Component,
1430
1492
  args: [{
1431
- selector: 'select-editor',
1493
+ selector: "select-editor",
1432
1494
  template: `
1433
- <select [ngClass]="inputClass"
1495
+ <select
1496
+ [class]="inputClass"
1434
1497
  class="form-control"
1435
1498
  [(ngModel)]="cell.newValue"
1436
1499
  [name]="cell.getId()"
1437
1500
  [disabled]="!cell.isEditable()"
1438
1501
  (click)="onClick.emit($event)"
1439
1502
  (keydown.enter)="onEdited.emit($event)"
1440
- (keydown.esc)="onStopEditing.emit()">
1441
-
1442
- @for (option of cell.getColumn().getConfig()?.list; track option) {
1443
- <option [value]="option.value"
1444
- [selected]="option.value === cell.getValue()">{{ option.title }}
1445
- </option>
1503
+ (keydown.esc)="onStopEditing.emit('')"
1504
+ >
1505
+ @for (option of cell.getColumn().getConfig()?.list; track option.value) {
1506
+ <option
1507
+ [value]="option.value"
1508
+ [selected]="option.value === cell.getValue()"
1509
+ >
1510
+ {{ option.title }}
1511
+ </option>
1446
1512
  }
1447
1513
  </select>
1448
- `,
1514
+ `,
1515
+ standalone: true,
1516
+ imports: [FormsModule],
1449
1517
  }]
1450
1518
  }], ctorParameters: () => [] });
1451
1519
 
@@ -1453,34 +1521,38 @@ class TextareaEditorComponent extends DefaultEditor {
1453
1521
  constructor() {
1454
1522
  super();
1455
1523
  }
1456
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextareaEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1457
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextareaEditorComponent, selector: "textarea-editor", usesInheritance: true, ngImport: i0, template: `
1458
- <textarea [ngClass]="inputClass"
1459
- class="form-control"
1460
- [(ngModel)]="cell.newValue"
1461
- [name]="cell.getId()"
1462
- [disabled]="!cell.isEditable()"
1463
- [placeholder]="cell.getTitle()"
1464
- (click)="onClick.emit($event)"
1465
- (keydown.enter)="onEdited.emit($event)"
1466
- (keydown.esc)="onStopEditing.emit()">
1524
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TextareaEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1525
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: TextareaEditorComponent, isStandalone: true, selector: "textarea-editor", usesInheritance: true, ngImport: i0, template: `
1526
+ <textarea
1527
+ [class]="inputClass"
1528
+ class="form-control"
1529
+ [(ngModel)]="cell.newValue"
1530
+ [name]="cell.getId()"
1531
+ [disabled]="!cell.isEditable()"
1532
+ [placeholder]="cell.getTitle()"
1533
+ (click)="onClick.emit($event)"
1534
+ (keydown.enter)="onEdited.emit($event)"
1535
+ (keydown.esc)="onStopEditing.emit('')"
1536
+ >
1467
1537
  </textarea>
1468
- `, isInline: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
1538
+ `, isInline: true, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
1469
1539
  }
1470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextareaEditorComponent, decorators: [{
1540
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TextareaEditorComponent, decorators: [{
1471
1541
  type: Component,
1472
- args: [{ selector: 'textarea-editor', template: `
1473
- <textarea [ngClass]="inputClass"
1474
- class="form-control"
1475
- [(ngModel)]="cell.newValue"
1476
- [name]="cell.getId()"
1477
- [disabled]="!cell.isEditable()"
1478
- [placeholder]="cell.getTitle()"
1479
- (click)="onClick.emit($event)"
1480
- (keydown.enter)="onEdited.emit($event)"
1481
- (keydown.esc)="onStopEditing.emit()">
1542
+ args: [{ selector: "textarea-editor", template: `
1543
+ <textarea
1544
+ [class]="inputClass"
1545
+ class="form-control"
1546
+ [(ngModel)]="cell.newValue"
1547
+ [name]="cell.getId()"
1548
+ [disabled]="!cell.isEditable()"
1549
+ [placeholder]="cell.getTitle()"
1550
+ (click)="onClick.emit($event)"
1551
+ (keydown.enter)="onEdited.emit($event)"
1552
+ (keydown.esc)="onStopEditing.emit('')"
1553
+ >
1482
1554
  </textarea>
1483
- `, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
1555
+ `, standalone: true, imports: [FormsModule], styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
1484
1556
  }], ctorParameters: () => [] });
1485
1557
 
1486
1558
  class DefaultEditComponent extends EditCellDefault {
@@ -1492,23 +1564,28 @@ class DefaultEditComponent extends EditCellDefault {
1492
1564
  if (editor) {
1493
1565
  return editor.type;
1494
1566
  }
1495
- return 'text';
1567
+ return "text";
1496
1568
  }
1497
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1498
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DefaultEditComponent, selector: "table-cell-default-editor", usesInheritance: true, ngImport: i0, template: "<div>\n @switch (getEditorType()) {\n @case ('list') {\n <select-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </select-editor>\n }\n @case ('textarea') {\n <textarea-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </textarea-editor>\n }\n @case ('checkbox') {\n <checkbox-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\">\n </checkbox-editor>\n }\n @default {\n <input-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </input-editor>\n }\n}\n</div>", dependencies: [{ kind: "component", type: CheckboxEditorComponent, selector: "checkbox-editor" }, { kind: "component", type: InputEditorComponent, selector: "input-editor" }, { kind: "component", type: SelectEditorComponent, selector: "select-editor" }, { kind: "component", type: TextareaEditorComponent, selector: "textarea-editor" }] }); }
1569
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1570
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: DefaultEditComponent, isStandalone: true, selector: "table-cell-default-editor", usesInheritance: true, ngImport: i0, template: "<div>\n @switch (getEditorType()) {\n @case ('list') {\n <select-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </select-editor>\n }\n @case ('textarea') {\n <textarea-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </textarea-editor>\n }\n @case ('checkbox') {\n <checkbox-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\">\n </checkbox-editor>\n }\n @default {\n <input-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </input-editor>\n }\n}\n</div>", dependencies: [{ kind: "component", type: SelectEditorComponent, selector: "select-editor" }, { kind: "component", type: TextareaEditorComponent, selector: "textarea-editor" }, { kind: "component", type: CheckboxEditorComponent, selector: "checkbox-editor" }, { kind: "component", type: InputEditorComponent, selector: "input-editor" }] }); }
1499
1571
  }
1500
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultEditComponent, decorators: [{
1572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultEditComponent, decorators: [{
1501
1573
  type: Component,
1502
- args: [{ selector: 'table-cell-default-editor', template: "<div>\n @switch (getEditorType()) {\n @case ('list') {\n <select-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </select-editor>\n }\n @case ('textarea') {\n <textarea-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </textarea-editor>\n }\n @case ('checkbox') {\n <checkbox-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\">\n </checkbox-editor>\n }\n @default {\n <input-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </input-editor>\n }\n}\n</div>" }]
1574
+ args: [{ selector: "table-cell-default-editor", imports: [
1575
+ SelectEditorComponent,
1576
+ TextareaEditorComponent,
1577
+ CheckboxEditorComponent,
1578
+ InputEditorComponent,
1579
+ ], standalone: true, template: "<div>\n @switch (getEditorType()) {\n @case ('list') {\n <select-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </select-editor>\n }\n @case ('textarea') {\n <textarea-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </textarea-editor>\n }\n @case ('checkbox') {\n <checkbox-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\">\n </checkbox-editor>\n }\n @default {\n <input-editor\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </input-editor>\n }\n}\n</div>" }]
1503
1580
  }], ctorParameters: () => [] });
1504
1581
 
1505
1582
  class EditCellComponent {
1506
1583
  constructor() {
1507
- this.inputClass = '';
1508
- this.edited = new EventEmitter();
1584
+ this.inputClass = "";
1585
+ this.edited = output();
1509
1586
  }
1510
1587
  onEdited(event) {
1511
- this.edited.next(event);
1588
+ this.edited.emit(event);
1512
1589
  return false;
1513
1590
  }
1514
1591
  getEditorType() {
@@ -1516,112 +1593,119 @@ class EditCellComponent {
1516
1593
  if (editor) {
1517
1594
  return editor.type;
1518
1595
  }
1519
- return 'text';
1520
- }
1521
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1522
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EditCellComponent, selector: "table-cell-edit-mode", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { edited: "edited" }, ngImport: i0, template: `
1523
- <div>
1524
- @switch (getEditorType()) {
1525
- @case ('custom') {
1526
- <table-cell-custom-editor
1527
- [cell]="cell"
1528
- [inputClass]="inputClass"
1529
- (edited)="onEdited($event)">
1530
- </table-cell-custom-editor>
1531
- }
1532
- @default {
1533
- <table-cell-default-editor
1534
- [cell]="cell"
1535
- [inputClass]="inputClass"
1536
- (edited)="onEdited($event)">
1537
- </table-cell-default-editor>
1538
- }
1539
- }
1540
- </div>
1541
- `, isInline: true, dependencies: [{ kind: "component", type: CustomEditComponent, selector: "table-cell-custom-editor" }, { kind: "component", type: DefaultEditComponent, selector: "table-cell-default-editor" }] }); }
1596
+ return "text";
1597
+ }
1598
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1599
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: EditCellComponent, isStandalone: true, selector: "table-cell-edit-mode", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { edited: "edited" }, ngImport: i0, template: `
1600
+ <div>
1601
+ @switch (getEditorType()) { @case ('custom') {
1602
+ <table-cell-custom-editor
1603
+ [cell]="cell"
1604
+ [inputClass]="inputClass"
1605
+ (edited)="onEdited($event)"
1606
+ >
1607
+ </table-cell-custom-editor>
1608
+ } @default {
1609
+ <table-cell-default-editor
1610
+ [cell]="cell"
1611
+ [inputClass]="inputClass"
1612
+ (edited)="onEdited($event)"
1613
+ >
1614
+ </table-cell-default-editor>
1615
+ } }
1616
+ </div>
1617
+ `, isInline: true, dependencies: [{ kind: "component", type: CustomEditComponent, selector: "table-cell-custom-editor" }, { kind: "component", type: DefaultEditComponent, selector: "table-cell-default-editor" }] }); }
1542
1618
  }
1543
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditCellComponent, decorators: [{
1619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EditCellComponent, decorators: [{
1544
1620
  type: Component,
1545
1621
  args: [{
1546
- selector: 'table-cell-edit-mode',
1622
+ selector: "table-cell-edit-mode",
1547
1623
  template: `
1548
- <div>
1549
- @switch (getEditorType()) {
1550
- @case ('custom') {
1551
- <table-cell-custom-editor
1552
- [cell]="cell"
1553
- [inputClass]="inputClass"
1554
- (edited)="onEdited($event)">
1555
- </table-cell-custom-editor>
1556
- }
1557
- @default {
1558
- <table-cell-default-editor
1559
- [cell]="cell"
1560
- [inputClass]="inputClass"
1561
- (edited)="onEdited($event)">
1562
- </table-cell-default-editor>
1563
- }
1564
- }
1565
- </div>
1566
- `,
1624
+ <div>
1625
+ @switch (getEditorType()) { @case ('custom') {
1626
+ <table-cell-custom-editor
1627
+ [cell]="cell"
1628
+ [inputClass]="inputClass"
1629
+ (edited)="onEdited($event)"
1630
+ >
1631
+ </table-cell-custom-editor>
1632
+ } @default {
1633
+ <table-cell-default-editor
1634
+ [cell]="cell"
1635
+ [inputClass]="inputClass"
1636
+ (edited)="onEdited($event)"
1637
+ >
1638
+ </table-cell-default-editor>
1639
+ } }
1640
+ </div>
1641
+ `,
1642
+ standalone: true,
1643
+ imports: [CustomEditComponent, DefaultEditComponent],
1567
1644
  }]
1568
1645
  }], propDecorators: { cell: [{
1569
1646
  type: Input
1570
1647
  }], inputClass: [{
1571
1648
  type: Input
1572
- }], edited: [{
1573
- type: Output
1574
1649
  }] } });
1575
1650
 
1576
1651
  class CustomViewComponent {
1577
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1578
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomViewComponent, selector: "custom-view-component", inputs: { cell: "cell" }, ngImport: i0, template: "<ng-template\n *ngComponentOutlet=\"\n cell.getColumn().renderComponent;\n inputs: { rowData: cell.getRow().getData(), value: cell.getValue() }\n \"\n></ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
1652
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1653
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: CustomViewComponent, isStandalone: true, selector: "custom-view-component", inputs: { cell: "cell" }, ngImport: i0, template: `<ng-template
1654
+ *ngComponentOutlet="
1655
+ cell.getColumn().renderComponent;
1656
+ inputs: { rowData: cell.getRow().getData(), value: cell.getValue() }
1657
+ "
1658
+ ></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
1579
1659
  }
1580
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomViewComponent, decorators: [{
1660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomViewComponent, decorators: [{
1581
1661
  type: Component,
1582
- args: [{ selector: "custom-view-component", template: "<ng-template\n *ngComponentOutlet=\"\n cell.getColumn().renderComponent;\n inputs: { rowData: cell.getRow().getData(), value: cell.getValue() }\n \"\n></ng-template>\n" }]
1662
+ args: [{
1663
+ selector: "custom-view-component",
1664
+ template: `<ng-template
1665
+ *ngComponentOutlet="
1666
+ cell.getColumn().renderComponent;
1667
+ inputs: { rowData: cell.getRow().getData(), value: cell.getValue() }
1668
+ "
1669
+ ></ng-template>`,
1670
+ imports: [NgComponentOutlet],
1671
+ standalone: true,
1672
+ }]
1583
1673
  }], propDecorators: { cell: [{
1584
1674
  type: Input
1585
1675
  }] } });
1586
1676
 
1587
1677
  class ViewCellComponent {
1588
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1589
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ViewCellComponent, selector: "table-cell-view-mode", inputs: { cell: "cell" }, ngImport: i0, template: `
1678
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ViewCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1679
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ViewCellComponent, isStandalone: true, selector: "table-cell-view-mode", inputs: { cell: "cell" }, ngImport: i0, template: `
1590
1680
  <div>
1591
- @switch (cell.getColumn().type) {
1592
- @case ('custom') {
1593
- <custom-view-component [cell]="cell"></custom-view-component>
1594
- }
1595
- @case ('html') {
1596
- <div [innerHTML]="cell.getValue()"></div>
1597
- }
1598
- @default {
1599
- <div>{{ cell.getValue() }}</div>
1600
- }
1601
- }
1681
+ @switch (cell.getColumn().type) { @case ('custom') {
1682
+ <custom-view-component [cell]="cell"></custom-view-component>
1683
+ } @case ('html') {
1684
+ <div [innerHTML]="cell.getValue()"></div>
1685
+ } @default {
1686
+ <div>{{ cell.getValue() }}</div>
1687
+ } }
1602
1688
  </div>
1603
- `, isInline: true, dependencies: [{ kind: "component", type: CustomViewComponent, selector: "custom-view-component", inputs: ["cell"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1689
+ `, isInline: true, dependencies: [{ kind: "component", type: CustomViewComponent, selector: "custom-view-component", inputs: ["cell"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1604
1690
  }
1605
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewCellComponent, decorators: [{
1691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ViewCellComponent, decorators: [{
1606
1692
  type: Component,
1607
1693
  args: [{
1608
- selector: 'table-cell-view-mode',
1694
+ selector: "table-cell-view-mode",
1609
1695
  changeDetection: ChangeDetectionStrategy.OnPush,
1610
1696
  template: `
1611
1697
  <div>
1612
- @switch (cell.getColumn().type) {
1613
- @case ('custom') {
1614
- <custom-view-component [cell]="cell"></custom-view-component>
1615
- }
1616
- @case ('html') {
1617
- <div [innerHTML]="cell.getValue()"></div>
1618
- }
1619
- @default {
1620
- <div>{{ cell.getValue() }}</div>
1621
- }
1622
- }
1698
+ @switch (cell.getColumn().type) { @case ('custom') {
1699
+ <custom-view-component [cell]="cell"></custom-view-component>
1700
+ } @case ('html') {
1701
+ <div [innerHTML]="cell.getValue()"></div>
1702
+ } @default {
1703
+ <div>{{ cell.getValue() }}</div>
1704
+ } }
1623
1705
  </div>
1624
- `,
1706
+ `,
1707
+ standalone: true,
1708
+ imports: [CustomViewComponent],
1625
1709
  }]
1626
1710
  }], propDecorators: { cell: [{
1627
1711
  type: Input
@@ -1629,10 +1713,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1629
1713
 
1630
1714
  class CellComponent {
1631
1715
  constructor() {
1632
- this.inputClass = '';
1633
- this.mode = 'inline';
1716
+ this.inputClass = "";
1717
+ this.mode = "inline";
1634
1718
  this.isInEditing = false;
1635
- this.edited = new EventEmitter();
1719
+ this.edited = output();
1636
1720
  }
1637
1721
  onEdited(event) {
1638
1722
  if (this.isNew) {
@@ -1642,34 +1726,38 @@ class CellComponent {
1642
1726
  this.grid.save(this.row, this.editConfirm);
1643
1727
  }
1644
1728
  }
1645
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1646
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CellComponent, selector: "ng2-smart-table-cell", inputs: { grid: "grid", row: "row", editConfirm: "editConfirm", createConfirm: "createConfirm", isNew: "isNew", cell: "cell", inputClass: "inputClass", mode: "mode", isInEditing: "isInEditing" }, outputs: { edited: "edited" }, ngImport: i0, template: `
1729
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1730
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: CellComponent, isStandalone: true, selector: "ng2-smart-table-cell", inputs: { grid: "grid", row: "row", editConfirm: "editConfirm", createConfirm: "createConfirm", isNew: "isNew", cell: "cell", inputClass: "inputClass", mode: "mode", isInEditing: "isInEditing" }, outputs: { edited: "edited" }, ngImport: i0, template: `
1647
1731
  @if (!isInEditing) {
1648
- <table-cell-view-mode [cell]="cell"></table-cell-view-mode>
1649
- }
1650
- @if (isInEditing) {
1651
- <table-cell-edit-mode [cell]="cell"
1652
- [inputClass]="inputClass"
1653
- (edited)="onEdited($event)">
1654
- </table-cell-edit-mode>
1655
- }
1656
- `, isInline: true, dependencies: [{ kind: "component", type: EditCellComponent, selector: "table-cell-edit-mode", inputs: ["cell", "inputClass"], outputs: ["edited"] }, { kind: "component", type: ViewCellComponent, selector: "table-cell-view-mode", inputs: ["cell"] }] }); }
1732
+ <table-cell-view-mode [cell]="cell"></table-cell-view-mode>
1733
+ } @else {
1734
+ <table-cell-edit-mode
1735
+ [cell]="cell"
1736
+ [inputClass]="inputClass"
1737
+ (edited)="onEdited($event)"
1738
+ >
1739
+ </table-cell-edit-mode>
1740
+ }
1741
+ `, isInline: true, dependencies: [{ kind: "component", type: ViewCellComponent, selector: "table-cell-view-mode", inputs: ["cell"] }, { kind: "component", type: EditCellComponent, selector: "table-cell-edit-mode", inputs: ["cell", "inputClass"], outputs: ["edited"] }] }); }
1657
1742
  }
1658
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellComponent, decorators: [{
1743
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CellComponent, decorators: [{
1659
1744
  type: Component,
1660
1745
  args: [{
1661
- selector: 'ng2-smart-table-cell',
1746
+ selector: "ng2-smart-table-cell",
1662
1747
  template: `
1663
1748
  @if (!isInEditing) {
1664
- <table-cell-view-mode [cell]="cell"></table-cell-view-mode>
1665
- }
1666
- @if (isInEditing) {
1667
- <table-cell-edit-mode [cell]="cell"
1668
- [inputClass]="inputClass"
1669
- (edited)="onEdited($event)">
1670
- </table-cell-edit-mode>
1749
+ <table-cell-view-mode [cell]="cell"></table-cell-view-mode>
1750
+ } @else {
1751
+ <table-cell-edit-mode
1752
+ [cell]="cell"
1753
+ [inputClass]="inputClass"
1754
+ (edited)="onEdited($event)"
1755
+ >
1756
+ </table-cell-edit-mode>
1671
1757
  }
1672
- `,
1758
+ `,
1759
+ standalone: true,
1760
+ imports: [ViewCellComponent, EditCellComponent],
1673
1761
  }]
1674
1762
  }], propDecorators: { grid: [{
1675
1763
  type: Input
@@ -1689,8 +1777,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1689
1777
  type: Input
1690
1778
  }], isInEditing: [{
1691
1779
  type: Input
1692
- }], edited: [{
1693
- type: Output
1694
1780
  }] } });
1695
1781
 
1696
1782
  class TbodyCreateCancelComponent {
@@ -1713,166 +1799,167 @@ class TbodyCreateCancelComponent {
1713
1799
  this.saveButtonContent = this.grid.getSetting("edit.saveButtonContent", "save");
1714
1800
  this.cancelButtonContent = this.grid.getSetting("edit.cancelButtonContent", "cancel");
1715
1801
  }
1716
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TbodyCreateCancelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1717
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TbodyCreateCancelComponent, selector: "ng2-st-tbody-create-cancel", inputs: { grid: "grid", row: "row", editConfirm: "editConfirm", editCancel: "editCancel" }, usesOnChanges: true, ngImport: i0, template: `
1802
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCreateCancelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1803
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TbodyCreateCancelComponent, isStandalone: true, selector: "ng2-st-tbody-create-cancel", inputs: { grid: "grid", row: "row", editConfirm: "editConfirm", editCancel: "editCancel" }, usesOnChanges: true, ngImport: i0, template: `
1718
1804
  @if (!row.pending) {
1719
- <a
1720
- href="#"
1721
- [id]="'row-' + row.index + '_editing-confirm-button'"
1722
- class="ng2-smart-action ng2-smart-action-edit-save"
1723
- [innerHTML]="saveButtonContent"
1724
- (click)="onSave($event)"
1725
- ></a>
1726
- <a
1727
- href="#"
1728
- [id]="'row-' + row.index + '_editing-cancel-button'"
1729
- class="ng2-smart-action ng2-smart-action-edit-cancel"
1730
- [innerHTML]="cancelButtonContent"
1731
- (click)="onCancelEdit($event)"
1732
- ></a>
1805
+ <a
1806
+ href="#"
1807
+ [id]="'row-' + row.index + '_editing-confirm-button'"
1808
+ class="ng2-smart-action ng2-smart-action-edit-save"
1809
+ [innerHTML]="saveButtonContent"
1810
+ (click)="onSave($event)"
1811
+ ></a>
1812
+ <a
1813
+ href="#"
1814
+ [id]="'row-' + row.index + '_editing-cancel-button'"
1815
+ class="ng2-smart-action ng2-smart-action-edit-cancel"
1816
+ [innerHTML]="cancelButtonContent"
1817
+ (click)="onCancelEdit($event)"
1818
+ ></a>
1733
1819
  } @else {
1734
- <div style="display: flex;">
1735
- <svg
1736
- (click)="$event.stopPropagation()"
1737
- style="height: 2rem; width: 2rem;"
1738
- version="1.1"
1739
- id="L9"
1740
- xmlns="http://www.w3.org/2000/svg"
1741
- xmlns:xlink="http://www.w3.org/1999/xlink"
1742
- x="0px"
1743
- y="0px"
1744
- viewBox="0 0 100 100"
1745
- enable-background="new 0 0 0 0"
1746
- xml:space="preserve"
1747
- >
1748
- <path
1749
- fill="#e9e9e9"
1750
- d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
1751
- >
1752
- <animateTransform
1753
- attributeName="transform"
1754
- attributeType="XML"
1755
- type="rotate"
1756
- dur="1s"
1757
- from="0 50 50"
1758
- to="360 50 50"
1759
- repeatCount="indefinite"
1760
- />
1761
- </path>
1762
- </svg>
1763
- <svg
1764
- (click)="$event.stopPropagation()"
1765
- style="height: 2rem; width: 2rem; "
1766
- version="1.1"
1767
- id="L9"
1768
- xmlns="http://www.w3.org/2000/svg"
1769
- xmlns:xlink="http://www.w3.org/1999/xlink"
1770
- x="0px"
1771
- y="0px"
1772
- viewBox="0 0 100 100"
1773
- enable-background="new 0 0 0 0"
1774
- xml:space="preserve"
1775
- >
1776
- <path
1777
- fill="#e9e9e9"
1778
- d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
1779
- >
1780
- <animateTransform
1781
- attributeName="transform"
1782
- attributeType="XML"
1783
- type="rotate"
1784
- dur="1s"
1785
- from="0 50 50"
1786
- to="360 50 50"
1787
- repeatCount="indefinite"
1788
- />
1789
- </path>
1790
- </svg>
1791
- </div>
1792
- }
1793
- `, isInline: true }); }
1820
+ <div style="display: flex;">
1821
+ <svg
1822
+ (click)="$event.stopPropagation()"
1823
+ style="height: 2rem; width: 2rem;"
1824
+ version="1.1"
1825
+ id="L9"
1826
+ xmlns="http://www.w3.org/2000/svg"
1827
+ xmlns:xlink="http://www.w3.org/1999/xlink"
1828
+ x="0px"
1829
+ y="0px"
1830
+ viewBox="0 0 100 100"
1831
+ enable-background="new 0 0 0 0"
1832
+ xml:space="preserve"
1833
+ >
1834
+ <path
1835
+ fill="#e9e9e9"
1836
+ d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
1837
+ >
1838
+ <animateTransform
1839
+ attributeName="transform"
1840
+ attributeType="XML"
1841
+ type="rotate"
1842
+ dur="1s"
1843
+ from="0 50 50"
1844
+ to="360 50 50"
1845
+ repeatCount="indefinite"
1846
+ />
1847
+ </path>
1848
+ </svg>
1849
+ <svg
1850
+ (click)="$event.stopPropagation()"
1851
+ style="height: 2rem; width: 2rem; "
1852
+ version="1.1"
1853
+ id="L9"
1854
+ xmlns="http://www.w3.org/2000/svg"
1855
+ xmlns:xlink="http://www.w3.org/1999/xlink"
1856
+ x="0px"
1857
+ y="0px"
1858
+ viewBox="0 0 100 100"
1859
+ enable-background="new 0 0 0 0"
1860
+ xml:space="preserve"
1861
+ >
1862
+ <path
1863
+ fill="#e9e9e9"
1864
+ d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
1865
+ >
1866
+ <animateTransform
1867
+ attributeName="transform"
1868
+ attributeType="XML"
1869
+ type="rotate"
1870
+ dur="1s"
1871
+ from="0 50 50"
1872
+ to="360 50 50"
1873
+ repeatCount="indefinite"
1874
+ />
1875
+ </path>
1876
+ </svg>
1877
+ </div>
1878
+ }
1879
+ `, isInline: true }); }
1794
1880
  }
1795
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TbodyCreateCancelComponent, decorators: [{
1881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCreateCancelComponent, decorators: [{
1796
1882
  type: Component,
1797
1883
  args: [{
1798
1884
  selector: "ng2-st-tbody-create-cancel",
1799
1885
  template: `
1800
1886
  @if (!row.pending) {
1801
- <a
1802
- href="#"
1803
- [id]="'row-' + row.index + '_editing-confirm-button'"
1804
- class="ng2-smart-action ng2-smart-action-edit-save"
1805
- [innerHTML]="saveButtonContent"
1806
- (click)="onSave($event)"
1807
- ></a>
1808
- <a
1809
- href="#"
1810
- [id]="'row-' + row.index + '_editing-cancel-button'"
1811
- class="ng2-smart-action ng2-smart-action-edit-cancel"
1812
- [innerHTML]="cancelButtonContent"
1813
- (click)="onCancelEdit($event)"
1814
- ></a>
1887
+ <a
1888
+ href="#"
1889
+ [id]="'row-' + row.index + '_editing-confirm-button'"
1890
+ class="ng2-smart-action ng2-smart-action-edit-save"
1891
+ [innerHTML]="saveButtonContent"
1892
+ (click)="onSave($event)"
1893
+ ></a>
1894
+ <a
1895
+ href="#"
1896
+ [id]="'row-' + row.index + '_editing-cancel-button'"
1897
+ class="ng2-smart-action ng2-smart-action-edit-cancel"
1898
+ [innerHTML]="cancelButtonContent"
1899
+ (click)="onCancelEdit($event)"
1900
+ ></a>
1815
1901
  } @else {
1816
- <div style="display: flex;">
1817
- <svg
1818
- (click)="$event.stopPropagation()"
1819
- style="height: 2rem; width: 2rem;"
1820
- version="1.1"
1821
- id="L9"
1822
- xmlns="http://www.w3.org/2000/svg"
1823
- xmlns:xlink="http://www.w3.org/1999/xlink"
1824
- x="0px"
1825
- y="0px"
1826
- viewBox="0 0 100 100"
1827
- enable-background="new 0 0 0 0"
1828
- xml:space="preserve"
1829
- >
1830
- <path
1831
- fill="#e9e9e9"
1832
- d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
1833
- >
1834
- <animateTransform
1835
- attributeName="transform"
1836
- attributeType="XML"
1837
- type="rotate"
1838
- dur="1s"
1839
- from="0 50 50"
1840
- to="360 50 50"
1841
- repeatCount="indefinite"
1842
- />
1843
- </path>
1844
- </svg>
1845
- <svg
1846
- (click)="$event.stopPropagation()"
1847
- style="height: 2rem; width: 2rem; "
1848
- version="1.1"
1849
- id="L9"
1850
- xmlns="http://www.w3.org/2000/svg"
1851
- xmlns:xlink="http://www.w3.org/1999/xlink"
1852
- x="0px"
1853
- y="0px"
1854
- viewBox="0 0 100 100"
1855
- enable-background="new 0 0 0 0"
1856
- xml:space="preserve"
1857
- >
1858
- <path
1859
- fill="#e9e9e9"
1860
- d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
1861
- >
1862
- <animateTransform
1863
- attributeName="transform"
1864
- attributeType="XML"
1865
- type="rotate"
1866
- dur="1s"
1867
- from="0 50 50"
1868
- to="360 50 50"
1869
- repeatCount="indefinite"
1870
- />
1871
- </path>
1872
- </svg>
1873
- </div>
1902
+ <div style="display: flex;">
1903
+ <svg
1904
+ (click)="$event.stopPropagation()"
1905
+ style="height: 2rem; width: 2rem;"
1906
+ version="1.1"
1907
+ id="L9"
1908
+ xmlns="http://www.w3.org/2000/svg"
1909
+ xmlns:xlink="http://www.w3.org/1999/xlink"
1910
+ x="0px"
1911
+ y="0px"
1912
+ viewBox="0 0 100 100"
1913
+ enable-background="new 0 0 0 0"
1914
+ xml:space="preserve"
1915
+ >
1916
+ <path
1917
+ fill="#e9e9e9"
1918
+ d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
1919
+ >
1920
+ <animateTransform
1921
+ attributeName="transform"
1922
+ attributeType="XML"
1923
+ type="rotate"
1924
+ dur="1s"
1925
+ from="0 50 50"
1926
+ to="360 50 50"
1927
+ repeatCount="indefinite"
1928
+ />
1929
+ </path>
1930
+ </svg>
1931
+ <svg
1932
+ (click)="$event.stopPropagation()"
1933
+ style="height: 2rem; width: 2rem; "
1934
+ version="1.1"
1935
+ id="L9"
1936
+ xmlns="http://www.w3.org/2000/svg"
1937
+ xmlns:xlink="http://www.w3.org/1999/xlink"
1938
+ x="0px"
1939
+ y="0px"
1940
+ viewBox="0 0 100 100"
1941
+ enable-background="new 0 0 0 0"
1942
+ xml:space="preserve"
1943
+ >
1944
+ <path
1945
+ fill="#e9e9e9"
1946
+ d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
1947
+ >
1948
+ <animateTransform
1949
+ attributeName="transform"
1950
+ attributeType="XML"
1951
+ type="rotate"
1952
+ dur="1s"
1953
+ from="0 50 50"
1954
+ to="360 50 50"
1955
+ repeatCount="indefinite"
1956
+ />
1957
+ </path>
1958
+ </svg>
1959
+ </div>
1874
1960
  }
1875
- `,
1961
+ `,
1962
+ standalone: true,
1876
1963
  }]
1877
1964
  }], propDecorators: { grid: [{
1878
1965
  type: Input
@@ -1884,11 +1971,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1884
1971
  type: Input
1885
1972
  }] } });
1886
1973
 
1974
+ class TbodyCustomComponent {
1975
+ constructor() {
1976
+ this.custom = output();
1977
+ }
1978
+ onCustom(action) {
1979
+ this.custom.emit({
1980
+ action: action.name,
1981
+ data: this.row.getData(),
1982
+ source: this.source,
1983
+ });
1984
+ }
1985
+ customActions() {
1986
+ return this.grid.getSetting("actions.custom");
1987
+ }
1988
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCustomComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1989
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TbodyCustomComponent, isStandalone: true, selector: "ng2-st-tbody-custom", inputs: { grid: "grid", row: "row", source: "source" }, outputs: { custom: "custom" }, ngImport: i0, template: `
1990
+ @for (action of customActions(); track $index) {
1991
+ <a
1992
+ [id]="'row-' + row.index + '_action-' + action.name + '-button'"
1993
+ href="#"
1994
+ class="ng2-smart-action ng2-smart-action-custom-custom"
1995
+ [innerHTML]="action.title"
1996
+ (click)="
1997
+ $event.stopPropagation(); $event.preventDefault(); onCustom(action)
1998
+ "
1999
+ ></a>
2000
+ }
2001
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2002
+ }
2003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyCustomComponent, decorators: [{
2004
+ type: Component,
2005
+ args: [{
2006
+ selector: "ng2-st-tbody-custom",
2007
+ changeDetection: ChangeDetectionStrategy.OnPush,
2008
+ template: `
2009
+ @for (action of customActions(); track $index) {
2010
+ <a
2011
+ [id]="'row-' + row.index + '_action-' + action.name + '-button'"
2012
+ href="#"
2013
+ class="ng2-smart-action ng2-smart-action-custom-custom"
2014
+ [innerHTML]="action.title"
2015
+ (click)="
2016
+ $event.stopPropagation(); $event.preventDefault(); onCustom(action)
2017
+ "
2018
+ ></a>
2019
+ }
2020
+ `,
2021
+ standalone: true,
2022
+ }]
2023
+ }], propDecorators: { grid: [{
2024
+ type: Input
2025
+ }], row: [{
2026
+ type: Input
2027
+ }], source: [{
2028
+ type: Input
2029
+ }] } });
2030
+
1887
2031
  class TbodyEditDeleteComponent {
1888
2032
  constructor() {
1889
- this.edit = new EventEmitter();
1890
- this.delete = new EventEmitter();
1891
- this.editRowSelect = new EventEmitter();
2033
+ this.edit = output();
2034
+ this.delete = output();
2035
+ this.editRowSelect = output();
1892
2036
  this.isActionEdit = false;
1893
2037
  this.isActionDelete = false;
1894
2038
  this.editRowButtonContent = "";
@@ -1925,182 +2069,175 @@ class TbodyEditDeleteComponent {
1925
2069
  this.editRowButtonContent = this.grid.getSetting("edit.editButtonContent");
1926
2070
  this.deleteRowButtonContent = this.grid.getSetting("delete.deleteButtonContent");
1927
2071
  }
1928
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TbodyEditDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1929
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TbodyEditDeleteComponent, selector: "ng2-st-tbody-edit-delete", inputs: { grid: "grid", row: "row", source: "source", deleteConfirm: "deleteConfirm", editConfirm: "editConfirm" }, outputs: { edit: "edit", delete: "delete", editRowSelect: "editRowSelect" }, usesOnChanges: true, ngImport: i0, template: `
1930
- @if (!row.pending) {
2072
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyEditDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2073
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TbodyEditDeleteComponent, isStandalone: true, selector: "ng2-st-tbody-edit-delete", inputs: { grid: "grid", row: "row", source: "source", deleteConfirm: "deleteConfirm", editConfirm: "editConfirm" }, outputs: { edit: "edit", delete: "delete", editRowSelect: "editRowSelect" }, usesOnChanges: true, ngImport: i0, template: `
2074
+ @if (!row.pending) { @if (isActionEdit) {
2075
+ <a
2076
+ href="#"
2077
+ [id]="'row-' + row.index + '_action-edit-button'"
2078
+ class="ng2-smart-action ng2-smart-action-edit-edit"
2079
+ [innerHTML]="editRowButtonContent"
2080
+ (click)="onEdit($event)"
2081
+ ></a>
2082
+ } @if (isActionDelete) {
2083
+ <a
2084
+ href="#"
2085
+ [id]="'row-' + row.index + '_action-delete-button'"
2086
+ class="ng2-smart-action ng2-smart-action-delete-delete"
2087
+ [innerHTML]="deleteRowButtonContent"
2088
+ (click)="onDelete($event)"
2089
+ ></a>
2090
+ } } @else {
2091
+ <div style="display: flex;">
1931
2092
  @if (isActionEdit) {
1932
- <a
1933
- href="#"
1934
- [id]="'row-' + row.index + '_action-edit-button'"
1935
- class="ng2-smart-action ng2-smart-action-edit-edit"
1936
- [innerHTML]="editRowButtonContent"
1937
- (click)="onEdit($event)"
1938
- ></a>
1939
- }
1940
- @if (isActionDelete) {
1941
- <a
1942
- href="#"
1943
- [id]="'row-' + row.index + '_action-delete-button'"
1944
- class="ng2-smart-action ng2-smart-action-delete-delete"
1945
- [innerHTML]="deleteRowButtonContent"
1946
- (click)="onDelete($event)"
1947
- ></a>
2093
+ <svg
2094
+ (click)="$event.stopPropagation()"
2095
+ style="height: 2rem; width: 2rem;"
2096
+ version="1.1"
2097
+ id="L9"
2098
+ xmlns="http://www.w3.org/2000/svg"
2099
+ xmlns:xlink="http://www.w3.org/1999/xlink"
2100
+ x="0px"
2101
+ y="0px"
2102
+ viewBox="0 0 100 100"
2103
+ enable-background="new 0 0 0 0"
2104
+ xml:space="preserve"
2105
+ >
2106
+ <path
2107
+ fill="#e9e9e9"
2108
+ d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
2109
+ >
2110
+ <animateTransform
2111
+ attributeName="transform"
2112
+ attributeType="XML"
2113
+ type="rotate"
2114
+ dur="1s"
2115
+ from="0 50 50"
2116
+ to="360 50 50"
2117
+ repeatCount="indefinite"
2118
+ />
2119
+ </path>
2120
+ </svg>
2121
+ } @if (isActionDelete) {
2122
+ <svg
2123
+ (click)="$event.stopPropagation()"
2124
+ style="height: 2rem; width: 2rem;"
2125
+ version="1.1"
2126
+ id="L9"
2127
+ xmlns="http://www.w3.org/2000/svg"
2128
+ xmlns:xlink="http://www.w3.org/1999/xlink"
2129
+ x="0px"
2130
+ y="0px"
2131
+ viewBox="0 0 100 100"
2132
+ enable-background="new 0 0 0 0"
2133
+ xml:space="preserve"
2134
+ >
2135
+ <path
2136
+ fill="#e9e9e9"
2137
+ d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
2138
+ >
2139
+ <animateTransform
2140
+ attributeName="transform"
2141
+ attributeType="XML"
2142
+ type="rotate"
2143
+ dur="1s"
2144
+ from="0 50 50"
2145
+ to="360 50 50"
2146
+ repeatCount="indefinite"
2147
+ />
2148
+ </path>
2149
+ </svg>
1948
2150
  }
1949
- } @else {
1950
- <div style="display: flex;">
1951
- @if (isActionEdit) {
1952
- <svg
1953
- (click)="$event.stopPropagation()"
1954
- style="height: 2rem; width: 2rem;"
1955
- version="1.1"
1956
- id="L9"
1957
- xmlns="http://www.w3.org/2000/svg"
1958
- xmlns:xlink="http://www.w3.org/1999/xlink"
1959
- x="0px"
1960
- y="0px"
1961
- viewBox="0 0 100 100"
1962
- enable-background="new 0 0 0 0"
1963
- xml:space="preserve"
1964
- >
1965
- <path
1966
- fill="#e9e9e9"
1967
- d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
1968
- >
1969
- <animateTransform
1970
- attributeName="transform"
1971
- attributeType="XML"
1972
- type="rotate"
1973
- dur="1s"
1974
- from="0 50 50"
1975
- to="360 50 50"
1976
- repeatCount="indefinite"
1977
- />
1978
- </path>
1979
- </svg>
1980
- }
1981
- @if (isActionDelete) {
1982
- <svg
1983
- (click)="$event.stopPropagation()"
1984
- style="height: 2rem; width: 2rem;"
1985
- version="1.1"
1986
- id="L9"
1987
- xmlns="http://www.w3.org/2000/svg"
1988
- xmlns:xlink="http://www.w3.org/1999/xlink"
1989
- x="0px"
1990
- y="0px"
1991
- viewBox="0 0 100 100"
1992
- enable-background="new 0 0 0 0"
1993
- xml:space="preserve"
1994
- >
1995
- <path
1996
- fill="#e9e9e9"
1997
- d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
1998
- >
1999
- <animateTransform
2000
- attributeName="transform"
2001
- attributeType="XML"
2002
- type="rotate"
2003
- dur="1s"
2004
- from="0 50 50"
2005
- to="360 50 50"
2006
- repeatCount="indefinite"
2007
- />
2008
- </path>
2009
- </svg>
2010
- }
2011
- </div>
2012
- }
2013
- `, isInline: true }); }
2151
+ </div>
2152
+ }
2153
+ `, isInline: true }); }
2014
2154
  }
2015
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TbodyEditDeleteComponent, decorators: [{
2155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TbodyEditDeleteComponent, decorators: [{
2016
2156
  type: Component,
2017
2157
  args: [{
2018
2158
  selector: "ng2-st-tbody-edit-delete",
2019
2159
  template: `
2020
- @if (!row.pending) {
2160
+ @if (!row.pending) { @if (isActionEdit) {
2161
+ <a
2162
+ href="#"
2163
+ [id]="'row-' + row.index + '_action-edit-button'"
2164
+ class="ng2-smart-action ng2-smart-action-edit-edit"
2165
+ [innerHTML]="editRowButtonContent"
2166
+ (click)="onEdit($event)"
2167
+ ></a>
2168
+ } @if (isActionDelete) {
2169
+ <a
2170
+ href="#"
2171
+ [id]="'row-' + row.index + '_action-delete-button'"
2172
+ class="ng2-smart-action ng2-smart-action-delete-delete"
2173
+ [innerHTML]="deleteRowButtonContent"
2174
+ (click)="onDelete($event)"
2175
+ ></a>
2176
+ } } @else {
2177
+ <div style="display: flex;">
2021
2178
  @if (isActionEdit) {
2022
- <a
2023
- href="#"
2024
- [id]="'row-' + row.index + '_action-edit-button'"
2025
- class="ng2-smart-action ng2-smart-action-edit-edit"
2026
- [innerHTML]="editRowButtonContent"
2027
- (click)="onEdit($event)"
2028
- ></a>
2029
- }
2030
- @if (isActionDelete) {
2031
- <a
2032
- href="#"
2033
- [id]="'row-' + row.index + '_action-delete-button'"
2034
- class="ng2-smart-action ng2-smart-action-delete-delete"
2035
- [innerHTML]="deleteRowButtonContent"
2036
- (click)="onDelete($event)"
2037
- ></a>
2179
+ <svg
2180
+ (click)="$event.stopPropagation()"
2181
+ style="height: 2rem; width: 2rem;"
2182
+ version="1.1"
2183
+ id="L9"
2184
+ xmlns="http://www.w3.org/2000/svg"
2185
+ xmlns:xlink="http://www.w3.org/1999/xlink"
2186
+ x="0px"
2187
+ y="0px"
2188
+ viewBox="0 0 100 100"
2189
+ enable-background="new 0 0 0 0"
2190
+ xml:space="preserve"
2191
+ >
2192
+ <path
2193
+ fill="#e9e9e9"
2194
+ d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
2195
+ >
2196
+ <animateTransform
2197
+ attributeName="transform"
2198
+ attributeType="XML"
2199
+ type="rotate"
2200
+ dur="1s"
2201
+ from="0 50 50"
2202
+ to="360 50 50"
2203
+ repeatCount="indefinite"
2204
+ />
2205
+ </path>
2206
+ </svg>
2207
+ } @if (isActionDelete) {
2208
+ <svg
2209
+ (click)="$event.stopPropagation()"
2210
+ style="height: 2rem; width: 2rem;"
2211
+ version="1.1"
2212
+ id="L9"
2213
+ xmlns="http://www.w3.org/2000/svg"
2214
+ xmlns:xlink="http://www.w3.org/1999/xlink"
2215
+ x="0px"
2216
+ y="0px"
2217
+ viewBox="0 0 100 100"
2218
+ enable-background="new 0 0 0 0"
2219
+ xml:space="preserve"
2220
+ >
2221
+ <path
2222
+ fill="#e9e9e9"
2223
+ d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
2224
+ >
2225
+ <animateTransform
2226
+ attributeName="transform"
2227
+ attributeType="XML"
2228
+ type="rotate"
2229
+ dur="1s"
2230
+ from="0 50 50"
2231
+ to="360 50 50"
2232
+ repeatCount="indefinite"
2233
+ />
2234
+ </path>
2235
+ </svg>
2038
2236
  }
2039
- } @else {
2040
- <div style="display: flex;">
2041
- @if (isActionEdit) {
2042
- <svg
2043
- (click)="$event.stopPropagation()"
2044
- style="height: 2rem; width: 2rem;"
2045
- version="1.1"
2046
- id="L9"
2047
- xmlns="http://www.w3.org/2000/svg"
2048
- xmlns:xlink="http://www.w3.org/1999/xlink"
2049
- x="0px"
2050
- y="0px"
2051
- viewBox="0 0 100 100"
2052
- enable-background="new 0 0 0 0"
2053
- xml:space="preserve"
2054
- >
2055
- <path
2056
- fill="#e9e9e9"
2057
- d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
2058
- >
2059
- <animateTransform
2060
- attributeName="transform"
2061
- attributeType="XML"
2062
- type="rotate"
2063
- dur="1s"
2064
- from="0 50 50"
2065
- to="360 50 50"
2066
- repeatCount="indefinite"
2067
- />
2068
- </path>
2069
- </svg>
2070
- }
2071
- @if (isActionDelete) {
2072
- <svg
2073
- (click)="$event.stopPropagation()"
2074
- style="height: 2rem; width: 2rem;"
2075
- version="1.1"
2076
- id="L9"
2077
- xmlns="http://www.w3.org/2000/svg"
2078
- xmlns:xlink="http://www.w3.org/1999/xlink"
2079
- x="0px"
2080
- y="0px"
2081
- viewBox="0 0 100 100"
2082
- enable-background="new 0 0 0 0"
2083
- xml:space="preserve"
2084
- >
2085
- <path
2086
- fill="#e9e9e9"
2087
- d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"
2088
- >
2089
- <animateTransform
2090
- attributeName="transform"
2091
- attributeType="XML"
2092
- type="rotate"
2093
- dur="1s"
2094
- from="0 50 50"
2095
- to="360 50 50"
2096
- repeatCount="indefinite"
2097
- />
2098
- </path>
2099
- </svg>
2100
- }
2101
- </div>
2237
+ </div>
2102
2238
  }
2103
- `,
2239
+ `,
2240
+ standalone: true,
2104
2241
  }]
2105
2242
  }], propDecorators: { grid: [{
2106
2243
  type: Input
@@ -2112,87 +2249,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2112
2249
  type: Input
2113
2250
  }], editConfirm: [{
2114
2251
  type: Input
2115
- }], edit: [{
2116
- type: Output
2117
- }], delete: [{
2118
- type: Output
2119
- }], editRowSelect: [{
2120
- type: Output
2121
- }] } });
2122
-
2123
- class TbodyCustomComponent {
2124
- constructor() {
2125
- this.custom = new EventEmitter();
2126
- }
2127
- onCustom(action) {
2128
- this.custom.emit({
2129
- action: action.name,
2130
- data: this.row.getData(),
2131
- source: this.source,
2132
- });
2133
- }
2134
- customActions() {
2135
- return this.grid.getSetting("actions.custom");
2136
- }
2137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TbodyCustomComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2138
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TbodyCustomComponent, selector: "ng2-st-tbody-custom", inputs: { grid: "grid", row: "row", source: "source" }, outputs: { custom: "custom" }, ngImport: i0, template: `
2139
- @for (action of customActions(); track $index) {
2140
- <a
2141
- [id]="'row-' + row.index + '_action-' + action.name + '-button'"
2142
- href="#"
2143
- class="ng2-smart-action ng2-smart-action-custom-custom"
2144
- [innerHTML]="action.title"
2145
- (click)="$event.stopPropagation(); $event.preventDefault(); onCustom(action)"
2146
- ></a>
2147
- }
2148
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2149
- }
2150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TbodyCustomComponent, decorators: [{
2151
- type: Component,
2152
- args: [{
2153
- selector: "ng2-st-tbody-custom",
2154
- changeDetection: ChangeDetectionStrategy.OnPush,
2155
- template: `
2156
- @for (action of customActions(); track $index) {
2157
- <a
2158
- [id]="'row-' + row.index + '_action-' + action.name + '-button'"
2159
- href="#"
2160
- class="ng2-smart-action ng2-smart-action-custom-custom"
2161
- [innerHTML]="action.title"
2162
- (click)="$event.stopPropagation(); $event.preventDefault(); onCustom(action)"
2163
- ></a>
2164
- }
2165
- `,
2166
- }]
2167
- }], propDecorators: { grid: [{
2168
- type: Input
2169
- }], row: [{
2170
- type: Input
2171
- }], source: [{
2172
- type: Input
2173
- }], custom: [{
2174
- type: Output
2175
2252
  }] } });
2176
2253
 
2177
2254
  class Ng2SmartTableTbodyComponent {
2178
2255
  constructor() {
2179
- this.rowClassFunction = () => '';
2180
- this.save = new EventEmitter();
2181
- this.cancel = new EventEmitter();
2182
- this.edit = new EventEmitter();
2183
- this.editCancel = new EventEmitter();
2184
- this.delete = new EventEmitter();
2185
- this.custom = new EventEmitter();
2186
- this.edited = new EventEmitter();
2187
- this.userSelectRow = new EventEmitter();
2188
- this.userClickedRow = new EventEmitter();
2189
- this.editRowSelect = new EventEmitter();
2190
- this.multipleSelectRow = new EventEmitter();
2256
+ this.rowClassFunction = () => "";
2257
+ this.save = output();
2258
+ this.cancel = output();
2259
+ this.edit = output();
2260
+ this.editCancel = output();
2261
+ this.delete = output();
2262
+ this.custom = output();
2263
+ this.edited = output();
2264
+ this.userSelectRow = output();
2265
+ this.userClickedRow = output();
2266
+ this.editRowSelect = output();
2267
+ this.multipleSelectRow = output();
2191
2268
  this.isMultiSelectVisible = false;
2192
2269
  this.showActionColumnLeft = false;
2193
2270
  this.showActionColumnRight = false;
2194
- this.mode = 'inline';
2195
- this.editInputClass = '';
2271
+ this.mode = "inline";
2272
+ this.editInputClass = "";
2196
2273
  this.isActionAdd = false;
2197
2274
  this.isActionEdit = false;
2198
2275
  this.isActionDelete = false;
@@ -2204,14 +2281,14 @@ class Ng2SmartTableTbodyComponent {
2204
2281
  }
2205
2282
  ngOnChanges() {
2206
2283
  this.isMultiSelectVisible = this.grid.isMultiSelectVisible();
2207
- this.showActionColumnLeft = this.grid.showActionColumn('left');
2208
- this.mode = this.grid.getSetting('mode', 'inline');
2209
- this.editInputClass = this.grid.getSetting('edit.inputClass', '');
2210
- this.showActionColumnRight = this.grid.showActionColumn('right');
2211
- this.isActionAdd = this.grid.getSetting('actions.add', false);
2212
- this.isActionEdit = this.grid.getSetting('actions.edit', false);
2213
- this.isActionDelete = this.grid.getSetting('actions.delete', false);
2214
- this.noDataMessage = this.grid.getSetting('noDataMessage');
2284
+ this.showActionColumnLeft = this.grid.showActionColumn("left");
2285
+ this.mode = this.grid.getSetting("mode", "inline");
2286
+ this.editInputClass = this.grid.getSetting("edit.inputClass", "");
2287
+ this.showActionColumnRight = this.grid.showActionColumn("right");
2288
+ this.isActionAdd = this.grid.getSetting("actions.add", false);
2289
+ this.isActionEdit = this.grid.getSetting("actions.edit", false);
2290
+ this.isActionDelete = this.grid.getSetting("actions.delete", false);
2291
+ this.noDataMessage = this.grid.getSetting("noDataMessage");
2215
2292
  }
2216
2293
  getVisibleCells(cells) {
2217
2294
  return (cells || []).filter((cell) => !cell.getColumn().hide);
@@ -2219,12 +2296,18 @@ class Ng2SmartTableTbodyComponent {
2219
2296
  trackByIdOrIndex(index, item) {
2220
2297
  return item?.id || index;
2221
2298
  }
2222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableTbodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2223
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: Ng2SmartTableTbodyComponent, selector: "[ng2-st-tbody]", inputs: { grid: "grid", source: "source", deleteConfirm: "deleteConfirm", editConfirm: "editConfirm", rowClassFunction: "rowClassFunction" }, outputs: { save: "save", cancel: "cancel", edit: "edit", editCancel: "editCancel", delete: "delete", custom: "custom", edited: "edited", userSelectRow: "userSelectRow", userClickedRow: "userClickedRow", editRowSelect: "editRowSelect", multipleSelectRow: "multipleSelectRow" }, usesOnChanges: true, ngImport: i0, template: "@if (grid.getRows().length) { @for (row of grid.getRows(); track\ntrackByIdOrIndex($index, row)) {\n<tr\n (click)=\"userClickedRow.emit(row)\"\n class=\"ng2-smart-row\"\n [className]=\"rowClassFunction(row)\"\n [ngClass]=\"{ selected: row.isSelected }\"\n>\n @if (isMultiSelectVisible) {\n <td\n class=\"ng2-smart-actions ng2-smart-action-multiple-select\"\n (click)=\"$event.stopPropagation(); multipleSelectRow.emit(row)\"\n >\n <input\n type=\"checkbox\"\n [id]=\"'row-' + row.index + '_select-checkbox'\"\n class=\"form-control\"\n [ngModel]=\"row.isSelected\"\n />\n </td>\n } @if (!row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\" (click)=\"$event.stopPropagation()\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n } @if (row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n [editCancel]=\"editCancel\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @for (cell of getVisibleCells(row.cells); track cell.getId()) {\n <td [ngClass]=\"cell.getColumnClass()\">\n <ng2-smart-table-cell\n [cell]=\"cell\"\n [grid]=\"grid\"\n [row]=\"row\"\n [isNew]=\"false\"\n [mode]=\"mode\"\n [editConfirm]=\"editConfirm\"\n [inputClass]=\"editInputClass\"\n [isInEditing]=\"row.isInEditing\"\n >\n </ng2-smart-table-cell>\n </td>\n } @if (row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @if (!row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [row]=\"row\"\n [source]=\"source\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n }\n</tr>\n} } @else {\n<tr>\n <td [attr.colspan]=\"tableColumnsCount\">\n {{ noDataMessage }}\n </td>\n</tr>\n}\n", styles: [":host .ng2-smart-row.selected{background:#0000000d}:host .ng2-smart-row .ng2-smart-actions.ng2-smart-action-multiple-select{text-align:center}:host ::ng-deep ng2-st-tbody-edit-delete a:first-child,:host ::ng-deep ng2-st-tbody-create-cancel a:first-child{margin-right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CellComponent, selector: "ng2-smart-table-cell", inputs: ["grid", "row", "editConfirm", "createConfirm", "isNew", "cell", "inputClass", "mode", "isInEditing"], outputs: ["edited"] }, { kind: "component", type: TbodyCreateCancelComponent, selector: "ng2-st-tbody-create-cancel", inputs: ["grid", "row", "editConfirm", "editCancel"] }, { kind: "component", type: TbodyEditDeleteComponent, selector: "ng2-st-tbody-edit-delete", inputs: ["grid", "row", "source", "deleteConfirm", "editConfirm"], outputs: ["edit", "delete", "editRowSelect"] }, { kind: "component", type: TbodyCustomComponent, selector: "ng2-st-tbody-custom", inputs: ["grid", "row", "source"], outputs: ["custom"] }] }); }
2299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTbodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2300
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: Ng2SmartTableTbodyComponent, isStandalone: true, selector: "[ng2-st-tbody]", inputs: { grid: "grid", source: "source", deleteConfirm: "deleteConfirm", editConfirm: "editConfirm", rowClassFunction: "rowClassFunction" }, outputs: { save: "save", cancel: "cancel", edit: "edit", editCancel: "editCancel", delete: "delete", custom: "custom", edited: "edited", userSelectRow: "userSelectRow", userClickedRow: "userClickedRow", editRowSelect: "editRowSelect", multipleSelectRow: "multipleSelectRow" }, usesOnChanges: true, ngImport: i0, template: "@if (grid.getRows().length) { @for (row of grid.getRows(); track\ntrackByIdOrIndex($index, row)) {\n<tr\n (click)=\"userClickedRow.emit(row)\"\n class=\"ng2-smart-row\"\n [class]=\"rowClassFunction(row)\"\n [class.selected]=\"row.isSelected\"\n>\n @if (isMultiSelectVisible) {\n <td\n class=\"ng2-smart-actions ng2-smart-action-multiple-select\"\n (click)=\"$event.stopPropagation(); multipleSelectRow.emit(row)\"\n >\n <input\n type=\"checkbox\"\n [id]=\"'row-' + row.index + '_select-checkbox'\"\n class=\"form-control\"\n [ngModel]=\"row.isSelected\"\n />\n </td>\n } @if (!row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\" (click)=\"$event.stopPropagation()\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n } @if (row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n [editCancel]=\"editCancel\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @for (cell of getVisibleCells(row.cells); track cell.getId()) {\n <td [class]=\"cell.getColumnClass()\">\n <ng2-smart-table-cell\n [cell]=\"cell\"\n [grid]=\"grid\"\n [row]=\"row\"\n [isNew]=\"false\"\n [mode]=\"mode\"\n [editConfirm]=\"editConfirm\"\n [inputClass]=\"editInputClass\"\n [isInEditing]=\"row.isInEditing\"\n >\n </ng2-smart-table-cell>\n </td>\n } @if (row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @if (!row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [row]=\"row\"\n [source]=\"source\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n }\n</tr>\n} } @else {\n<tr>\n <td [attr.colspan]=\"tableColumnsCount\">\n {{ noDataMessage }}\n </td>\n</tr>\n}\n", styles: [":host .ng2-smart-row.selected{background:#0000000d}:host .ng2-smart-row .ng2-smart-actions.ng2-smart-action-multiple-select{text-align:center}:host ::ng-deep ng2-st-tbody-edit-delete a:first-child,:host ::ng-deep ng2-st-tbody-create-cancel a:first-child{margin-right:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TbodyCustomComponent, selector: "ng2-st-tbody-custom", inputs: ["grid", "row", "source"], outputs: ["custom"] }, { kind: "component", type: TbodyEditDeleteComponent, selector: "ng2-st-tbody-edit-delete", inputs: ["grid", "row", "source", "deleteConfirm", "editConfirm"], outputs: ["edit", "delete", "editRowSelect"] }, { kind: "component", type: TbodyCreateCancelComponent, selector: "ng2-st-tbody-create-cancel", inputs: ["grid", "row", "editConfirm", "editCancel"] }, { kind: "component", type: CellComponent, selector: "ng2-smart-table-cell", inputs: ["grid", "row", "editConfirm", "createConfirm", "isNew", "cell", "inputClass", "mode", "isInEditing"], outputs: ["edited"] }] }); }
2224
2301
  }
2225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableTbodyComponent, decorators: [{
2302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTbodyComponent, decorators: [{
2226
2303
  type: Component,
2227
- args: [{ selector: '[ng2-st-tbody]', template: "@if (grid.getRows().length) { @for (row of grid.getRows(); track\ntrackByIdOrIndex($index, row)) {\n<tr\n (click)=\"userClickedRow.emit(row)\"\n class=\"ng2-smart-row\"\n [className]=\"rowClassFunction(row)\"\n [ngClass]=\"{ selected: row.isSelected }\"\n>\n @if (isMultiSelectVisible) {\n <td\n class=\"ng2-smart-actions ng2-smart-action-multiple-select\"\n (click)=\"$event.stopPropagation(); multipleSelectRow.emit(row)\"\n >\n <input\n type=\"checkbox\"\n [id]=\"'row-' + row.index + '_select-checkbox'\"\n class=\"form-control\"\n [ngModel]=\"row.isSelected\"\n />\n </td>\n } @if (!row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\" (click)=\"$event.stopPropagation()\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n } @if (row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n [editCancel]=\"editCancel\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @for (cell of getVisibleCells(row.cells); track cell.getId()) {\n <td [ngClass]=\"cell.getColumnClass()\">\n <ng2-smart-table-cell\n [cell]=\"cell\"\n [grid]=\"grid\"\n [row]=\"row\"\n [isNew]=\"false\"\n [mode]=\"mode\"\n [editConfirm]=\"editConfirm\"\n [inputClass]=\"editInputClass\"\n [isInEditing]=\"row.isInEditing\"\n >\n </ng2-smart-table-cell>\n </td>\n } @if (row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @if (!row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [row]=\"row\"\n [source]=\"source\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n }\n</tr>\n} } @else {\n<tr>\n <td [attr.colspan]=\"tableColumnsCount\">\n {{ noDataMessage }}\n </td>\n</tr>\n}\n", styles: [":host .ng2-smart-row.selected{background:#0000000d}:host .ng2-smart-row .ng2-smart-actions.ng2-smart-action-multiple-select{text-align:center}:host ::ng-deep ng2-st-tbody-edit-delete a:first-child,:host ::ng-deep ng2-st-tbody-create-cancel a:first-child{margin-right:.25rem}\n"] }]
2304
+ args: [{ selector: "[ng2-st-tbody]", standalone: true, imports: [
2305
+ FormsModule,
2306
+ TbodyCustomComponent,
2307
+ TbodyEditDeleteComponent,
2308
+ TbodyCreateCancelComponent,
2309
+ CellComponent,
2310
+ ], template: "@if (grid.getRows().length) { @for (row of grid.getRows(); track\ntrackByIdOrIndex($index, row)) {\n<tr\n (click)=\"userClickedRow.emit(row)\"\n class=\"ng2-smart-row\"\n [class]=\"rowClassFunction(row)\"\n [class.selected]=\"row.isSelected\"\n>\n @if (isMultiSelectVisible) {\n <td\n class=\"ng2-smart-actions ng2-smart-action-multiple-select\"\n (click)=\"$event.stopPropagation(); multipleSelectRow.emit(row)\"\n >\n <input\n type=\"checkbox\"\n [id]=\"'row-' + row.index + '_select-checkbox'\"\n class=\"form-control\"\n [ngModel]=\"row.isSelected\"\n />\n </td>\n } @if (!row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\" (click)=\"$event.stopPropagation()\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n } @if (row.isInEditing && showActionColumnLeft) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n [editCancel]=\"editCancel\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @for (cell of getVisibleCells(row.cells); track cell.getId()) {\n <td [class]=\"cell.getColumnClass()\">\n <ng2-smart-table-cell\n [cell]=\"cell\"\n [grid]=\"grid\"\n [row]=\"row\"\n [isNew]=\"false\"\n [mode]=\"mode\"\n [editConfirm]=\"editConfirm\"\n [inputClass]=\"editInputClass\"\n [isInEditing]=\"row.isInEditing\"\n >\n </ng2-smart-table-cell>\n </td>\n } @if (row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n ></ng2-st-tbody-create-cancel>\n </td>\n } @if (!row.isInEditing && showActionColumnRight) {\n <td class=\"ng2-smart-actions\">\n <ng2-st-tbody-custom\n [grid]=\"grid\"\n (custom)=\"custom.emit($event)\"\n [row]=\"row\"\n [source]=\"source\"\n ></ng2-st-tbody-custom>\n <ng2-st-tbody-edit-delete\n [grid]=\"grid\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [row]=\"row\"\n [source]=\"source\"\n (edit)=\"edit.emit(row)\"\n (delete)=\"delete.emit(row)\"\n (editRowSelect)=\"editRowSelect.emit($event)\"\n >\n </ng2-st-tbody-edit-delete>\n </td>\n }\n</tr>\n} } @else {\n<tr>\n <td [attr.colspan]=\"tableColumnsCount\">\n {{ noDataMessage }}\n </td>\n</tr>\n}\n", styles: [":host .ng2-smart-row.selected{background:#0000000d}:host .ng2-smart-row .ng2-smart-actions.ng2-smart-action-multiple-select{text-align:center}:host ::ng-deep ng2-st-tbody-edit-delete a:first-child,:host ::ng-deep ng2-st-tbody-create-cancel a:first-child{margin-right:.25rem}\n"] }]
2228
2311
  }], propDecorators: { grid: [{
2229
2312
  type: Input
2230
2313
  }], source: [{
@@ -2235,35 +2318,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2235
2318
  type: Input
2236
2319
  }], rowClassFunction: [{
2237
2320
  type: Input
2238
- }], save: [{
2239
- type: Output
2240
- }], cancel: [{
2241
- type: Output
2242
- }], edit: [{
2243
- type: Output
2244
- }], editCancel: [{
2245
- type: Output
2246
- }], delete: [{
2247
- type: Output
2248
- }], custom: [{
2249
- type: Output
2250
- }], edited: [{
2251
- type: Output
2252
- }], userSelectRow: [{
2253
- type: Output
2254
- }], userClickedRow: [{
2255
- type: Output
2256
- }], editRowSelect: [{
2257
- type: Output
2258
- }], multipleSelectRow: [{
2259
- type: Output
2260
2321
  }] } });
2261
2322
 
2262
2323
  class FilterDefault {
2263
2324
  constructor() {
2264
2325
  this.inputClass = '';
2265
2326
  this.query = '';
2266
- this.filter = new EventEmitter();
2327
+ this.filter = output();
2267
2328
  }
2268
2329
  onFilter(query) {
2269
2330
  this.source.addFilter({
@@ -2272,14 +2333,12 @@ class FilterDefault {
2272
2333
  filter: this.column.getFilterFunction(),
2273
2334
  });
2274
2335
  }
2275
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2276
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FilterDefault, selector: "ng-component", inputs: { column: "column", source: "source", inputClass: "inputClass", query: "query" }, outputs: { filter: "filter" }, ngImport: i0, template: '', isInline: true }); }
2336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2337
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: FilterDefault, isStandalone: true, selector: "ng-component", inputs: { column: "column", source: "source", inputClass: "inputClass", query: "query" }, outputs: { filter: "filter" }, ngImport: i0, template: '', isInline: true }); }
2277
2338
  }
2278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterDefault, decorators: [{
2339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterDefault, decorators: [{
2279
2340
  type: Component,
2280
- args: [{
2281
- template: '',
2282
- }]
2341
+ args: [{ template: '' }]
2283
2342
  }], propDecorators: { column: [{
2284
2343
  type: Input
2285
2344
  }], source: [{
@@ -2288,8 +2347,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2288
2347
  type: Input
2289
2348
  }], query: [{
2290
2349
  type: Input
2291
- }], filter: [{
2292
- type: Output
2350
+ }] } });
2351
+
2352
+ class CustomFilterComponent extends FilterDefault {
2353
+ ngOnChanges(changes) {
2354
+ if (this.customComponent) {
2355
+ if (this.customComponent.instance?.ngOnChanges) {
2356
+ this.customComponent.instance?.ngOnChanges(changes);
2357
+ }
2358
+ return;
2359
+ }
2360
+ if (this.column.filter && this.column.filter.type === "custom") {
2361
+ this.customComponent = this.dynamicTarget.createComponent(this.column.filter?.component);
2362
+ }
2363
+ // set @Inputs and @Outputs of custom component
2364
+ this.customComponent.instance.query = this.query;
2365
+ this.customComponent.instance.column = this.column;
2366
+ this.customComponent.instance.source = this.source;
2367
+ this.customComponent.instance.inputClass = this.inputClass;
2368
+ this.customComponent.instance.filter.subscribe((event) => this.onFilter(event));
2369
+ }
2370
+ ngOnDestroy() {
2371
+ if (this.customComponent) {
2372
+ this.customComponent.destroy();
2373
+ }
2374
+ }
2375
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2376
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: CustomFilterComponent, isStandalone: true, selector: "custom-table-filter", viewQueries: [{ propertyName: "dynamicTarget", first: true, predicate: ["dynamicTarget"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `<ng-template #dynamicTarget></ng-template>`, isInline: true }); }
2377
+ }
2378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CustomFilterComponent, decorators: [{
2379
+ type: Component,
2380
+ args: [{
2381
+ selector: "custom-table-filter",
2382
+ template: `<ng-template #dynamicTarget></ng-template>`,
2383
+ standalone: true,
2384
+ }]
2385
+ }], propDecorators: { dynamicTarget: [{
2386
+ type: ViewChild,
2387
+ args: ["dynamicTarget", { read: ViewContainerRef, static: true }]
2293
2388
  }] } });
2294
2389
 
2295
2390
  class CheckboxFilterComponent extends DefaultFilter {
@@ -2303,39 +2398,57 @@ class CheckboxFilterComponent extends DefaultFilter {
2303
2398
  .pipe(debounceTime(this.delay))
2304
2399
  .subscribe((checked) => {
2305
2400
  this.filterActive = true;
2306
- const trueVal = (this.column.getFilterConfig() && this.column.getFilterConfig().true) || true;
2307
- const falseVal = (this.column.getFilterConfig() && this.column.getFilterConfig().false) || false;
2401
+ const trueVal = (this.column.getFilterConfig() &&
2402
+ this.column.getFilterConfig().true) ||
2403
+ true;
2404
+ const falseVal = (this.column.getFilterConfig() &&
2405
+ this.column.getFilterConfig().false) ||
2406
+ false;
2308
2407
  this.query = checked ? trueVal : falseVal;
2309
2408
  this.setFilter();
2310
2409
  });
2311
2410
  }
2312
2411
  resetFilter(event) {
2313
2412
  event.preventDefault();
2314
- this.query = '';
2413
+ this.query = "";
2315
2414
  this.inputControl.setValue(false, { emitEvent: false });
2316
2415
  this.filterActive = false;
2317
2416
  this.setFilter();
2318
2417
  }
2319
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2320
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CheckboxFilterComponent, selector: "checkbox-filter", usesInheritance: true, ngImport: i0, template: `
2321
- <input type="checkbox" [formControl]="inputControl" [ngClass]="inputClass" class="form-control">
2418
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2419
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: CheckboxFilterComponent, isStandalone: true, selector: "checkbox-filter", usesInheritance: true, ngImport: i0, template: `
2420
+ <input
2421
+ type="checkbox"
2422
+ [formControl]="inputControl"
2423
+ [class]="inputClass"
2424
+ class="form-control"
2425
+ />
2322
2426
  @if (filterActive) {
2323
- <a href="#"
2324
- (click)="resetFilter($event)">{{column.getFilterConfig()?.resetText || 'reset'}}</a>
2427
+ <a href="#" (click)="resetFilter($event)">{{
2428
+ column.getFilterConfig()?.resetText || "reset"
2429
+ }}</a>
2325
2430
  }
2326
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
2431
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
2327
2432
  }
2328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxFilterComponent, decorators: [{
2433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxFilterComponent, decorators: [{
2329
2434
  type: Component,
2330
2435
  args: [{
2331
- selector: 'checkbox-filter',
2436
+ selector: "checkbox-filter",
2332
2437
  template: `
2333
- <input type="checkbox" [formControl]="inputControl" [ngClass]="inputClass" class="form-control">
2438
+ <input
2439
+ type="checkbox"
2440
+ [formControl]="inputControl"
2441
+ [class]="inputClass"
2442
+ class="form-control"
2443
+ />
2334
2444
  @if (filterActive) {
2335
- <a href="#"
2336
- (click)="resetFilter($event)">{{column.getFilterConfig()?.resetText || 'reset'}}</a>
2445
+ <a href="#" (click)="resetFilter($event)">{{
2446
+ column.getFilterConfig()?.resetText || "reset"
2447
+ }}</a>
2337
2448
  }
2338
- `,
2449
+ `,
2450
+ standalone: true,
2451
+ imports: [FormsModule, ReactiveFormsModule],
2339
2452
  }]
2340
2453
  }], ctorParameters: () => [] });
2341
2454
 
@@ -2356,32 +2469,36 @@ class InputFilterComponent extends DefaultFilter {
2356
2469
  });
2357
2470
  }
2358
2471
  ngOnChanges(changes) {
2359
- if (changes?.['query']) {
2472
+ if (changes?.["query"]) {
2360
2473
  this.inputControl.setValue(this.query);
2361
2474
  }
2362
2475
  }
2363
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2364
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputFilterComponent, selector: "input-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
2476
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2477
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: InputFilterComponent, isStandalone: true, selector: "input-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
2365
2478
  <input
2366
- [ngClass]="inputClass"
2479
+ [class]="inputClass"
2367
2480
  [formControl]="inputControl"
2368
2481
  class="form-control"
2369
2482
  type="text"
2370
- placeholder="{{ column.title }}"/>
2371
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
2483
+ placeholder="{{ column.title }}"
2484
+ />
2485
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
2372
2486
  }
2373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputFilterComponent, decorators: [{
2487
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: InputFilterComponent, decorators: [{
2374
2488
  type: Component,
2375
2489
  args: [{
2376
- selector: 'input-filter',
2490
+ selector: "input-filter",
2377
2491
  template: `
2378
2492
  <input
2379
- [ngClass]="inputClass"
2493
+ [class]="inputClass"
2380
2494
  [formControl]="inputControl"
2381
2495
  class="form-control"
2382
2496
  type="text"
2383
- placeholder="{{ column.title }}"/>
2497
+ placeholder="{{ column.title }}"
2498
+ />
2384
2499
  `,
2500
+ standalone: true,
2501
+ imports: [FormsModule, ReactiveFormsModule],
2385
2502
  }]
2386
2503
  }], ctorParameters: () => [] });
2387
2504
 
@@ -2396,40 +2513,42 @@ class SelectFilterComponent extends DefaultFilter {
2396
2513
  .subscribe((value) => this.setFilter());
2397
2514
  }
2398
2515
  }
2399
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2400
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SelectFilterComponent, selector: "select-filter", viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["inputControl"], descendants: true, read: NgControl, static: true }], usesInheritance: true, ngImport: i0, template: `
2401
- <select [ngClass]="inputClass"
2516
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2517
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: SelectFilterComponent, isStandalone: true, selector: "select-filter", viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["inputControl"], descendants: true, read: NgControl, static: true }], usesInheritance: true, ngImport: i0, template: `
2518
+ <select [class]="inputClass"
2402
2519
  class="form-control"
2403
2520
  #inputControl
2404
2521
  [(ngModel)]="query">
2405
-
2522
+
2406
2523
  <option value="">{{ column.getFilterConfig().selectText }}</option>
2407
- @for (option of column.getFilterConfig().list; track option) {
2524
+ @for (option of column.getFilterConfig().list; track option.value) {
2408
2525
  <option [value]="option.value">
2409
2526
  {{ option.title }}
2410
2527
  </option>
2411
2528
  }
2412
2529
  </select>
2413
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
2530
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
2414
2531
  }
2415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectFilterComponent, decorators: [{
2532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectFilterComponent, decorators: [{
2416
2533
  type: Component,
2417
2534
  args: [{
2418
2535
  selector: 'select-filter',
2419
2536
  template: `
2420
- <select [ngClass]="inputClass"
2537
+ <select [class]="inputClass"
2421
2538
  class="form-control"
2422
2539
  #inputControl
2423
2540
  [(ngModel)]="query">
2424
-
2541
+
2425
2542
  <option value="">{{ column.getFilterConfig().selectText }}</option>
2426
- @for (option of column.getFilterConfig().list; track option) {
2543
+ @for (option of column.getFilterConfig().list; track option.value) {
2427
2544
  <option [value]="option.value">
2428
2545
  {{ option.title }}
2429
2546
  </option>
2430
2547
  }
2431
2548
  </select>
2432
2549
  `,
2550
+ standalone: true,
2551
+ imports: [FormsModule]
2433
2552
  }]
2434
2553
  }], ctorParameters: () => [], propDecorators: { inputControl: [{
2435
2554
  type: ViewChild,
@@ -2437,111 +2556,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2437
2556
  }] } });
2438
2557
 
2439
2558
  class DefaultFilterComponent extends FilterDefault {
2440
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2441
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DefaultFilterComponent, selector: "default-table-filter", usesInheritance: true, ngImport: i0, template: `
2442
- @switch (column.getFilterType()) {
2443
- @case ('list') {
2559
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2560
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: DefaultFilterComponent, isStandalone: true, selector: "default-table-filter", usesInheritance: true, ngImport: i0, template: `
2561
+ @switch (column.getFilterType()) { @case ('list') {
2444
2562
  <select-filter
2445
2563
  [query]="query"
2446
- [ngClass]="inputClass"
2564
+ [class]="inputClass"
2447
2565
  [column]="column"
2448
- (filter)="onFilter($event)">
2566
+ (filter)="onFilter($event)"
2567
+ >
2449
2568
  </select-filter>
2450
- }
2451
- @case ('checkbox') {
2569
+ } @case ('checkbox') {
2452
2570
  <checkbox-filter
2453
2571
  [query]="query"
2454
- [ngClass]="inputClass"
2572
+ [class]="inputClass"
2455
2573
  [column]="column"
2456
- (filter)="onFilter($event)">
2574
+ (filter)="onFilter($event)"
2575
+ >
2457
2576
  </checkbox-filter>
2458
- }
2459
- @default {
2577
+ } @default {
2460
2578
  <input-filter
2461
2579
  [query]="query"
2462
- [ngClass]="inputClass"
2580
+ [class]="inputClass"
2463
2581
  [column]="column"
2464
- (filter)="onFilter($event)">
2465
- </input-filter>
2582
+ (filter)="onFilter($event)"
2583
+ >
2584
+ </input-filter>
2585
+ } }
2586
+ `, isInline: true, dependencies: [{ kind: "component", type: SelectFilterComponent, selector: "select-filter" }, { kind: "component", type: CheckboxFilterComponent, selector: "checkbox-filter" }, { kind: "component", type: InputFilterComponent, selector: "input-filter" }] }); }
2466
2587
  }
2467
- }
2468
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CheckboxFilterComponent, selector: "checkbox-filter" }, { kind: "component", type: InputFilterComponent, selector: "input-filter" }, { kind: "component", type: SelectFilterComponent, selector: "select-filter" }] }); }
2469
- }
2470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultFilterComponent, decorators: [{
2588
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DefaultFilterComponent, decorators: [{
2471
2589
  type: Component,
2472
2590
  args: [{
2473
- selector: 'default-table-filter',
2591
+ selector: "default-table-filter",
2474
2592
  template: `
2475
- @switch (column.getFilterType()) {
2476
- @case ('list') {
2593
+ @switch (column.getFilterType()) { @case ('list') {
2477
2594
  <select-filter
2478
2595
  [query]="query"
2479
- [ngClass]="inputClass"
2596
+ [class]="inputClass"
2480
2597
  [column]="column"
2481
- (filter)="onFilter($event)">
2598
+ (filter)="onFilter($event)"
2599
+ >
2482
2600
  </select-filter>
2483
- }
2484
- @case ('checkbox') {
2601
+ } @case ('checkbox') {
2485
2602
  <checkbox-filter
2486
2603
  [query]="query"
2487
- [ngClass]="inputClass"
2604
+ [class]="inputClass"
2488
2605
  [column]="column"
2489
- (filter)="onFilter($event)">
2606
+ (filter)="onFilter($event)"
2607
+ >
2490
2608
  </checkbox-filter>
2491
- }
2492
- @default {
2609
+ } @default {
2493
2610
  <input-filter
2494
2611
  [query]="query"
2495
- [ngClass]="inputClass"
2612
+ [class]="inputClass"
2496
2613
  [column]="column"
2497
- (filter)="onFilter($event)">
2498
- </input-filter>
2499
- }
2500
- }
2501
- `,
2614
+ (filter)="onFilter($event)"
2615
+ >
2616
+ </input-filter>
2617
+ } }
2618
+ `,
2619
+ standalone: true,
2620
+ imports: [
2621
+ SelectFilterComponent,
2622
+ CheckboxFilterComponent,
2623
+ InputFilterComponent,
2624
+ ],
2502
2625
  }]
2503
2626
  }] });
2504
2627
 
2505
- class CustomFilterComponent extends FilterDefault {
2506
- constructor(resolver) {
2507
- super();
2508
- this.resolver = resolver;
2509
- }
2510
- ngOnChanges(changes) {
2511
- if (this.customComponent) {
2512
- this.customComponent.instance.ngOnChanges(changes);
2513
- return;
2514
- }
2515
- if (this.column.filter && this.column.filter.type === 'custom') {
2516
- const componentFactory = this.resolver.resolveComponentFactory(this.column.filter?.component);
2517
- this.customComponent = this.dynamicTarget.createComponent(componentFactory);
2518
- }
2519
- // set @Inputs and @Outputs of custom component
2520
- this.customComponent.instance.query = this.query;
2521
- this.customComponent.instance.column = this.column;
2522
- this.customComponent.instance.source = this.source;
2523
- this.customComponent.instance.inputClass = this.inputClass;
2524
- this.customComponent.instance.filter.subscribe((event) => this.onFilter(event));
2525
- }
2526
- ngOnDestroy() {
2527
- if (this.customComponent) {
2528
- this.customComponent.destroy();
2529
- }
2530
- }
2531
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomFilterComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
2532
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomFilterComponent, selector: "custom-table-filter", viewQueries: [{ propertyName: "dynamicTarget", first: true, predicate: ["dynamicTarget"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `<ng-template #dynamicTarget></ng-template>`, isInline: true }); }
2533
- }
2534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomFilterComponent, decorators: [{
2535
- type: Component,
2536
- args: [{
2537
- selector: 'custom-table-filter',
2538
- template: `<ng-template #dynamicTarget></ng-template>`,
2539
- }]
2540
- }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { dynamicTarget: [{
2541
- type: ViewChild,
2542
- args: ['dynamicTarget', { read: ViewContainerRef, static: true }]
2543
- }] } });
2544
-
2545
2628
  class FilterComponent extends FilterDefault {
2546
2629
  ngOnChanges(changes) {
2547
2630
  if (changes['source']) {
@@ -2565,8 +2648,8 @@ class FilterComponent extends FilterDefault {
2565
2648
  });
2566
2649
  }
2567
2650
  }
2568
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2569
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FilterComponent, selector: "ng2-smart-table-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
2651
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2652
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: FilterComponent, isStandalone: true, selector: "ng2-smart-table-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
2570
2653
  @if (column.isFilterable) {
2571
2654
  <div class="ng2-smart-filter">
2572
2655
  @switch (column.getFilterType()) {
@@ -2591,9 +2674,9 @@ class FilterComponent extends FilterDefault {
2591
2674
  }
2592
2675
  </div>
2593
2676
  }
2594
- `, isInline: true, styles: [":host .ng2-smart-filter ::ng-deep input,:host .ng2-smart-filter ::ng-deep select{width:100%;line-height:normal;padding:.375em .75em;font-weight:400}:host .ng2-smart-filter ::ng-deep input[type=search]{box-sizing:inherit}:host .ng2-smart-filter ::ng-deep .completer-dropdown-holder{font-weight:400}:host .ng2-smart-filter ::ng-deep a{font-weight:400}\n"], dependencies: [{ kind: "component", type: DefaultFilterComponent, selector: "default-table-filter" }, { kind: "component", type: CustomFilterComponent, selector: "custom-table-filter" }] }); }
2677
+ `, isInline: true, styles: [":host .ng2-smart-filter ::ng-deep input,:host .ng2-smart-filter ::ng-deep select{width:100%;line-height:normal;padding:.375em .75em;font-weight:400}:host .ng2-smart-filter ::ng-deep input[type=search]{box-sizing:inherit}:host .ng2-smart-filter ::ng-deep .completer-dropdown-holder{font-weight:400}:host .ng2-smart-filter ::ng-deep a{font-weight:400}\n"], dependencies: [{ kind: "component", type: CustomFilterComponent, selector: "custom-table-filter" }, { kind: "component", type: DefaultFilterComponent, selector: "default-table-filter" }] }); }
2595
2678
  }
2596
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterComponent, decorators: [{
2679
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FilterComponent, decorators: [{
2597
2680
  type: Component,
2598
2681
  args: [{ selector: 'ng2-smart-table-filter', template: `
2599
2682
  @if (column.isFilterable) {
@@ -2620,27 +2703,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2620
2703
  }
2621
2704
  </div>
2622
2705
  }
2623
- `, styles: [":host .ng2-smart-filter ::ng-deep input,:host .ng2-smart-filter ::ng-deep select{width:100%;line-height:normal;padding:.375em .75em;font-weight:400}:host .ng2-smart-filter ::ng-deep input[type=search]{box-sizing:inherit}:host .ng2-smart-filter ::ng-deep .completer-dropdown-holder{font-weight:400}:host .ng2-smart-filter ::ng-deep a{font-weight:400}\n"] }]
2706
+ `, standalone: true, imports: [CustomFilterComponent, DefaultFilterComponent], styles: [":host .ng2-smart-filter ::ng-deep input,:host .ng2-smart-filter ::ng-deep select{width:100%;line-height:normal;padding:.375em .75em;font-weight:400}:host .ng2-smart-filter ::ng-deep input[type=search]{box-sizing:inherit}:host .ng2-smart-filter ::ng-deep .completer-dropdown-holder{font-weight:400}:host .ng2-smart-filter ::ng-deep a{font-weight:400}\n"] }]
2624
2707
  }] });
2625
2708
 
2626
2709
  class AddButtonComponent {
2627
- constructor(ref) {
2628
- this.ref = ref;
2629
- this.create = new EventEmitter();
2710
+ constructor() {
2711
+ this.ref = inject(ElementRef);
2712
+ this.create = output();
2630
2713
  this.isActionAdd = false;
2631
- this.addNewButtonContent = '';
2714
+ this.addNewButtonContent = "";
2632
2715
  }
2633
2716
  ngAfterViewInit() {
2634
- this.ref.nativeElement.classList.add('ng2-smart-actions-title', 'ng2-smart-actions-title-add');
2717
+ this.ref.nativeElement.classList.add("ng2-smart-actions-title", "ng2-smart-actions-title-add");
2635
2718
  }
2636
2719
  ngOnChanges() {
2637
- this.isActionAdd = this.grid.getSetting('actions.add');
2638
- this.addNewButtonContent = this.grid.getSetting('add.addButtonContent');
2720
+ this.isActionAdd = this.grid.getSetting("actions.add");
2721
+ this.addNewButtonContent = this.grid.getSetting("add.addButtonContent");
2639
2722
  }
2640
2723
  onAdd(event) {
2641
2724
  event.preventDefault();
2642
2725
  event.stopPropagation();
2643
- if (this.grid.getSetting('mode') === 'external') {
2726
+ if (this.grid.getSetting("mode") === "external") {
2644
2727
  this.create.emit({
2645
2728
  source: this.source,
2646
2729
  });
@@ -2649,37 +2732,44 @@ class AddButtonComponent {
2649
2732
  this.grid.createFormShown = true;
2650
2733
  }
2651
2734
  }
2652
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
2653
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AddButtonComponent, selector: "[ng2-st-add-button]", inputs: { grid: "grid", source: "source" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2735
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AddButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2736
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AddButtonComponent, isStandalone: true, selector: "[ng2-st-add-button]", inputs: { grid: "grid", source: "source" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2654
2737
  @if (isActionAdd) {
2655
- <a href="#" class="ng2-smart-action ng2-smart-action-add-add"
2656
- [innerHTML]="addNewButtonContent" (click)="onAdd($event)"></a>
2738
+ <a
2739
+ href="#"
2740
+ class="ng2-smart-action ng2-smart-action-add-add"
2741
+ [innerHTML]="addNewButtonContent"
2742
+ (click)="onAdd($event)"
2743
+ ></a>
2657
2744
  }
2658
- `, isInline: true }); }
2745
+ `, isInline: true }); }
2659
2746
  }
2660
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddButtonComponent, decorators: [{
2747
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AddButtonComponent, decorators: [{
2661
2748
  type: Component,
2662
2749
  args: [{
2663
- selector: '[ng2-st-add-button]',
2750
+ selector: "[ng2-st-add-button]",
2664
2751
  template: `
2665
2752
  @if (isActionAdd) {
2666
- <a href="#" class="ng2-smart-action ng2-smart-action-add-add"
2667
- [innerHTML]="addNewButtonContent" (click)="onAdd($event)"></a>
2753
+ <a
2754
+ href="#"
2755
+ class="ng2-smart-action ng2-smart-action-add-add"
2756
+ [innerHTML]="addNewButtonContent"
2757
+ (click)="onAdd($event)"
2758
+ ></a>
2668
2759
  }
2669
- `,
2760
+ `,
2761
+ standalone: true,
2670
2762
  }]
2671
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { grid: [{
2763
+ }], propDecorators: { grid: [{
2672
2764
  type: Input
2673
2765
  }], source: [{
2674
2766
  type: Input
2675
- }], create: [{
2676
- type: Output
2677
2767
  }] } });
2678
2768
 
2679
2769
  class TheadFitlersRowComponent {
2680
2770
  constructor() {
2681
- this.create = new EventEmitter();
2682
- this.filter = new EventEmitter();
2771
+ this.create = output();
2772
+ this.filter = output();
2683
2773
  this.isMultiSelectVisible = false;
2684
2774
  this.showActionColumnLeft = false;
2685
2775
  this.showActionColumnRight = false;
@@ -2694,8 +2784,8 @@ class TheadFitlersRowComponent {
2694
2784
  getVisibleColumns(columns) {
2695
2785
  return (columns || []).filter((column) => !column.hide);
2696
2786
  }
2697
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheadFitlersRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2698
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TheadFitlersRowComponent, selector: "[ng2-st-thead-filters-row]", inputs: { grid: "grid", source: "source" }, outputs: { create: "create", filter: "filter" }, usesOnChanges: true, ngImport: i0, template: `
2787
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFitlersRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2788
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TheadFitlersRowComponent, isStandalone: true, selector: "[ng2-st-thead-filters-row]", inputs: { grid: "grid", source: "source" }, outputs: { create: "create", filter: "filter" }, usesOnChanges: true, ngImport: i0, template: `
2699
2789
  @if (isMultiSelectVisible) {
2700
2790
  <th></th>
2701
2791
  } @if (showActionColumnLeft) {
@@ -2718,9 +2808,9 @@ class TheadFitlersRowComponent {
2718
2808
  (create)="create.emit($event)"
2719
2809
  ></th>
2720
2810
  }
2721
- `, isInline: true, dependencies: [{ kind: "component", type: FilterComponent, selector: "ng2-smart-table-filter" }, { kind: "component", type: AddButtonComponent, selector: "[ng2-st-add-button]", inputs: ["grid", "source"], outputs: ["create"] }] }); }
2811
+ `, isInline: true, dependencies: [{ kind: "component", type: AddButtonComponent, selector: "[ng2-st-add-button]", inputs: ["grid", "source"], outputs: ["create"] }, { kind: "component", type: FilterComponent, selector: "ng2-smart-table-filter" }] }); }
2722
2812
  }
2723
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheadFitlersRowComponent, decorators: [{
2813
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFitlersRowComponent, decorators: [{
2724
2814
  type: Component,
2725
2815
  args: [{
2726
2816
  selector: "[ng2-st-thead-filters-row]",
@@ -2748,59 +2838,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2748
2838
  ></th>
2749
2839
  }
2750
2840
  `,
2841
+ standalone: true,
2842
+ imports: [AddButtonComponent, FilterComponent],
2751
2843
  }]
2752
2844
  }], propDecorators: { grid: [{
2753
2845
  type: Input
2754
2846
  }], source: [{
2755
2847
  type: Input
2756
- }], create: [{
2757
- type: Output
2758
- }], filter: [{
2759
- type: Output
2760
2848
  }] } });
2761
2849
 
2762
2850
  class ActionsComponent {
2763
2851
  constructor() {
2764
- this.create = new EventEmitter();
2765
- this.createButtonContent = '';
2766
- this.cancelButtonContent = '';
2852
+ this.create = output();
2853
+ this.createButtonContent = "";
2854
+ this.cancelButtonContent = "";
2767
2855
  }
2768
2856
  ngOnChanges() {
2769
- this.createButtonContent = this.grid.getSetting('add.createButtonContent');
2770
- this.cancelButtonContent = this.grid.getSetting('add.cancelButtonContent');
2771
- }
2772
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2773
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionsComponent, selector: "ng2-st-actions", inputs: { grid: "grid" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2774
- <a href="#" class="ng2-smart-action ng2-smart-action-add-create"
2775
- [innerHTML]="createButtonContent"
2776
- (click)="$event.preventDefault();create.emit($event)"></a>
2777
- <a href="#" class="ng2-smart-action ng2-smart-action-add-cancel"
2778
- [innerHTML]="cancelButtonContent"
2779
- (click)="$event.preventDefault();grid.createFormShown = false;"></a>
2857
+ this.createButtonContent = this.grid.getSetting("add.createButtonContent");
2858
+ this.cancelButtonContent = this.grid.getSetting("add.cancelButtonContent");
2859
+ }
2860
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2861
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ActionsComponent, isStandalone: true, selector: "ng2-st-actions", inputs: { grid: "grid" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2862
+ <a
2863
+ href="#"
2864
+ class="ng2-smart-action ng2-smart-action-add-create"
2865
+ [innerHTML]="createButtonContent"
2866
+ (click)="$event.preventDefault(); create.emit($event)"
2867
+ ></a>
2868
+ <a
2869
+ href="#"
2870
+ class="ng2-smart-action ng2-smart-action-add-cancel"
2871
+ [innerHTML]="cancelButtonContent"
2872
+ (click)="$event.preventDefault(); grid.createFormShown = false"
2873
+ ></a>
2780
2874
  `, isInline: true }); }
2781
2875
  }
2782
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsComponent, decorators: [{
2876
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsComponent, decorators: [{
2783
2877
  type: Component,
2784
2878
  args: [{
2785
- selector: 'ng2-st-actions',
2879
+ selector: "ng2-st-actions",
2786
2880
  template: `
2787
- <a href="#" class="ng2-smart-action ng2-smart-action-add-create"
2788
- [innerHTML]="createButtonContent"
2789
- (click)="$event.preventDefault();create.emit($event)"></a>
2790
- <a href="#" class="ng2-smart-action ng2-smart-action-add-cancel"
2791
- [innerHTML]="cancelButtonContent"
2792
- (click)="$event.preventDefault();grid.createFormShown = false;"></a>
2881
+ <a
2882
+ href="#"
2883
+ class="ng2-smart-action ng2-smart-action-add-create"
2884
+ [innerHTML]="createButtonContent"
2885
+ (click)="$event.preventDefault(); create.emit($event)"
2886
+ ></a>
2887
+ <a
2888
+ href="#"
2889
+ class="ng2-smart-action ng2-smart-action-add-cancel"
2890
+ [innerHTML]="cancelButtonContent"
2891
+ (click)="$event.preventDefault(); grid.createFormShown = false"
2892
+ ></a>
2793
2893
  `,
2894
+ standalone: true,
2794
2895
  }]
2795
2896
  }], propDecorators: { grid: [{
2796
2897
  type: Input
2797
- }], create: [{
2798
- type: Output
2799
2898
  }] } });
2800
2899
 
2801
2900
  class TheadFormRowComponent {
2802
2901
  constructor() {
2803
- this.create = new EventEmitter();
2902
+ this.create = output();
2804
2903
  this.isMultiSelectVisible = false;
2805
2904
  this.showActionColumnLeft = false;
2806
2905
  this.showActionColumnRight = false;
@@ -2819,8 +2918,8 @@ class TheadFormRowComponent {
2819
2918
  getVisibleCells(cells) {
2820
2919
  return (cells || []).filter((cell) => !cell.getColumn().hide);
2821
2920
  }
2822
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheadFormRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2823
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TheadFormRowComponent, selector: "[ng2-st-thead-form-row]", inputs: { grid: "grid", row: "row", createConfirm: "createConfirm" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2921
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFormRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2922
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TheadFormRowComponent, isStandalone: true, selector: "[ng2-st-thead-form-row]", inputs: { grid: "grid", row: "row", createConfirm: "createConfirm" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2824
2923
  @if (grid.isMultiSelectVisible()) {
2825
2924
  <td></td>
2826
2925
  } @if (showActionColumnLeft) {
@@ -2830,7 +2929,8 @@ class TheadFormRowComponent {
2830
2929
  (create)="onCreate($event)"
2831
2930
  ></ng2-st-actions>
2832
2931
  </td>
2833
- } @for (cell of getVisibleCells(grid.getNewRow().getCells()); track cell.getId()) {
2932
+ } @for (cell of getVisibleCells(grid.getNewRow().getCells()); track
2933
+ cell.getId()) {
2834
2934
  <td>
2835
2935
  <ng2-smart-table-cell
2836
2936
  [cell]="cell"
@@ -2851,9 +2951,9 @@ class TheadFormRowComponent {
2851
2951
  ></ng2-st-actions>
2852
2952
  </td>
2853
2953
  }
2854
- `, isInline: true, dependencies: [{ kind: "component", type: CellComponent, selector: "ng2-smart-table-cell", inputs: ["grid", "row", "editConfirm", "createConfirm", "isNew", "cell", "inputClass", "mode", "isInEditing"], outputs: ["edited"] }, { kind: "component", type: ActionsComponent, selector: "ng2-st-actions", inputs: ["grid"], outputs: ["create"] }] }); }
2954
+ `, isInline: true, dependencies: [{ kind: "component", type: ActionsComponent, selector: "ng2-st-actions", inputs: ["grid"], outputs: ["create"] }, { kind: "component", type: CellComponent, selector: "ng2-smart-table-cell", inputs: ["grid", "row", "editConfirm", "createConfirm", "isNew", "cell", "inputClass", "mode", "isInEditing"], outputs: ["edited"] }] }); }
2855
2955
  }
2856
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheadFormRowComponent, decorators: [{
2956
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadFormRowComponent, decorators: [{
2857
2957
  type: Component,
2858
2958
  args: [{
2859
2959
  selector: "[ng2-st-thead-form-row]",
@@ -2867,7 +2967,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2867
2967
  (create)="onCreate($event)"
2868
2968
  ></ng2-st-actions>
2869
2969
  </td>
2870
- } @for (cell of getVisibleCells(grid.getNewRow().getCells()); track cell.getId()) {
2970
+ } @for (cell of getVisibleCells(grid.getNewRow().getCells()); track
2971
+ cell.getId()) {
2871
2972
  <td>
2872
2973
  <ng2-smart-table-cell
2873
2974
  [cell]="cell"
@@ -2889,6 +2990,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2889
2990
  </td>
2890
2991
  }
2891
2992
  `,
2993
+ standalone: true,
2994
+ imports: [ActionsComponent, CellComponent],
2892
2995
  }]
2893
2996
  }], propDecorators: { grid: [{
2894
2997
  type: Input
@@ -2896,51 +2999,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2896
2999
  type: Input
2897
3000
  }], createConfirm: [{
2898
3001
  type: Input
2899
- }], create: [{
2900
- type: Output
2901
3002
  }] } });
2902
3003
 
2903
3004
  class ActionsTitleComponent {
2904
- constructor(ref) {
2905
- this.ref = ref;
2906
- this.actionsColumnTitle = '';
3005
+ constructor() {
3006
+ this.ref = inject(ElementRef);
3007
+ this.actionsColumnTitle = "";
2907
3008
  }
2908
3009
  ngAfterViewInit() {
2909
- this.ref.nativeElement.classList.add('ng2-smart-actions');
3010
+ this.ref.nativeElement.classList.add("ng2-smart-actions");
2910
3011
  }
2911
3012
  ngOnChanges() {
2912
- this.actionsColumnTitle = this.grid.getSetting('actions.columnTitle');
3013
+ this.actionsColumnTitle = this.grid.getSetting("actions.columnTitle");
2913
3014
  }
2914
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsTitleComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
2915
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionsTitleComponent, selector: "[ng2-st-actions-title]", inputs: { grid: "grid" }, usesOnChanges: true, ngImport: i0, template: `
2916
- <div class="ng2-smart-title">{{ actionsColumnTitle }}</div>
2917
- `, isInline: true }); }
3015
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3016
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ActionsTitleComponent, isStandalone: true, selector: "[ng2-st-actions-title]", inputs: { grid: "grid" }, usesOnChanges: true, ngImport: i0, template: ` <div class="ng2-smart-title">{{ actionsColumnTitle }}</div> `, isInline: true }); }
2918
3017
  }
2919
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsTitleComponent, decorators: [{
3018
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ActionsTitleComponent, decorators: [{
2920
3019
  type: Component,
2921
3020
  args: [{
2922
- selector: '[ng2-st-actions-title]',
2923
- template: `
2924
- <div class="ng2-smart-title">{{ actionsColumnTitle }}</div>
2925
- `,
3021
+ selector: "[ng2-st-actions-title]",
3022
+ template: ` <div class="ng2-smart-title">{{ actionsColumnTitle }}</div> `,
3023
+ standalone: true,
2926
3024
  }]
2927
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { grid: [{
3025
+ }], propDecorators: { grid: [{
2928
3026
  type: Input
2929
3027
  }] } });
2930
3028
 
2931
3029
  class CheckboxSelectAllComponent {
2932
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxSelectAllComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2933
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxSelectAllComponent, selector: "[ng2-st-checkbox-select-all]", inputs: { grid: "grid", source: "source" }, ngImport: i0, template: `
2934
- <input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected">
2935
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
3030
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxSelectAllComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3031
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: CheckboxSelectAllComponent, isStandalone: true, selector: "[ng2-st-checkbox-select-all]", inputs: { grid: "grid", source: "source" }, ngImport: i0, template: `
3032
+ <input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected" />
3033
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
2936
3034
  }
2937
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxSelectAllComponent, decorators: [{
3035
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: CheckboxSelectAllComponent, decorators: [{
2938
3036
  type: Component,
2939
3037
  args: [{
2940
- selector: '[ng2-st-checkbox-select-all]',
3038
+ selector: "[ng2-st-checkbox-select-all]",
2941
3039
  template: `
2942
- <input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected">
3040
+ <input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected" />
2943
3041
  `,
3042
+ standalone: true,
3043
+ imports: [FormsModule],
2944
3044
  }]
2945
3045
  }], propDecorators: { grid: [{
2946
3046
  type: Input
@@ -2950,22 +3050,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2950
3050
 
2951
3051
  class TitleComponent {
2952
3052
  constructor() {
2953
- this.currentDirection = '';
2954
- this.sort = new EventEmitter();
3053
+ this.currentDirection = "";
3054
+ this.sort = output();
2955
3055
  this.dataChangedSub = false;
2956
3056
  }
2957
3057
  ngOnChanges(changes) {
2958
- if (changes['source']) {
2959
- if (!changes['source'].firstChange && this.dataChangedSub) {
3058
+ if (changes["source"]) {
3059
+ if (!changes["source"].firstChange && this.dataChangedSub) {
2960
3060
  this.dataChangedSub.unsubscribe();
2961
3061
  }
2962
3062
  this.dataChangedSub = this.source.onChanged().subscribe((dataChanges) => {
2963
3063
  const sortConf = this.source.getSort();
2964
- if (sortConf.length > 0 && sortConf[0]['field'] === this.column.id) {
2965
- this.currentDirection = sortConf[0]['direction'];
3064
+ if (sortConf.length > 0 && sortConf[0]["field"] === this.column.id) {
3065
+ this.currentDirection = sortConf[0]["direction"];
2966
3066
  }
2967
3067
  else {
2968
- this.currentDirection = '';
3068
+ this.currentDirection = "";
2969
3069
  }
2970
3070
  });
2971
3071
  }
@@ -2976,7 +3076,7 @@ class TitleComponent {
2976
3076
  this.source.setSort([
2977
3077
  {
2978
3078
  field: this.column.id,
2979
- direction: this.currentDirection === 'desc' ? 'desc' : 'asc',
3079
+ direction: this.currentDirection === "desc" ? "desc" : "asc",
2980
3080
  compare: this.column.getCompareFunction(),
2981
3081
  },
2982
3082
  ]);
@@ -2984,7 +3084,7 @@ class TitleComponent {
2984
3084
  }
2985
3085
  changeSortDirection() {
2986
3086
  if (this.currentDirection) {
2987
- const newDirection = this.currentDirection === 'asc' ? 'desc' : 'asc';
3087
+ const newDirection = this.currentDirection === "asc" ? "desc" : "asc";
2988
3088
  this.currentDirection = newDirection;
2989
3089
  }
2990
3090
  else {
@@ -2992,158 +3092,174 @@ class TitleComponent {
2992
3092
  }
2993
3093
  return this.currentDirection;
2994
3094
  }
2995
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2996
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TitleComponent, selector: "ng2-smart-table-title", inputs: { column: "column", source: "source" }, outputs: { sort: "sort" }, usesOnChanges: true, ngImport: i0, template: `
3095
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3096
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TitleComponent, isStandalone: true, selector: "ng2-smart-table-title", inputs: { column: "column", source: "source" }, outputs: { sort: "sort" }, usesOnChanges: true, ngImport: i0, template: `
2997
3097
  @if (column.isSortable) {
2998
- <a href="#"
2999
- (click)="_sort($event)"
3000
- class="ng2-smart-sort-link sort"
3001
- [ngClass]="currentDirection">
3002
- {{ column.title }}
3003
- </a>
3004
- }
3005
- @if (!column.isSortable) {
3006
- <span class="ng2-smart-sort">{{ column.title }}</span>
3098
+ <a
3099
+ href="#"
3100
+ (click)="_sort($event)"
3101
+ class="ng2-smart-sort-link sort"
3102
+ [class]="currentDirection"
3103
+ >
3104
+ {{ column.title }}
3105
+ </a>
3106
+ } @else {
3107
+ <span class="ng2-smart-sort">{{ column.title }}</span>
3007
3108
  }
3008
- `, isInline: true, styles: ["a.sort.asc,a.sort.desc{font-weight:700}a.sort.asc:after,a.sort.desc:after{content:\"\";display:inline-block;width:0;height:0;border-bottom:4px solid rgba(0,0,0,.3);border-top:4px solid transparent;border-left:4px solid transparent;border-right:4px solid transparent;margin-bottom:2px}a.sort.desc:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);margin-bottom:-2px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
3109
+ `, isInline: true, styles: ["a.sort.asc,a.sort.desc{font-weight:700}a.sort.asc:after,a.sort.desc:after{content:\"\";display:inline-block;width:0;height:0;border-bottom:4px solid rgba(0,0,0,.3);border-top:4px solid transparent;border-left:4px solid transparent;border-right:4px solid transparent;margin-bottom:2px}a.sort.desc:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);margin-bottom:-2px}\n"] }); }
3009
3110
  }
3010
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TitleComponent, decorators: [{
3111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TitleComponent, decorators: [{
3011
3112
  type: Component,
3012
- args: [{ selector: 'ng2-smart-table-title', template: `
3113
+ args: [{ selector: "ng2-smart-table-title", template: `
3013
3114
  @if (column.isSortable) {
3014
- <a href="#"
3015
- (click)="_sort($event)"
3016
- class="ng2-smart-sort-link sort"
3017
- [ngClass]="currentDirection">
3018
- {{ column.title }}
3019
- </a>
3020
- }
3021
- @if (!column.isSortable) {
3022
- <span class="ng2-smart-sort">{{ column.title }}</span>
3115
+ <a
3116
+ href="#"
3117
+ (click)="_sort($event)"
3118
+ class="ng2-smart-sort-link sort"
3119
+ [class]="currentDirection"
3120
+ >
3121
+ {{ column.title }}
3122
+ </a>
3123
+ } @else {
3124
+ <span class="ng2-smart-sort">{{ column.title }}</span>
3023
3125
  }
3024
- `, styles: ["a.sort.asc,a.sort.desc{font-weight:700}a.sort.asc:after,a.sort.desc:after{content:\"\";display:inline-block;width:0;height:0;border-bottom:4px solid rgba(0,0,0,.3);border-top:4px solid transparent;border-left:4px solid transparent;border-right:4px solid transparent;margin-bottom:2px}a.sort.desc:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);margin-bottom:-2px}\n"] }]
3126
+ `, standalone: true, styles: ["a.sort.asc,a.sort.desc{font-weight:700}a.sort.asc:after,a.sort.desc:after{content:\"\";display:inline-block;width:0;height:0;border-bottom:4px solid rgba(0,0,0,.3);border-top:4px solid transparent;border-left:4px solid transparent;border-right:4px solid transparent;margin-bottom:2px}a.sort.desc:after{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);margin-bottom:-2px}\n"] }]
3025
3127
  }], propDecorators: { column: [{
3026
3128
  type: Input
3027
3129
  }], source: [{
3028
3130
  type: Input
3029
- }], sort: [{
3030
- type: Output
3031
3131
  }] } });
3032
3132
 
3033
3133
  class ColumnTitleComponent {
3034
3134
  constructor() {
3035
- this.sort = new EventEmitter();
3135
+ this.sort = output();
3036
3136
  }
3037
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3038
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ColumnTitleComponent, selector: "ng2-st-column-title", inputs: { column: "column", source: "source" }, outputs: { sort: "sort" }, ngImport: i0, template: `
3137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ColumnTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ColumnTitleComponent, isStandalone: true, selector: "ng2-st-column-title", inputs: { column: "column", source: "source" }, outputs: { sort: "sort" }, ngImport: i0, template: `
3039
3139
  <div class="ng2-smart-title">
3040
- <ng2-smart-table-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-smart-table-title>
3140
+ <ng2-smart-table-title
3141
+ [source]="source"
3142
+ [column]="column"
3143
+ (sort)="sort.emit($event)"
3144
+ ></ng2-smart-table-title>
3041
3145
  </div>
3042
3146
  `, isInline: true, dependencies: [{ kind: "component", type: TitleComponent, selector: "ng2-smart-table-title", inputs: ["column", "source"], outputs: ["sort"] }] }); }
3043
3147
  }
3044
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnTitleComponent, decorators: [{
3148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ColumnTitleComponent, decorators: [{
3045
3149
  type: Component,
3046
3150
  args: [{
3047
- selector: 'ng2-st-column-title',
3151
+ selector: "ng2-st-column-title",
3048
3152
  template: `
3049
3153
  <div class="ng2-smart-title">
3050
- <ng2-smart-table-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-smart-table-title>
3154
+ <ng2-smart-table-title
3155
+ [source]="source"
3156
+ [column]="column"
3157
+ (sort)="sort.emit($event)"
3158
+ ></ng2-smart-table-title>
3051
3159
  </div>
3052
3160
  `,
3161
+ standalone: true,
3162
+ imports: [TitleComponent],
3053
3163
  }]
3054
3164
  }], propDecorators: { column: [{
3055
3165
  type: Input
3056
3166
  }], source: [{
3057
3167
  type: Input
3058
- }], sort: [{
3059
- type: Output
3060
3168
  }] } });
3061
3169
 
3062
3170
  class TheadTitlesRowComponent {
3063
3171
  constructor() {
3064
- this.sort = new EventEmitter();
3065
- this.selectAllRows = new EventEmitter();
3172
+ this.sort = output();
3173
+ this.selectAllRows = output();
3066
3174
  this.isMultiSelectVisible = false;
3067
3175
  this.showActionColumnLeft = false;
3068
3176
  this.showActionColumnRight = false;
3069
3177
  }
3070
3178
  ngOnChanges() {
3071
3179
  this.isMultiSelectVisible = this.grid.isMultiSelectVisible();
3072
- this.showActionColumnLeft = this.grid.showActionColumn('left');
3073
- this.showActionColumnRight = this.grid.showActionColumn('right');
3180
+ this.showActionColumnLeft = this.grid.showActionColumn("left");
3181
+ this.showActionColumnRight = this.grid.showActionColumn("right");
3074
3182
  }
3075
3183
  getVisibleColumns(columns) {
3076
3184
  return (columns || []).filter((column) => !column.hide);
3077
3185
  }
3078
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheadTitlesRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3079
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TheadTitlesRowComponent, selector: "[ng2-st-thead-titles-row]", inputs: { grid: "grid", source: "source" }, outputs: { sort: "sort", selectAllRows: "selectAllRows" }, usesOnChanges: true, ngImport: i0, template: `
3186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadTitlesRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3187
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: TheadTitlesRowComponent, isStandalone: true, selector: "[ng2-st-thead-titles-row]", inputs: { grid: "grid", source: "source" }, outputs: { sort: "sort", selectAllRows: "selectAllRows" }, usesOnChanges: true, ngImport: i0, template: `
3080
3188
  @if (isMultiSelectVisible) {
3081
- <th ng2-st-checkbox-select-all
3082
- [grid]="grid"
3189
+ <th
3190
+ ng2-st-checkbox-select-all
3191
+ [grid]="grid"
3192
+ [source]="source"
3193
+ (click)="selectAllRows.emit($event)"
3194
+ ></th>
3195
+ } @if (showActionColumnLeft) {
3196
+ <th ng2-st-actions-title [grid]="grid"></th>
3197
+ } @for (column of getVisibleColumns(grid.getColumns()); track column.id) {
3198
+ <th
3199
+ class="ng2-smart-th {{ column.id }}"
3200
+ [class]="column.class"
3201
+ [style.width]="column.width"
3202
+ >
3203
+ <ng2-st-column-title
3083
3204
  [source]="source"
3084
- (click)="selectAllRows.emit($event)">
3085
- </th>
3086
- }
3087
- @if (showActionColumnLeft) {
3088
- <th ng2-st-actions-title [grid]="grid"></th>
3089
- }
3090
- @for (column of getVisibleColumns(grid.getColumns()); track column.id) {
3091
- <th
3092
- class="ng2-smart-th {{ column.id }}"
3093
- [ngClass]="column.class"
3094
- [style.width]="column.width">
3095
- <ng2-st-column-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-st-column-title>
3096
- </th>
3097
- }
3098
- @if (showActionColumnRight) {
3099
- <th ng2-st-actions-title [grid]="grid"></th>
3205
+ [column]="column"
3206
+ (sort)="sort.emit($event)"
3207
+ ></ng2-st-column-title>
3208
+ </th>
3209
+ } @if (showActionColumnRight) {
3210
+ <th ng2-st-actions-title [grid]="grid"></th>
3100
3211
  }
3101
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ActionsTitleComponent, selector: "[ng2-st-actions-title]", inputs: ["grid"] }, { kind: "component", type: CheckboxSelectAllComponent, selector: "[ng2-st-checkbox-select-all]", inputs: ["grid", "source"] }, { kind: "component", type: ColumnTitleComponent, selector: "ng2-st-column-title", inputs: ["column", "source"], outputs: ["sort"] }] }); }
3212
+ `, isInline: true, dependencies: [{ kind: "component", type: CheckboxSelectAllComponent, selector: "[ng2-st-checkbox-select-all]", inputs: ["grid", "source"] }, { kind: "component", type: ActionsTitleComponent, selector: "[ng2-st-actions-title]", inputs: ["grid"] }, { kind: "component", type: ColumnTitleComponent, selector: "ng2-st-column-title", inputs: ["column", "source"], outputs: ["sort"] }] }); }
3102
3213
  }
3103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheadTitlesRowComponent, decorators: [{
3214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TheadTitlesRowComponent, decorators: [{
3104
3215
  type: Component,
3105
3216
  args: [{
3106
- selector: '[ng2-st-thead-titles-row]',
3217
+ selector: "[ng2-st-thead-titles-row]",
3107
3218
  template: `
3108
3219
  @if (isMultiSelectVisible) {
3109
- <th ng2-st-checkbox-select-all
3110
- [grid]="grid"
3220
+ <th
3221
+ ng2-st-checkbox-select-all
3222
+ [grid]="grid"
3223
+ [source]="source"
3224
+ (click)="selectAllRows.emit($event)"
3225
+ ></th>
3226
+ } @if (showActionColumnLeft) {
3227
+ <th ng2-st-actions-title [grid]="grid"></th>
3228
+ } @for (column of getVisibleColumns(grid.getColumns()); track column.id) {
3229
+ <th
3230
+ class="ng2-smart-th {{ column.id }}"
3231
+ [class]="column.class"
3232
+ [style.width]="column.width"
3233
+ >
3234
+ <ng2-st-column-title
3111
3235
  [source]="source"
3112
- (click)="selectAllRows.emit($event)">
3113
- </th>
3114
- }
3115
- @if (showActionColumnLeft) {
3116
- <th ng2-st-actions-title [grid]="grid"></th>
3117
- }
3118
- @for (column of getVisibleColumns(grid.getColumns()); track column.id) {
3119
- <th
3120
- class="ng2-smart-th {{ column.id }}"
3121
- [ngClass]="column.class"
3122
- [style.width]="column.width">
3123
- <ng2-st-column-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-st-column-title>
3124
- </th>
3125
- }
3126
- @if (showActionColumnRight) {
3127
- <th ng2-st-actions-title [grid]="grid"></th>
3236
+ [column]="column"
3237
+ (sort)="sort.emit($event)"
3238
+ ></ng2-st-column-title>
3239
+ </th>
3240
+ } @if (showActionColumnRight) {
3241
+ <th ng2-st-actions-title [grid]="grid"></th>
3128
3242
  }
3129
- `,
3243
+ `,
3244
+ standalone: true,
3245
+ imports: [
3246
+ CheckboxSelectAllComponent,
3247
+ ActionsTitleComponent,
3248
+ ColumnTitleComponent,
3249
+ ],
3130
3250
  }]
3131
3251
  }], propDecorators: { grid: [{
3132
3252
  type: Input
3133
3253
  }], source: [{
3134
3254
  type: Input
3135
- }], sort: [{
3136
- type: Output
3137
- }], selectAllRows: [{
3138
- type: Output
3139
3255
  }] } });
3140
3256
 
3141
3257
  class Ng2SmartTableTheadComponent {
3142
3258
  constructor() {
3143
- this.sort = new EventEmitter();
3144
- this.selectAllRows = new EventEmitter();
3145
- this.create = new EventEmitter();
3146
- this.filter = new EventEmitter();
3259
+ this.sort = output();
3260
+ this.selectAllRows = output();
3261
+ this.create = output();
3262
+ this.filter = output();
3147
3263
  this.isHideHeader = false;
3148
3264
  this.isHideSubHeader = false;
3149
3265
  }
@@ -3151,100 +3267,92 @@ class Ng2SmartTableTheadComponent {
3151
3267
  this.isHideHeader = this.grid.getSetting('hideHeader', false);
3152
3268
  this.isHideSubHeader = this.grid.getSetting('hideSubHeader', false);
3153
3269
  }
3154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableTheadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3155
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: Ng2SmartTableTheadComponent, selector: "[ng2-st-thead]", inputs: { grid: "grid", source: "source", createConfirm: "createConfirm" }, outputs: { sort: "sort", selectAllRows: "selectAllRows", create: "create", filter: "filter" }, usesOnChanges: true, ngImport: i0, template: "@if (!isHideHeader) {\n <tr ng2-st-thead-titles-row\n class=\"ng2-smart-titles\"\n [grid]=\"grid\"\n [source]=\"source\"\n (sort)=\"sort.emit($event)\"\n (selectAllRows)=\"selectAllRows.emit($event)\">\n </tr>\n}\n\n@if (!isHideSubHeader) {\n <tr ng2-st-thead-filters-row\n class=\"ng2-smart-filters\"\n [grid]=\"grid\"\n [source]=\"source\"\n (create)=\"create.emit($event)\"\n (filter)=\"filter.emit($event)\">\n </tr>\n}\n\n@if (grid.createFormShown) {\n <tr ng2-st-thead-form-row\n [grid]=\"grid\"\n [createConfirm]=\"createConfirm\">\n </tr>\n}\n", dependencies: [{ kind: "component", type: TheadFitlersRowComponent, selector: "[ng2-st-thead-filters-row]", inputs: ["grid", "source"], outputs: ["create", "filter"] }, { kind: "component", type: TheadFormRowComponent, selector: "[ng2-st-thead-form-row]", inputs: ["grid", "row", "createConfirm"], outputs: ["create"] }, { kind: "component", type: TheadTitlesRowComponent, selector: "[ng2-st-thead-titles-row]", inputs: ["grid", "source"], outputs: ["sort", "selectAllRows"] }] }); }
3270
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTheadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3271
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: Ng2SmartTableTheadComponent, isStandalone: true, selector: "[ng2-st-thead]", inputs: { grid: "grid", source: "source", createConfirm: "createConfirm" }, outputs: { sort: "sort", selectAllRows: "selectAllRows", create: "create", filter: "filter" }, usesOnChanges: true, ngImport: i0, template: "@if (!isHideHeader) {\n <tr ng2-st-thead-titles-row\n class=\"ng2-smart-titles\"\n [grid]=\"grid\"\n [source]=\"source\"\n (sort)=\"sort.emit($event)\"\n (selectAllRows)=\"selectAllRows.emit($event)\">\n </tr>\n}\n\n@if (!isHideSubHeader) {\n <tr ng2-st-thead-filters-row\n class=\"ng2-smart-filters\"\n [grid]=\"grid\"\n [source]=\"source\"\n (create)=\"create.emit($event)\"\n (filter)=\"filter.emit($event)\">\n </tr>\n}\n\n@if (grid.createFormShown) {\n <tr ng2-st-thead-form-row\n [grid]=\"grid\"\n [createConfirm]=\"createConfirm\">\n </tr>\n}\n", dependencies: [{ kind: "component", type: TheadTitlesRowComponent, selector: "[ng2-st-thead-titles-row]", inputs: ["grid", "source"], outputs: ["sort", "selectAllRows"] }, { kind: "component", type: TheadFitlersRowComponent, selector: "[ng2-st-thead-filters-row]", inputs: ["grid", "source"], outputs: ["create", "filter"] }, { kind: "component", type: TheadFormRowComponent, selector: "[ng2-st-thead-form-row]", inputs: ["grid", "row", "createConfirm"], outputs: ["create"] }] }); }
3156
3272
  }
3157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableTheadComponent, decorators: [{
3273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableTheadComponent, decorators: [{
3158
3274
  type: Component,
3159
- args: [{ selector: '[ng2-st-thead]', template: "@if (!isHideHeader) {\n <tr ng2-st-thead-titles-row\n class=\"ng2-smart-titles\"\n [grid]=\"grid\"\n [source]=\"source\"\n (sort)=\"sort.emit($event)\"\n (selectAllRows)=\"selectAllRows.emit($event)\">\n </tr>\n}\n\n@if (!isHideSubHeader) {\n <tr ng2-st-thead-filters-row\n class=\"ng2-smart-filters\"\n [grid]=\"grid\"\n [source]=\"source\"\n (create)=\"create.emit($event)\"\n (filter)=\"filter.emit($event)\">\n </tr>\n}\n\n@if (grid.createFormShown) {\n <tr ng2-st-thead-form-row\n [grid]=\"grid\"\n [createConfirm]=\"createConfirm\">\n </tr>\n}\n" }]
3275
+ args: [{ selector: '[ng2-st-thead]', standalone: true, imports: [TheadTitlesRowComponent, TheadFitlersRowComponent, TheadFormRowComponent], template: "@if (!isHideHeader) {\n <tr ng2-st-thead-titles-row\n class=\"ng2-smart-titles\"\n [grid]=\"grid\"\n [source]=\"source\"\n (sort)=\"sort.emit($event)\"\n (selectAllRows)=\"selectAllRows.emit($event)\">\n </tr>\n}\n\n@if (!isHideSubHeader) {\n <tr ng2-st-thead-filters-row\n class=\"ng2-smart-filters\"\n [grid]=\"grid\"\n [source]=\"source\"\n (create)=\"create.emit($event)\"\n (filter)=\"filter.emit($event)\">\n </tr>\n}\n\n@if (grid.createFormShown) {\n <tr ng2-st-thead-form-row\n [grid]=\"grid\"\n [createConfirm]=\"createConfirm\">\n </tr>\n}\n" }]
3160
3276
  }], propDecorators: { grid: [{
3161
3277
  type: Input
3162
3278
  }], source: [{
3163
3279
  type: Input
3164
3280
  }], createConfirm: [{
3165
3281
  type: Input
3166
- }], sort: [{
3167
- type: Output
3168
- }], selectAllRows: [{
3169
- type: Output
3170
- }], create: [{
3171
- type: Output
3172
- }], filter: [{
3173
- type: Output
3174
3282
  }] } });
3175
3283
 
3176
3284
  class Ng2SmartTableComponent {
3177
3285
  constructor() {
3178
- this.multiRowSelect = new EventEmitter();
3179
- this.rowClicked = new EventEmitter();
3180
- this.delete = new EventEmitter();
3181
- this.edit = new EventEmitter();
3182
- this.editCancel = new EventEmitter();
3183
- this.create = new EventEmitter();
3184
- this.custom = new EventEmitter();
3185
- this.deleteConfirm = new EventEmitter();
3186
- this.editConfirm = new EventEmitter();
3187
- this.createConfirm = new EventEmitter();
3188
- this.rowHover = new EventEmitter();
3189
- this.tableClass = '';
3190
- this.tableId = '';
3286
+ this.multiRowSelect = output();
3287
+ this.rowClicked = output();
3288
+ this.delete = output();
3289
+ this.edit = output();
3290
+ this.editCancel = output();
3291
+ this.create = output();
3292
+ this.custom = output();
3293
+ this.deleteConfirm = output();
3294
+ this.editConfirm = output();
3295
+ this.createConfirm = output();
3296
+ this.rowHover = output();
3297
+ this.tableClass = "";
3298
+ this.tableId = "";
3191
3299
  this.perPageSelect = [];
3192
3300
  this.isHideHeader = false;
3193
3301
  this.isHideSubHeader = false;
3194
3302
  this.isPagerDisplay = false;
3195
- this.rowClassFunction = () => '';
3303
+ this.rowClassFunction = () => "";
3196
3304
  this.defaultSettings = {
3197
- mode: 'inline', // inline|external|click-to-edit
3198
- selectMode: 'single', // single|multi
3305
+ mode: "inline", // inline|external|click-to-edit
3306
+ selectMode: "single", // single|multi
3199
3307
  selectedRowIndex: -1,
3200
3308
  switchPageToSelectedRowPage: false,
3201
3309
  hideHeader: false,
3202
3310
  hideSubHeader: false,
3203
3311
  actions: {
3204
- columnTitle: 'Actions',
3312
+ columnTitle: "Actions",
3205
3313
  add: true,
3206
3314
  edit: true,
3207
3315
  delete: true,
3208
3316
  custom: [],
3209
- position: 'left', // left|right
3317
+ position: "left", // left|right
3210
3318
  },
3211
3319
  filter: {
3212
- inputClass: '',
3320
+ inputClass: "",
3213
3321
  },
3214
3322
  edit: {
3215
- inputClass: '',
3216
- editButtonContent: 'Edit',
3217
- saveButtonContent: 'Update',
3218
- cancelButtonContent: 'Cancel',
3323
+ inputClass: "",
3324
+ editButtonContent: "Edit",
3325
+ saveButtonContent: "Update",
3326
+ cancelButtonContent: "Cancel",
3219
3327
  confirmSave: false,
3220
3328
  },
3221
3329
  add: {
3222
- inputClass: '',
3223
- addButtonContent: 'Add New',
3224
- createButtonContent: 'Create',
3225
- cancelButtonContent: 'Cancel',
3330
+ inputClass: "",
3331
+ addButtonContent: "Add New",
3332
+ createButtonContent: "Create",
3333
+ cancelButtonContent: "Cancel",
3226
3334
  confirmCreate: false,
3227
3335
  },
3228
3336
  delete: {
3229
- deleteButtonContent: 'Delete',
3337
+ deleteButtonContent: "Delete",
3230
3338
  confirmDelete: false,
3231
3339
  },
3232
3340
  attr: {
3233
- id: '',
3234
- class: '',
3341
+ id: "",
3342
+ class: "",
3235
3343
  },
3236
- noDataMessage: 'No data found',
3344
+ noDataMessage: "No data found",
3237
3345
  columns: [],
3238
3346
  pager: false,
3239
- rowClassFunction: () => '',
3347
+ rowClassFunction: () => "",
3240
3348
  };
3241
3349
  }
3242
3350
  ngOnChanges(changes) {
3243
3351
  if (this.grid) {
3244
- if (changes['settings']) {
3352
+ if (changes["settings"]) {
3245
3353
  this.grid.setSettings(this.prepareSettings());
3246
3354
  }
3247
- if (changes['source']) {
3355
+ if (changes["source"]) {
3248
3356
  this.source = this.prepareSource();
3249
3357
  this.grid.setSource(this.source);
3250
3358
  }
@@ -3252,13 +3360,13 @@ class Ng2SmartTableComponent {
3252
3360
  else {
3253
3361
  this.initGrid();
3254
3362
  }
3255
- this.tableId = this.grid.getSetting('attr.id');
3256
- this.tableClass = this.grid.getSetting('attr.class');
3257
- this.isHideHeader = this.grid.getSetting('hideHeader');
3258
- this.isHideSubHeader = this.grid.getSetting('hideSubHeader');
3259
- this.isPagerDisplay = this.grid.getSetting('pager.display', false);
3260
- this.perPageSelect = this.grid.getSetting('pager.perPageSelect');
3261
- this.rowClassFunction = this.grid.getSetting('rowClassFunction', () => '');
3363
+ this.tableId = this.grid.getSetting("attr.id");
3364
+ this.tableClass = this.grid.getSetting("attr.class");
3365
+ this.isHideHeader = this.grid.getSetting("hideHeader");
3366
+ this.isHideSubHeader = this.grid.getSetting("hideSubHeader");
3367
+ this.isPagerDisplay = this.grid.getSetting("pager.display", false);
3368
+ this.perPageSelect = this.grid.getSetting("pager.perPageSelect");
3369
+ this.rowClassFunction = this.grid.getSetting("rowClassFunction", () => "");
3262
3370
  }
3263
3371
  multipleSelectRow(row) {
3264
3372
  this.grid.multipleSelectRow(row);
@@ -3299,313 +3407,25 @@ class Ng2SmartTableComponent {
3299
3407
  selected: this.grid.dataSet.getSelectedRowsData(),
3300
3408
  });
3301
3409
  }
3302
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3303
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: Ng2SmartTableComponent, selector: "ng2-smart-table", inputs: { source: "source", settings: "settings" }, outputs: { multiRowSelect: "multiRowSelect", rowClicked: "rowClicked", delete: "delete", edit: "edit", editCancel: "editCancel", create: "create", custom: "custom", deleteConfirm: "deleteConfirm", editConfirm: "editConfirm", createConfirm: "createConfirm", rowHover: "rowHover" }, usesOnChanges: true, ngImport: i0, template: "<table [id]=\"tableId\" [ngClass]=\"tableClass\">\n\n @if (!isHideHeader || !isHideSubHeader) {\n <thead ng2-st-thead\n [grid]=\"grid\"\n [source]=\"source\"\n [createConfirm]=\"createConfirm\"\n (create)=\"create.emit($event)\"\n (selectAllRows)=\"onSelectAllRows()\">\n </thead>\n }\n\n <tbody ng2-st-tbody [grid]=\"grid\"\n [source]=\"source\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [rowClassFunction]=\"rowClassFunction\"\n (edit)=\"edit.emit($event)\"\n (editCancel)=\"editCancel.emit($event)\"\n (delete)=\"delete.emit($event)\"\n (custom)=\"custom.emit($event)\"\n (userClickedRow)=\"emitUserRowClicked($event)\"\n (multipleSelectRow)=\"multipleSelectRow($event)\">\n </tbody>\n\n</table>\n\n@if (isPagerDisplay) {\n <ng2-smart-table-pager\n [source]=\"source\"\n [perPageSelect]=\"perPageSelect\">\n </ng2-smart-table-pager>\n}\n", styles: [":host{font-size:1rem}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep button,:host ::ng-deep input,:host ::ng-deep optgroup,:host ::ng-deep select,:host ::ng-deep textarea{color:inherit;font:inherit;margin:0}:host ::ng-deep table{line-height:1.5em;border-collapse:collapse;border-spacing:0;display:table;width:100%;max-width:100%;word-break:normal;word-break:keep-all;overflow:auto}:host ::ng-deep table tr th{font-weight:700}:host ::ng-deep table tr section{font-size:.75em;font-weight:700}:host ::ng-deep table tr td,:host ::ng-deep table tr th{font-size:.875em;margin:0;padding:.5em 1em}:host ::ng-deep a{color:#1e6bb8;text-decoration:none}:host ::ng-deep a:hover{text-decoration:underline}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PagerComponent, selector: "ng2-smart-table-pager", inputs: ["source", "perPageSelect"], outputs: ["changePage"] }, { kind: "component", type: Ng2SmartTableTbodyComponent, selector: "[ng2-st-tbody]", inputs: ["grid", "source", "deleteConfirm", "editConfirm", "rowClassFunction"], outputs: ["save", "cancel", "edit", "editCancel", "delete", "custom", "edited", "userSelectRow", "userClickedRow", "editRowSelect", "multipleSelectRow"] }, { kind: "component", type: Ng2SmartTableTheadComponent, selector: "[ng2-st-thead]", inputs: ["grid", "source", "createConfirm"], outputs: ["sort", "selectAllRows", "create", "filter"] }] }); }
3410
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3411
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: Ng2SmartTableComponent, isStandalone: true, selector: "ng2-smart-table", inputs: { source: "source", settings: "settings" }, outputs: { multiRowSelect: "multiRowSelect", rowClicked: "rowClicked", delete: "delete", edit: "edit", editCancel: "editCancel", create: "create", custom: "custom", deleteConfirm: "deleteConfirm", editConfirm: "editConfirm", createConfirm: "createConfirm", rowHover: "rowHover" }, usesOnChanges: true, ngImport: i0, template: "<table [id]=\"tableId\" [class]=\"tableClass\">\n\n @if (!isHideHeader || !isHideSubHeader) {\n <thead ng2-st-thead\n [grid]=\"grid\"\n [source]=\"source\"\n [createConfirm]=\"createConfirm\"\n (create)=\"create.emit($event)\"\n (selectAllRows)=\"onSelectAllRows()\">\n </thead>\n }\n\n <tbody ng2-st-tbody [grid]=\"grid\"\n [source]=\"source\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [rowClassFunction]=\"rowClassFunction\"\n (edit)=\"edit.emit($event)\"\n (editCancel)=\"editCancel.emit($event)\"\n (delete)=\"delete.emit($event)\"\n (custom)=\"custom.emit($event)\"\n (userClickedRow)=\"emitUserRowClicked($event)\"\n (multipleSelectRow)=\"multipleSelectRow($event)\">\n </tbody>\n\n</table>\n\n@if (isPagerDisplay) {\n <ng2-smart-table-pager\n [source]=\"source\"\n [perPageSelect]=\"perPageSelect\">\n </ng2-smart-table-pager>\n}\n", styles: [":host{font-size:1rem}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep button,:host ::ng-deep input,:host ::ng-deep optgroup,:host ::ng-deep select,:host ::ng-deep textarea{color:inherit;font:inherit;margin:0}:host ::ng-deep table{line-height:1.5em;border-collapse:collapse;border-spacing:0;display:table;width:100%;max-width:100%;word-break:normal;word-break:keep-all;overflow:auto}:host ::ng-deep table tr th{font-weight:700}:host ::ng-deep table tr section{font-size:.75em;font-weight:700}:host ::ng-deep table tr td,:host ::ng-deep table tr th{font-size:.875em;margin:0;padding:.5em 1em}:host ::ng-deep a{color:#1e6bb8;text-decoration:none}:host ::ng-deep a:hover{text-decoration:underline}\n"], dependencies: [{ kind: "component", type: Ng2SmartTableTheadComponent, selector: "[ng2-st-thead]", inputs: ["grid", "source", "createConfirm"], outputs: ["sort", "selectAllRows", "create", "filter"] }, { kind: "component", type: Ng2SmartTableTbodyComponent, selector: "[ng2-st-tbody]", inputs: ["grid", "source", "deleteConfirm", "editConfirm", "rowClassFunction"], outputs: ["save", "cancel", "edit", "editCancel", "delete", "custom", "edited", "userSelectRow", "userClickedRow", "editRowSelect", "multipleSelectRow"] }, { kind: "component", type: PagerComponent, selector: "ng2-smart-table-pager", inputs: ["source", "perPageSelect"], outputs: ["changePage"] }] }); }
3304
3412
  }
3305
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableComponent, decorators: [{
3413
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: Ng2SmartTableComponent, decorators: [{
3306
3414
  type: Component,
3307
- args: [{ selector: 'ng2-smart-table', template: "<table [id]=\"tableId\" [ngClass]=\"tableClass\">\n\n @if (!isHideHeader || !isHideSubHeader) {\n <thead ng2-st-thead\n [grid]=\"grid\"\n [source]=\"source\"\n [createConfirm]=\"createConfirm\"\n (create)=\"create.emit($event)\"\n (selectAllRows)=\"onSelectAllRows()\">\n </thead>\n }\n\n <tbody ng2-st-tbody [grid]=\"grid\"\n [source]=\"source\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [rowClassFunction]=\"rowClassFunction\"\n (edit)=\"edit.emit($event)\"\n (editCancel)=\"editCancel.emit($event)\"\n (delete)=\"delete.emit($event)\"\n (custom)=\"custom.emit($event)\"\n (userClickedRow)=\"emitUserRowClicked($event)\"\n (multipleSelectRow)=\"multipleSelectRow($event)\">\n </tbody>\n\n</table>\n\n@if (isPagerDisplay) {\n <ng2-smart-table-pager\n [source]=\"source\"\n [perPageSelect]=\"perPageSelect\">\n </ng2-smart-table-pager>\n}\n", styles: [":host{font-size:1rem}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep button,:host ::ng-deep input,:host ::ng-deep optgroup,:host ::ng-deep select,:host ::ng-deep textarea{color:inherit;font:inherit;margin:0}:host ::ng-deep table{line-height:1.5em;border-collapse:collapse;border-spacing:0;display:table;width:100%;max-width:100%;word-break:normal;word-break:keep-all;overflow:auto}:host ::ng-deep table tr th{font-weight:700}:host ::ng-deep table tr section{font-size:.75em;font-weight:700}:host ::ng-deep table tr td,:host ::ng-deep table tr th{font-size:.875em;margin:0;padding:.5em 1em}:host ::ng-deep a{color:#1e6bb8;text-decoration:none}:host ::ng-deep a:hover{text-decoration:underline}\n"] }]
3415
+ args: [{ selector: "ng2-smart-table", standalone: true, imports: [
3416
+ Ng2SmartTableTheadComponent,
3417
+ Ng2SmartTableTbodyComponent,
3418
+ PagerComponent,
3419
+ ], template: "<table [id]=\"tableId\" [class]=\"tableClass\">\n\n @if (!isHideHeader || !isHideSubHeader) {\n <thead ng2-st-thead\n [grid]=\"grid\"\n [source]=\"source\"\n [createConfirm]=\"createConfirm\"\n (create)=\"create.emit($event)\"\n (selectAllRows)=\"onSelectAllRows()\">\n </thead>\n }\n\n <tbody ng2-st-tbody [grid]=\"grid\"\n [source]=\"source\"\n [deleteConfirm]=\"deleteConfirm\"\n [editConfirm]=\"editConfirm\"\n [rowClassFunction]=\"rowClassFunction\"\n (edit)=\"edit.emit($event)\"\n (editCancel)=\"editCancel.emit($event)\"\n (delete)=\"delete.emit($event)\"\n (custom)=\"custom.emit($event)\"\n (userClickedRow)=\"emitUserRowClicked($event)\"\n (multipleSelectRow)=\"multipleSelectRow($event)\">\n </tbody>\n\n</table>\n\n@if (isPagerDisplay) {\n <ng2-smart-table-pager\n [source]=\"source\"\n [perPageSelect]=\"perPageSelect\">\n </ng2-smart-table-pager>\n}\n", styles: [":host{font-size:1rem}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep button,:host ::ng-deep input,:host ::ng-deep optgroup,:host ::ng-deep select,:host ::ng-deep textarea{color:inherit;font:inherit;margin:0}:host ::ng-deep table{line-height:1.5em;border-collapse:collapse;border-spacing:0;display:table;width:100%;max-width:100%;word-break:normal;word-break:keep-all;overflow:auto}:host ::ng-deep table tr th{font-weight:700}:host ::ng-deep table tr section{font-size:.75em;font-weight:700}:host ::ng-deep table tr td,:host ::ng-deep table tr th{font-size:.875em;margin:0;padding:.5em 1em}:host ::ng-deep a{color:#1e6bb8;text-decoration:none}:host ::ng-deep a:hover{text-decoration:underline}\n"] }]
3308
3420
  }], propDecorators: { source: [{
3309
3421
  type: Input
3310
3422
  }], settings: [{
3311
3423
  type: Input
3312
- }], multiRowSelect: [{
3313
- type: Output
3314
- }], rowClicked: [{
3315
- type: Output
3316
- }], delete: [{
3317
- type: Output
3318
- }], edit: [{
3319
- type: Output
3320
- }], editCancel: [{
3321
- type: Output
3322
- }], create: [{
3323
- type: Output
3324
- }], custom: [{
3325
- type: Output
3326
- }], deleteConfirm: [{
3327
- type: Output
3328
- }], editConfirm: [{
3329
- type: Output
3330
- }], createConfirm: [{
3331
- type: Output
3332
- }], rowHover: [{
3333
- type: Output
3334
3424
  }] } });
3335
3425
 
3336
- const CELL_COMPONENTS = [
3337
- CellComponent,
3338
- EditCellDefault,
3339
- DefaultEditor,
3340
- CustomEditComponent,
3341
- DefaultEditComponent,
3342
- EditCellComponent,
3343
- CheckboxEditorComponent,
3344
- InputEditorComponent,
3345
- SelectEditorComponent,
3346
- TextareaEditorComponent,
3347
- CustomViewComponent,
3348
- ViewCellComponent,
3349
- ];
3350
- class CellModule {
3351
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3352
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CellModule, declarations: [CellComponent,
3353
- EditCellDefault,
3354
- DefaultEditor,
3355
- CustomEditComponent,
3356
- DefaultEditComponent,
3357
- EditCellComponent,
3358
- CheckboxEditorComponent,
3359
- InputEditorComponent,
3360
- SelectEditorComponent,
3361
- TextareaEditorComponent,
3362
- CustomViewComponent,
3363
- ViewCellComponent], imports: [CommonModule,
3364
- FormsModule], exports: [CellComponent,
3365
- EditCellDefault,
3366
- DefaultEditor,
3367
- CustomEditComponent,
3368
- DefaultEditComponent,
3369
- EditCellComponent,
3370
- CheckboxEditorComponent,
3371
- InputEditorComponent,
3372
- SelectEditorComponent,
3373
- TextareaEditorComponent,
3374
- CustomViewComponent,
3375
- ViewCellComponent] }); }
3376
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellModule, imports: [CommonModule,
3377
- FormsModule] }); }
3378
- }
3379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellModule, decorators: [{
3380
- type: NgModule,
3381
- args: [{
3382
- imports: [
3383
- CommonModule,
3384
- FormsModule,
3385
- ],
3386
- declarations: [
3387
- ...CELL_COMPONENTS,
3388
- ],
3389
- exports: [
3390
- ...CELL_COMPONENTS,
3391
- ],
3392
- }]
3393
- }] });
3394
-
3395
- const FILTER_COMPONENTS = [
3396
- FilterDefault,
3397
- DefaultFilter,
3398
- FilterComponent,
3399
- DefaultFilterComponent,
3400
- CustomFilterComponent,
3401
- CheckboxFilterComponent,
3402
- InputFilterComponent,
3403
- SelectFilterComponent,
3404
- ];
3405
- class FilterModule {
3406
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3407
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, declarations: [FilterDefault,
3408
- DefaultFilter,
3409
- FilterComponent,
3410
- DefaultFilterComponent,
3411
- CustomFilterComponent,
3412
- CheckboxFilterComponent,
3413
- InputFilterComponent,
3414
- SelectFilterComponent], imports: [CommonModule,
3415
- FormsModule,
3416
- ReactiveFormsModule], exports: [FilterDefault,
3417
- DefaultFilter,
3418
- FilterComponent,
3419
- DefaultFilterComponent,
3420
- CustomFilterComponent,
3421
- CheckboxFilterComponent,
3422
- InputFilterComponent,
3423
- SelectFilterComponent] }); }
3424
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, imports: [CommonModule,
3425
- FormsModule,
3426
- ReactiveFormsModule] }); }
3427
- }
3428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterModule, decorators: [{
3429
- type: NgModule,
3430
- args: [{
3431
- imports: [
3432
- CommonModule,
3433
- FormsModule,
3434
- ReactiveFormsModule,
3435
- ],
3436
- declarations: [
3437
- ...FILTER_COMPONENTS,
3438
- ],
3439
- exports: [
3440
- ...FILTER_COMPONENTS,
3441
- ],
3442
- }]
3443
- }] });
3444
-
3445
- class PagerModule {
3446
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3447
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, declarations: [PagerComponent], imports: [CommonModule,
3448
- FormsModule], exports: [PagerComponent] }); }
3449
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, imports: [CommonModule,
3450
- FormsModule] }); }
3451
- }
3452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PagerModule, decorators: [{
3453
- type: NgModule,
3454
- args: [{
3455
- imports: [
3456
- CommonModule,
3457
- FormsModule,
3458
- ],
3459
- declarations: [
3460
- PagerComponent,
3461
- ],
3462
- exports: [
3463
- PagerComponent,
3464
- ],
3465
- }]
3466
- }] });
3467
-
3468
- const TBODY_COMPONENTS = [
3469
- TbodyCreateCancelComponent,
3470
- TbodyEditDeleteComponent,
3471
- TbodyCustomComponent,
3472
- Ng2SmartTableTbodyComponent
3473
- ];
3474
- class TBodyModule {
3475
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TBodyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3476
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TBodyModule, declarations: [TbodyCreateCancelComponent,
3477
- TbodyEditDeleteComponent,
3478
- TbodyCustomComponent,
3479
- Ng2SmartTableTbodyComponent], imports: [CommonModule,
3480
- FormsModule,
3481
- CellModule], exports: [TbodyCreateCancelComponent,
3482
- TbodyEditDeleteComponent,
3483
- TbodyCustomComponent,
3484
- Ng2SmartTableTbodyComponent] }); }
3485
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TBodyModule, imports: [CommonModule,
3486
- FormsModule,
3487
- CellModule] }); }
3488
- }
3489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TBodyModule, decorators: [{
3490
- type: NgModule,
3491
- args: [{
3492
- imports: [
3493
- CommonModule,
3494
- FormsModule,
3495
- CellModule,
3496
- ],
3497
- declarations: [
3498
- ...TBODY_COMPONENTS,
3499
- ],
3500
- exports: [
3501
- ...TBODY_COMPONENTS,
3502
- ],
3503
- }]
3504
- }] });
3505
-
3506
- const THEAD_COMPONENTS = [
3507
- ActionsComponent,
3508
- ActionsTitleComponent,
3509
- AddButtonComponent,
3510
- CheckboxSelectAllComponent,
3511
- ColumnTitleComponent,
3512
- TitleComponent,
3513
- TheadFitlersRowComponent,
3514
- TheadFormRowComponent,
3515
- TheadTitlesRowComponent,
3516
- Ng2SmartTableTheadComponent,
3517
- ];
3518
- class THeadModule {
3519
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: THeadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3520
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: THeadModule, declarations: [ActionsComponent,
3521
- ActionsTitleComponent,
3522
- AddButtonComponent,
3523
- CheckboxSelectAllComponent,
3524
- ColumnTitleComponent,
3525
- TitleComponent,
3526
- TheadFitlersRowComponent,
3527
- TheadFormRowComponent,
3528
- TheadTitlesRowComponent,
3529
- Ng2SmartTableTheadComponent], imports: [CommonModule,
3530
- FormsModule,
3531
- FilterModule,
3532
- CellModule], exports: [ActionsComponent,
3533
- ActionsTitleComponent,
3534
- AddButtonComponent,
3535
- CheckboxSelectAllComponent,
3536
- ColumnTitleComponent,
3537
- TitleComponent,
3538
- TheadFitlersRowComponent,
3539
- TheadFormRowComponent,
3540
- TheadTitlesRowComponent,
3541
- Ng2SmartTableTheadComponent] }); }
3542
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: THeadModule, imports: [CommonModule,
3543
- FormsModule,
3544
- FilterModule,
3545
- CellModule] }); }
3546
- }
3547
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: THeadModule, decorators: [{
3548
- type: NgModule,
3549
- args: [{
3550
- imports: [
3551
- CommonModule,
3552
- FormsModule,
3553
- FilterModule,
3554
- CellModule,
3555
- ],
3556
- declarations: [
3557
- ...THEAD_COMPONENTS,
3558
- ],
3559
- exports: [
3560
- ...THEAD_COMPONENTS,
3561
- ],
3562
- }]
3563
- }] });
3564
-
3565
- class Ng2SmartTableModule {
3566
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3567
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableModule, declarations: [Ng2SmartTableComponent], imports: [CommonModule,
3568
- FormsModule,
3569
- ReactiveFormsModule,
3570
- CellModule,
3571
- FilterModule,
3572
- PagerModule,
3573
- TBodyModule,
3574
- THeadModule], exports: [Ng2SmartTableComponent] }); }
3575
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableModule, imports: [CommonModule,
3576
- FormsModule,
3577
- ReactiveFormsModule,
3578
- CellModule,
3579
- FilterModule,
3580
- PagerModule,
3581
- TBodyModule,
3582
- THeadModule] }); }
3583
- }
3584
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng2SmartTableModule, decorators: [{
3585
- type: NgModule,
3586
- args: [{
3587
- imports: [
3588
- CommonModule,
3589
- FormsModule,
3590
- ReactiveFormsModule,
3591
- CellModule,
3592
- FilterModule,
3593
- PagerModule,
3594
- TBodyModule,
3595
- THeadModule,
3596
- ],
3597
- declarations: [
3598
- Ng2SmartTableComponent,
3599
- ],
3600
- exports: [
3601
- Ng2SmartTableComponent,
3602
- ],
3603
- }]
3604
- }] });
3605
-
3606
3426
  /**
3607
3427
  * Generated bundle index. Do not edit.
3608
3428
  */
3609
3429
 
3610
- export { Cell, Column, DataSource, DefaultEditor, DefaultFilter, Deferred, LocalDataSource, Ng2SmartTableComponent, Ng2SmartTableModule, Row, SmartTableOnChangedEventName };
3430
+ export { Cell, Column, DataSource, DefaultEditor, DefaultFilter, Deferred, LocalDataSource, Ng2SmartTableComponent, Row, SmartTableOnChangedEventName };
3611
3431
  //# sourceMappingURL=den4ik92-ng2-smart-table.mjs.map