@den4ik92/ng2-smart-table 2.1.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/esm2022/lib/components/cell/cell-edit-mode/custom-edit.component.mjs +5 -5
  2. package/esm2022/lib/components/cell/cell-edit-mode/default-edit.component.mjs +10 -11
  3. package/esm2022/lib/components/cell/cell-edit-mode/edit-cell-default.mjs +3 -3
  4. package/esm2022/lib/components/cell/cell-edit-mode/edit-cell.component.mjs +42 -31
  5. package/esm2022/lib/components/cell/cell-editors/checkbox-editor.component.mjs +4 -4
  6. package/esm2022/lib/components/cell/cell-editors/default-editor.mjs +3 -3
  7. package/esm2022/lib/components/cell/cell-editors/input-editor.component.mjs +4 -4
  8. package/esm2022/lib/components/cell/cell-editors/select-editor.component.mjs +30 -26
  9. package/esm2022/lib/components/cell/cell-editors/textarea-editor.component.mjs +4 -4
  10. package/esm2022/lib/components/cell/cell-view-mode/custom-view.component.mjs +9 -45
  11. package/esm2022/lib/components/cell/cell-view-mode/view-cell.component.mjs +30 -15
  12. package/esm2022/lib/components/cell/cell.component.mjs +26 -19
  13. package/esm2022/lib/components/cell/cell.module.mjs +4 -4
  14. package/esm2022/lib/components/filter/custom-filter.component.mjs +5 -5
  15. package/esm2022/lib/components/filter/default-filter.component.mjs +58 -46
  16. package/esm2022/lib/components/filter/filter-default.mjs +3 -3
  17. package/esm2022/lib/components/filter/filter-types/checkbox-filter.component.mjs +15 -11
  18. package/esm2022/lib/components/filter/filter-types/default-filter.mjs +4 -4
  19. package/esm2022/lib/components/filter/filter-types/input-filter.component.mjs +5 -5
  20. package/esm2022/lib/components/filter/filter-types/select-filter.component.mjs +23 -19
  21. package/esm2022/lib/components/filter/filter.component.mjs +56 -41
  22. package/esm2022/lib/components/filter/filter.module.mjs +4 -4
  23. package/esm2022/lib/components/pager/pager.component.mjs +128 -108
  24. package/esm2022/lib/components/pager/pager.module.mjs +4 -4
  25. package/esm2022/lib/components/tbody/cells/create-cancel.component.mjs +24 -27
  26. package/esm2022/lib/components/tbody/cells/custom.component.mjs +24 -23
  27. package/esm2022/lib/components/tbody/cells/edit-delete.component.mjs +169 -165
  28. package/esm2022/lib/components/tbody/tbody.component.mjs +5 -5
  29. package/esm2022/lib/components/tbody/tbody.module.mjs +4 -4
  30. package/esm2022/lib/components/thead/cells/actions-title.component.mjs +5 -5
  31. package/esm2022/lib/components/thead/cells/actions.component.mjs +3 -3
  32. package/esm2022/lib/components/thead/cells/add-button.component.mjs +15 -12
  33. package/esm2022/lib/components/thead/cells/checkbox-select-all.component.mjs +3 -3
  34. package/esm2022/lib/components/thead/cells/column-title.component.mjs +3 -3
  35. package/esm2022/lib/components/thead/cells/title/title.component.mjs +28 -20
  36. package/esm2022/lib/components/thead/rows/thead-filters-row.component.mjs +58 -43
  37. package/esm2022/lib/components/thead/rows/thead-form-row.component.mjs +75 -50
  38. package/esm2022/lib/components/thead/rows/thead-titles-row.component.mjs +42 -26
  39. package/esm2022/lib/components/thead/thead.component.mjs +8 -9
  40. package/esm2022/lib/components/thead/thead.module.mjs +4 -4
  41. package/esm2022/lib/lib/data-set/cell.mjs +1 -1
  42. package/esm2022/lib/lib/data-set/column.mjs +1 -1
  43. package/esm2022/lib/lib/data-set/data-set.mjs +1 -1
  44. package/esm2022/lib/lib/data-source/local/local.data-source.mjs +1 -1
  45. package/esm2022/lib/lib/data-source/local/local.sorter.mjs +1 -1
  46. package/esm2022/lib/lib/grid.mjs +1 -1
  47. package/esm2022/lib/lib/helpers.mjs +1 -1
  48. package/esm2022/lib/ng2-smart-table.component.mjs +7 -7
  49. package/esm2022/lib/ng2-smart-table.module.mjs +4 -4
  50. package/fesm2022/den4ik92-ng2-smart-table.mjs +908 -774
  51. package/fesm2022/den4ik92-ng2-smart-table.mjs.map +1 -1
  52. package/lib/components/cell/cell-view-mode/custom-view.component.d.ts +2 -13
  53. package/lib/components/thead/rows/thead-form-row.component.d.ts +4 -4
  54. package/lib/ng2-smart-table.component.d.ts +2 -2
  55. package/package.json +4 -4
@@ -579,10 +579,10 @@ class EditCellDefault {
579
579
  onClick(event) {
580
580
  event.stopPropagation();
581
581
  }
582
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditCellDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
583
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EditCellDefault, selector: "ng-component", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { edited: "edited" }, ngImport: i0, template: '', isInline: true }); }
582
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditCellDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
583
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EditCellDefault, selector: "ng-component", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { edited: "edited" }, ngImport: i0, template: '', isInline: true }); }
584
584
  }
585
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditCellDefault, decorators: [{
585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditCellDefault, decorators: [{
586
586
  type: Component,
587
587
  args: [{
588
588
  template: ''
@@ -618,12 +618,12 @@ class CustomEditComponent extends EditCellDefault {
618
618
  this.customComponent.destroy();
619
619
  }
620
620
  }
621
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomEditComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
622
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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: `
621
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomEditComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
622
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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: `
623
623
  <ng-template #dynamicTarget></ng-template>
624
624
  `, isInline: true }); }
625
625
  }
626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomEditComponent, decorators: [{
626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomEditComponent, decorators: [{
627
627
  type: Component,
628
628
  args: [{
629
629
  selector: 'table-cell-custom-editor',
@@ -631,7 +631,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
631
631
  <ng-template #dynamicTarget></ng-template>
632
632
  `,
633
633
  }]
634
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; }, propDecorators: { dynamicTarget: [{
634
+ }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { dynamicTarget: [{
635
635
  type: ViewChild,
636
636
  args: ['dynamicTarget', { read: ViewContainerRef, static: true }]
637
637
  }] } });
@@ -643,10 +643,10 @@ class DefaultEditor {
643
643
  this.onEdited = new EventEmitter();
644
644
  this.onClick = new EventEmitter();
645
645
  }
646
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
647
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DefaultEditor, selector: "ng-component", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { onStopEditing: "onStopEditing", onEdited: "onEdited", onClick: "onClick" }, ngImport: i0, template: '', isInline: true }); }
646
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
647
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DefaultEditor, selector: "ng-component", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { onStopEditing: "onStopEditing", onEdited: "onEdited", onClick: "onClick" }, ngImport: i0, template: '', isInline: true }); }
648
648
  }
649
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultEditor, decorators: [{
649
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultEditor, decorators: [{
650
650
  type: Component,
651
651
  args: [{
652
652
  template: '',
@@ -673,8 +673,8 @@ class CheckboxEditorComponent extends DefaultEditor {
673
673
  const falseVal = (config && config?.false) || false;
674
674
  this.cell.newValue = event.target.checked ? trueVal : falseVal;
675
675
  }
676
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
677
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxEditorComponent, selector: "checkbox-editor", usesInheritance: true, ngImport: i0, template: `
676
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
677
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CheckboxEditorComponent, selector: "checkbox-editor", usesInheritance: true, ngImport: i0, template: `
678
678
  <input [ngClass]="inputClass"
679
679
  type="checkbox"
680
680
  class="form-control"
@@ -685,7 +685,7 @@ class CheckboxEditorComponent extends DefaultEditor {
685
685
  (change)="onChange($event)">
686
686
  `, 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"] }] }); }
687
687
  }
688
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxEditorComponent, decorators: [{
688
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxEditorComponent, decorators: [{
689
689
  type: Component,
690
690
  args: [{ selector: 'checkbox-editor', template: `
691
691
  <input [ngClass]="inputClass"
@@ -697,14 +697,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
697
697
  (click)="onClick.emit($event)"
698
698
  (change)="onChange($event)">
699
699
  `, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
700
- }], ctorParameters: function () { return []; } });
700
+ }], ctorParameters: () => [] });
701
701
 
702
702
  class InputEditorComponent extends DefaultEditor {
703
703
  constructor() {
704
704
  super();
705
705
  }
706
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
707
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputEditorComponent, selector: "input-editor", usesInheritance: true, ngImport: i0, template: `
706
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
707
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputEditorComponent, selector: "input-editor", usesInheritance: true, ngImport: i0, template: `
708
708
  <input [ngClass]="inputClass"
709
709
  class="form-control"
710
710
  [(ngModel)]="cell.newValue"
@@ -716,7 +716,7 @@ class InputEditorComponent extends DefaultEditor {
716
716
  (keydown.esc)="onStopEditing.emit()">
717
717
  `, 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"] }] }); }
718
718
  }
719
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputEditorComponent, decorators: [{
719
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputEditorComponent, decorators: [{
720
720
  type: Component,
721
721
  args: [{ selector: 'input-editor', template: `
722
722
  <input [ngClass]="inputClass"
@@ -729,57 +729,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
729
729
  (keydown.enter)="onEdited.emit($event)"
730
730
  (keydown.esc)="onStopEditing.emit()">
731
731
  `, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
732
- }], ctorParameters: function () { return []; } });
732
+ }], ctorParameters: () => [] });
733
733
 
734
734
  class SelectEditorComponent extends DefaultEditor {
735
735
  constructor() {
736
736
  super();
737
737
  }
738
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
739
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectEditorComponent, selector: "select-editor", usesInheritance: true, ngImport: i0, template: `
738
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
739
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SelectEditorComponent, selector: "select-editor", usesInheritance: true, ngImport: i0, template: `
740
740
  <select [ngClass]="inputClass"
741
- class="form-control"
742
- [(ngModel)]="cell.newValue"
743
- [name]="cell.getId()"
744
- [disabled]="!cell.isEditable()"
745
- (click)="onClick.emit($event)"
746
- (keydown.enter)="onEdited.emit($event)"
747
- (keydown.esc)="onStopEditing.emit()">
748
-
749
- <option *ngFor="let option of cell.getColumn().getConfig()?.list" [value]="option.value"
750
- [selected]="option.value === cell.getValue()">{{ option.title }}
741
+ class="form-control"
742
+ [(ngModel)]="cell.newValue"
743
+ [name]="cell.getId()"
744
+ [disabled]="!cell.isEditable()"
745
+ (click)="onClick.emit($event)"
746
+ (keydown.enter)="onEdited.emit($event)"
747
+ (keydown.esc)="onStopEditing.emit()">
748
+
749
+ @for (option of cell.getColumn().getConfig()?.list; track option) {
750
+ <option [value]="option.value"
751
+ [selected]="option.value === cell.getValue()">{{ option.title }}
751
752
  </option>
753
+ }
752
754
  </select>
753
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: 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"] }] }); }
755
+ `, 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"] }] }); }
754
756
  }
755
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectEditorComponent, decorators: [{
757
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectEditorComponent, decorators: [{
756
758
  type: Component,
757
759
  args: [{
758
760
  selector: 'select-editor',
759
761
  template: `
760
762
  <select [ngClass]="inputClass"
761
- class="form-control"
762
- [(ngModel)]="cell.newValue"
763
- [name]="cell.getId()"
764
- [disabled]="!cell.isEditable()"
765
- (click)="onClick.emit($event)"
766
- (keydown.enter)="onEdited.emit($event)"
767
- (keydown.esc)="onStopEditing.emit()">
768
-
769
- <option *ngFor="let option of cell.getColumn().getConfig()?.list" [value]="option.value"
770
- [selected]="option.value === cell.getValue()">{{ option.title }}
763
+ class="form-control"
764
+ [(ngModel)]="cell.newValue"
765
+ [name]="cell.getId()"
766
+ [disabled]="!cell.isEditable()"
767
+ (click)="onClick.emit($event)"
768
+ (keydown.enter)="onEdited.emit($event)"
769
+ (keydown.esc)="onStopEditing.emit()">
770
+
771
+ @for (option of cell.getColumn().getConfig()?.list; track option) {
772
+ <option [value]="option.value"
773
+ [selected]="option.value === cell.getValue()">{{ option.title }}
771
774
  </option>
775
+ }
772
776
  </select>
773
777
  `,
774
778
  }]
775
- }], ctorParameters: function () { return []; } });
779
+ }], ctorParameters: () => [] });
776
780
 
777
781
  class TextareaEditorComponent extends DefaultEditor {
778
782
  constructor() {
779
783
  super();
780
784
  }
781
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextareaEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
782
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TextareaEditorComponent, selector: "textarea-editor", usesInheritance: true, ngImport: i0, template: `
785
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextareaEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
786
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextareaEditorComponent, selector: "textarea-editor", usesInheritance: true, ngImport: i0, template: `
783
787
  <textarea [ngClass]="inputClass"
784
788
  class="form-control"
785
789
  [(ngModel)]="cell.newValue"
@@ -792,7 +796,7 @@ class TextareaEditorComponent extends DefaultEditor {
792
796
  </textarea>
793
797
  `, 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"] }] }); }
794
798
  }
795
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextareaEditorComponent, decorators: [{
799
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextareaEditorComponent, decorators: [{
796
800
  type: Component,
797
801
  args: [{ selector: 'textarea-editor', template: `
798
802
  <textarea [ngClass]="inputClass"
@@ -806,7 +810,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
806
810
  (keydown.esc)="onStopEditing.emit()">
807
811
  </textarea>
808
812
  `, styles: [":host input,:host textarea{width:100%;line-height:normal;padding:.375em .75em}\n"] }]
809
- }], ctorParameters: function () { return []; } });
813
+ }], ctorParameters: () => [] });
810
814
 
811
815
  class DefaultEditComponent extends EditCellDefault {
812
816
  constructor() {
@@ -819,13 +823,13 @@ class DefaultEditComponent extends EditCellDefault {
819
823
  }
820
824
  return 'text';
821
825
  }
822
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
823
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DefaultEditComponent, selector: "table-cell-default-editor", usesInheritance: true, ngImport: i0, template: "<div [ngSwitch]=\"getEditorType()\">\n <select-editor *ngSwitchCase=\"'list'\"\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </select-editor>\n\n <textarea-editor *ngSwitchCase=\"'textarea'\"\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </textarea-editor>\n\n <checkbox-editor *ngSwitchCase=\"'checkbox'\"\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\">\n </checkbox-editor>\n\n <input-editor *ngSwitchDefault\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </input-editor>\n</div>", dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { 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" }] }); }
826
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
827
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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" }] }); }
824
828
  }
825
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultEditComponent, decorators: [{
829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultEditComponent, decorators: [{
826
830
  type: Component,
827
- args: [{ selector: 'table-cell-default-editor', template: "<div [ngSwitch]=\"getEditorType()\">\n <select-editor *ngSwitchCase=\"'list'\"\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </select-editor>\n\n <textarea-editor *ngSwitchCase=\"'textarea'\"\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </textarea-editor>\n\n <checkbox-editor *ngSwitchCase=\"'checkbox'\"\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\">\n </checkbox-editor>\n\n <input-editor *ngSwitchDefault\n [cell]=\"cell\"\n [inputClass]=\"inputClass\"\n (onClick)=\"onClick($event)\"\n (onEdited)=\"onEdited($event)\"\n (onStopEditing)=\"onStopEditing()\">\n </input-editor>\n</div>" }]
828
- }], ctorParameters: function () { return []; } });
831
+ 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>" }]
832
+ }], ctorParameters: () => [] });
829
833
 
830
834
  class EditCellComponent {
831
835
  constructor() {
@@ -843,40 +847,52 @@ class EditCellComponent {
843
847
  }
844
848
  return 'text';
845
849
  }
846
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
847
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EditCellComponent, selector: "table-cell-edit-mode", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { edited: "edited" }, ngImport: i0, template: `
848
- <div [ngSwitch]="getEditorType()">
849
- <table-cell-custom-editor *ngSwitchCase="'custom'"
850
- [cell]="cell"
851
- [inputClass]="inputClass"
852
- (edited)="onEdited($event)">
853
- </table-cell-custom-editor>
854
- <table-cell-default-editor *ngSwitchDefault
855
- [cell]="cell"
856
- [inputClass]="inputClass"
857
- (edited)="onEdited($event)">
858
- </table-cell-default-editor>
850
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
851
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: EditCellComponent, selector: "table-cell-edit-mode", inputs: { cell: "cell", inputClass: "inputClass" }, outputs: { edited: "edited" }, ngImport: i0, template: `
852
+ <div>
853
+ @switch (getEditorType()) {
854
+ @case ('custom') {
855
+ <table-cell-custom-editor
856
+ [cell]="cell"
857
+ [inputClass]="inputClass"
858
+ (edited)="onEdited($event)">
859
+ </table-cell-custom-editor>
860
+ }
861
+ @default {
862
+ <table-cell-default-editor
863
+ [cell]="cell"
864
+ [inputClass]="inputClass"
865
+ (edited)="onEdited($event)">
866
+ </table-cell-default-editor>
867
+ }
868
+ }
859
869
  </div>
860
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: CustomEditComponent, selector: "table-cell-custom-editor" }, { kind: "component", type: DefaultEditComponent, selector: "table-cell-default-editor" }] }); }
870
+ `, isInline: true, dependencies: [{ kind: "component", type: CustomEditComponent, selector: "table-cell-custom-editor" }, { kind: "component", type: DefaultEditComponent, selector: "table-cell-default-editor" }] }); }
861
871
  }
862
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditCellComponent, decorators: [{
872
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditCellComponent, decorators: [{
863
873
  type: Component,
864
874
  args: [{
865
875
  selector: 'table-cell-edit-mode',
866
876
  template: `
867
- <div [ngSwitch]="getEditorType()">
868
- <table-cell-custom-editor *ngSwitchCase="'custom'"
869
- [cell]="cell"
870
- [inputClass]="inputClass"
871
- (edited)="onEdited($event)">
872
- </table-cell-custom-editor>
873
- <table-cell-default-editor *ngSwitchDefault
874
- [cell]="cell"
875
- [inputClass]="inputClass"
876
- (edited)="onEdited($event)">
877
- </table-cell-default-editor>
877
+ <div>
878
+ @switch (getEditorType()) {
879
+ @case ('custom') {
880
+ <table-cell-custom-editor
881
+ [cell]="cell"
882
+ [inputClass]="inputClass"
883
+ (edited)="onEdited($event)">
884
+ </table-cell-custom-editor>
885
+ }
886
+ @default {
887
+ <table-cell-default-editor
888
+ [cell]="cell"
889
+ [inputClass]="inputClass"
890
+ (edited)="onEdited($event)">
891
+ </table-cell-default-editor>
892
+ }
893
+ }
878
894
  </div>
879
- `,
895
+ `,
880
896
  }]
881
897
  }], propDecorators: { cell: [{
882
898
  type: Input
@@ -887,73 +903,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
887
903
  }] } });
888
904
 
889
905
  class CustomViewComponent {
890
- constructor(resolver) {
891
- this.resolver = resolver;
892
- }
893
- ngOnInit() {
894
- if (this.cell && !this.customComponent) {
895
- this.createCustomComponent();
896
- this.patchInstance();
897
- }
898
- }
899
- ngOnDestroy() {
900
- if (this.customComponent) {
901
- this.customComponent.destroy();
902
- }
903
- }
904
- createCustomComponent() {
905
- const componentFactory = this.resolver.resolveComponentFactory(this.cell.getColumn().renderComponent);
906
- this.customComponent = this.dynamicTarget.createComponent(componentFactory);
907
- }
908
- patchInstance() {
909
- Object.assign(this.customComponent.instance, this.getPatch());
910
- }
911
- getPatch() {
912
- return {
913
- value: this.cell.getValue(),
914
- rowData: this.cell.getRow().getData()
915
- };
916
- }
917
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomViewComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
918
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomViewComponent, selector: "custom-view-component", inputs: { cell: "cell" }, viewQueries: [{ propertyName: "dynamicTarget", first: true, predicate: ["dynamicTarget"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
919
- <ng-template #dynamicTarget></ng-template>
920
- `, isInline: true }); }
906
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
907
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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"] }] }); }
921
908
  }
922
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomViewComponent, decorators: [{
909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomViewComponent, decorators: [{
923
910
  type: Component,
924
- args: [{
925
- selector: 'custom-view-component',
926
- template: `
927
- <ng-template #dynamicTarget></ng-template>
928
- `,
929
- }]
930
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; }, propDecorators: { cell: [{
911
+ 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" }]
912
+ }], propDecorators: { cell: [{
931
913
  type: Input
932
- }], dynamicTarget: [{
933
- type: ViewChild,
934
- args: ['dynamicTarget', { read: ViewContainerRef, static: true }]
935
914
  }] } });
936
915
 
937
916
  class ViewCellComponent {
938
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
939
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ViewCellComponent, selector: "table-cell-view-mode", inputs: { cell: "cell" }, ngImport: i0, template: `
940
- <div [ngSwitch]="cell.getColumn().type">
941
- <custom-view-component *ngSwitchCase="'custom'" [cell]="cell"></custom-view-component>
942
- <div *ngSwitchCase="'html'" [innerHTML]="cell.getValue()"></div>
943
- <div *ngSwitchDefault>{{ cell.getValue() }}</div>
917
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
918
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ViewCellComponent, selector: "table-cell-view-mode", inputs: { cell: "cell" }, ngImport: i0, template: `
919
+ <div>
920
+ @switch (cell.getColumn().type) {
921
+ @case ('custom') {
922
+ <custom-view-component [cell]="cell"></custom-view-component>
923
+ }
924
+ @case ('html') {
925
+ <div [innerHTML]="cell.getValue()"></div>
926
+ }
927
+ @default {
928
+ <div>{{ cell.getValue() }}</div>
929
+ }
930
+ }
944
931
  </div>
945
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: CustomViewComponent, selector: "custom-view-component", inputs: ["cell"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
932
+ `, isInline: true, dependencies: [{ kind: "component", type: CustomViewComponent, selector: "custom-view-component", inputs: ["cell"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
946
933
  }
947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewCellComponent, decorators: [{
934
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewCellComponent, decorators: [{
948
935
  type: Component,
949
936
  args: [{
950
937
  selector: 'table-cell-view-mode',
951
938
  changeDetection: ChangeDetectionStrategy.OnPush,
952
939
  template: `
953
- <div [ngSwitch]="cell.getColumn().type">
954
- <custom-view-component *ngSwitchCase="'custom'" [cell]="cell"></custom-view-component>
955
- <div *ngSwitchCase="'html'" [innerHTML]="cell.getValue()"></div>
956
- <div *ngSwitchDefault>{{ cell.getValue() }}</div>
940
+ <div>
941
+ @switch (cell.getColumn().type) {
942
+ @case ('custom') {
943
+ <custom-view-component [cell]="cell"></custom-view-component>
944
+ }
945
+ @case ('html') {
946
+ <div [innerHTML]="cell.getValue()"></div>
947
+ }
948
+ @default {
949
+ <div>{{ cell.getValue() }}</div>
950
+ }
951
+ }
957
952
  </div>
958
953
  `,
959
954
  }]
@@ -976,26 +971,34 @@ class CellComponent {
976
971
  this.grid.save(this.row, this.editConfirm);
977
972
  }
978
973
  }
979
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
980
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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: `
981
- <table-cell-view-mode *ngIf="!isInEditing" [cell]="cell"></table-cell-view-mode>
982
- <table-cell-edit-mode *ngIf="isInEditing" [cell]="cell"
983
- [inputClass]="inputClass"
984
- (edited)="onEdited($event)">
985
- </table-cell-edit-mode>
986
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
974
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
975
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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: `
976
+ @if (!isInEditing) {
977
+ <table-cell-view-mode [cell]="cell"></table-cell-view-mode>
978
+ }
979
+ @if (isInEditing) {
980
+ <table-cell-edit-mode [cell]="cell"
981
+ [inputClass]="inputClass"
982
+ (edited)="onEdited($event)">
983
+ </table-cell-edit-mode>
984
+ }
985
+ `, 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"] }] }); }
987
986
  }
988
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellComponent, decorators: [{
987
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CellComponent, decorators: [{
989
988
  type: Component,
990
989
  args: [{
991
990
  selector: 'ng2-smart-table-cell',
992
991
  template: `
993
- <table-cell-view-mode *ngIf="!isInEditing" [cell]="cell"></table-cell-view-mode>
994
- <table-cell-edit-mode *ngIf="isInEditing" [cell]="cell"
995
- [inputClass]="inputClass"
996
- (edited)="onEdited($event)">
997
- </table-cell-edit-mode>
998
- `,
992
+ @if (!isInEditing) {
993
+ <table-cell-view-mode [cell]="cell"></table-cell-view-mode>
994
+ }
995
+ @if (isInEditing) {
996
+ <table-cell-edit-mode [cell]="cell"
997
+ [inputClass]="inputClass"
998
+ (edited)="onEdited($event)">
999
+ </table-cell-edit-mode>
1000
+ }
1001
+ `,
999
1002
  }]
1000
1003
  }], propDecorators: { grid: [{
1001
1004
  type: Input
@@ -1034,8 +1037,8 @@ const CELL_COMPONENTS = [
1034
1037
  ViewCellComponent,
1035
1038
  ];
1036
1039
  class CellModule {
1037
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1038
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CellModule, declarations: [CellComponent,
1040
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CellModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1041
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CellModule, declarations: [CellComponent,
1039
1042
  EditCellDefault,
1040
1043
  DefaultEditor,
1041
1044
  CustomEditComponent,
@@ -1059,10 +1062,10 @@ class CellModule {
1059
1062
  TextareaEditorComponent,
1060
1063
  CustomViewComponent,
1061
1064
  ViewCellComponent] }); }
1062
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellModule, imports: [CommonModule,
1065
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CellModule, imports: [CommonModule,
1063
1066
  FormsModule] }); }
1064
1067
  }
1065
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellModule, decorators: [{
1068
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CellModule, decorators: [{
1066
1069
  type: NgModule,
1067
1070
  args: [{
1068
1071
  imports: [
@@ -1493,10 +1496,10 @@ class FilterDefault {
1493
1496
  filter: this.column.getFilterFunction(),
1494
1497
  });
1495
1498
  }
1496
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1497
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterDefault, selector: "ng-component", inputs: { column: "column", source: "source", inputClass: "inputClass", query: "query" }, outputs: { filter: "filter" }, ngImport: i0, template: '', isInline: true }); }
1499
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterDefault, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1500
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FilterDefault, selector: "ng-component", inputs: { column: "column", source: "source", inputClass: "inputClass", query: "query" }, outputs: { filter: "filter" }, ngImport: i0, template: '', isInline: true }); }
1498
1501
  }
1499
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterDefault, decorators: [{
1502
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterDefault, decorators: [{
1500
1503
  type: Component,
1501
1504
  args: [{
1502
1505
  template: '',
@@ -1528,10 +1531,10 @@ class DefaultFilter {
1528
1531
  setFilter() {
1529
1532
  this.filter.emit(this.query);
1530
1533
  }
1531
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultFilter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1532
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DefaultFilter, selector: "ng-component", inputs: { query: "query", inputClass: "inputClass", column: "column" }, outputs: { filter: "filter" }, ngImport: i0, template: '', isInline: true }); }
1534
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultFilter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1535
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DefaultFilter, selector: "ng-component", inputs: { query: "query", inputClass: "inputClass", column: "column" }, outputs: { filter: "filter" }, ngImport: i0, template: '', isInline: true }); }
1533
1536
  }
1534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultFilter, decorators: [{
1537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultFilter, decorators: [{
1535
1538
  type: Component,
1536
1539
  args: [{
1537
1540
  template: '',
@@ -1570,24 +1573,28 @@ class CheckboxFilterComponent extends DefaultFilter {
1570
1573
  this.filterActive = false;
1571
1574
  this.setFilter();
1572
1575
  }
1573
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1574
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxFilterComponent, selector: "checkbox-filter", usesInheritance: true, ngImport: i0, template: `
1576
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1577
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CheckboxFilterComponent, selector: "checkbox-filter", usesInheritance: true, ngImport: i0, template: `
1575
1578
  <input type="checkbox" [formControl]="inputControl" [ngClass]="inputClass" class="form-control">
1576
- <a href="#" *ngIf="filterActive"
1577
- (click)="resetFilter($event)">{{column.getFilterConfig()?.resetText || 'reset'}}</a>
1578
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
1579
+ @if (filterActive) {
1580
+ <a href="#"
1581
+ (click)="resetFilter($event)">{{column.getFilterConfig()?.resetText || 'reset'}}</a>
1582
+ }
1583
+ `, 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"] }] }); }
1579
1584
  }
1580
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxFilterComponent, decorators: [{
1585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxFilterComponent, decorators: [{
1581
1586
  type: Component,
1582
1587
  args: [{
1583
1588
  selector: 'checkbox-filter',
1584
1589
  template: `
1585
1590
  <input type="checkbox" [formControl]="inputControl" [ngClass]="inputClass" class="form-control">
1586
- <a href="#" *ngIf="filterActive"
1587
- (click)="resetFilter($event)">{{column.getFilterConfig()?.resetText || 'reset'}}</a>
1588
- `,
1591
+ @if (filterActive) {
1592
+ <a href="#"
1593
+ (click)="resetFilter($event)">{{column.getFilterConfig()?.resetText || 'reset'}}</a>
1594
+ }
1595
+ `,
1589
1596
  }]
1590
- }], ctorParameters: function () { return []; } });
1597
+ }], ctorParameters: () => [] });
1591
1598
 
1592
1599
  class InputFilterComponent extends DefaultFilter {
1593
1600
  constructor() {
@@ -1610,8 +1617,8 @@ class InputFilterComponent extends DefaultFilter {
1610
1617
  this.inputControl.setValue(this.query);
1611
1618
  }
1612
1619
  }
1613
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1614
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputFilterComponent, selector: "input-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1620
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1621
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputFilterComponent, selector: "input-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1615
1622
  <input
1616
1623
  [ngClass]="inputClass"
1617
1624
  [formControl]="inputControl"
@@ -1620,7 +1627,7 @@ class InputFilterComponent extends DefaultFilter {
1620
1627
  placeholder="{{ column.title }}"/>
1621
1628
  `, 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"] }] }); }
1622
1629
  }
1623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputFilterComponent, decorators: [{
1630
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFilterComponent, decorators: [{
1624
1631
  type: Component,
1625
1632
  args: [{
1626
1633
  selector: 'input-filter',
@@ -1633,7 +1640,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1633
1640
  placeholder="{{ column.title }}"/>
1634
1641
  `,
1635
1642
  }]
1636
- }], ctorParameters: function () { return []; } });
1643
+ }], ctorParameters: () => [] });
1637
1644
 
1638
1645
  class SelectFilterComponent extends DefaultFilter {
1639
1646
  constructor() {
@@ -1646,93 +1653,109 @@ class SelectFilterComponent extends DefaultFilter {
1646
1653
  .subscribe((value) => this.setFilter());
1647
1654
  }
1648
1655
  }
1649
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1650
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectFilterComponent, selector: "select-filter", viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["inputControl"], descendants: true, read: NgControl, static: true }], usesInheritance: true, ngImport: i0, template: `
1656
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1657
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SelectFilterComponent, selector: "select-filter", viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["inputControl"], descendants: true, read: NgControl, static: true }], usesInheritance: true, ngImport: i0, template: `
1651
1658
  <select [ngClass]="inputClass"
1652
- class="form-control"
1653
- #inputControl
1654
- [(ngModel)]="query">
1655
-
1656
- <option value="">{{ column.getFilterConfig().selectText }}</option>
1657
- <option *ngFor="let option of column.getFilterConfig().list" [value]="option.value">
1659
+ class="form-control"
1660
+ #inputControl
1661
+ [(ngModel)]="query">
1662
+
1663
+ <option value="">{{ column.getFilterConfig().selectText }}</option>
1664
+ @for (option of column.getFilterConfig().list; track option) {
1665
+ <option [value]="option.value">
1658
1666
  {{ option.title }}
1659
1667
  </option>
1668
+ }
1660
1669
  </select>
1661
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: 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"] }] }); }
1670
+ `, 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"] }] }); }
1662
1671
  }
1663
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectFilterComponent, decorators: [{
1672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFilterComponent, decorators: [{
1664
1673
  type: Component,
1665
1674
  args: [{
1666
1675
  selector: 'select-filter',
1667
1676
  template: `
1668
1677
  <select [ngClass]="inputClass"
1669
- class="form-control"
1670
- #inputControl
1671
- [(ngModel)]="query">
1672
-
1673
- <option value="">{{ column.getFilterConfig().selectText }}</option>
1674
- <option *ngFor="let option of column.getFilterConfig().list" [value]="option.value">
1678
+ class="form-control"
1679
+ #inputControl
1680
+ [(ngModel)]="query">
1681
+
1682
+ <option value="">{{ column.getFilterConfig().selectText }}</option>
1683
+ @for (option of column.getFilterConfig().list; track option) {
1684
+ <option [value]="option.value">
1675
1685
  {{ option.title }}
1676
1686
  </option>
1687
+ }
1677
1688
  </select>
1678
- `,
1689
+ `,
1679
1690
  }]
1680
- }], ctorParameters: function () { return []; }, propDecorators: { inputControl: [{
1691
+ }], ctorParameters: () => [], propDecorators: { inputControl: [{
1681
1692
  type: ViewChild,
1682
1693
  args: ['inputControl', { read: NgControl, static: true }]
1683
1694
  }] } });
1684
1695
 
1685
1696
  class DefaultFilterComponent extends FilterDefault {
1686
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1687
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DefaultFilterComponent, selector: "default-table-filter", usesInheritance: true, ngImport: i0, template: `
1688
- <ng-container [ngSwitch]="column.getFilterType()">
1689
- <select-filter *ngSwitchCase="'list'"
1690
- [query]="query"
1691
- [ngClass]="inputClass"
1692
- [column]="column"
1693
- (filter)="onFilter($event)">
1694
- </select-filter>
1695
- <checkbox-filter *ngSwitchCase="'checkbox'"
1696
- [query]="query"
1697
- [ngClass]="inputClass"
1698
- [column]="column"
1699
- (filter)="onFilter($event)">
1700
- </checkbox-filter>
1701
- <input-filter *ngSwitchDefault
1702
- [query]="query"
1703
- [ngClass]="inputClass"
1704
- [column]="column"
1705
- (filter)="onFilter($event)">
1706
- </input-filter>
1707
- </ng-container>
1708
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: CheckboxFilterComponent, selector: "checkbox-filter" }, { kind: "component", type: InputFilterComponent, selector: "input-filter" }, { kind: "component", type: SelectFilterComponent, selector: "select-filter" }] }); }
1697
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1698
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DefaultFilterComponent, selector: "default-table-filter", usesInheritance: true, ngImport: i0, template: `
1699
+ @switch (column.getFilterType()) {
1700
+ @case ('list') {
1701
+ <select-filter
1702
+ [query]="query"
1703
+ [ngClass]="inputClass"
1704
+ [column]="column"
1705
+ (filter)="onFilter($event)">
1706
+ </select-filter>
1707
+ }
1708
+ @case ('checkbox') {
1709
+ <checkbox-filter
1710
+ [query]="query"
1711
+ [ngClass]="inputClass"
1712
+ [column]="column"
1713
+ (filter)="onFilter($event)">
1714
+ </checkbox-filter>
1715
+ }
1716
+ @default {
1717
+ <input-filter
1718
+ [query]="query"
1719
+ [ngClass]="inputClass"
1720
+ [column]="column"
1721
+ (filter)="onFilter($event)">
1722
+ </input-filter>
1723
+ }
1709
1724
  }
1710
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultFilterComponent, decorators: [{
1725
+ `, 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" }] }); }
1726
+ }
1727
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultFilterComponent, decorators: [{
1711
1728
  type: Component,
1712
1729
  args: [{
1713
1730
  selector: 'default-table-filter',
1714
1731
  template: `
1715
- <ng-container [ngSwitch]="column.getFilterType()">
1716
- <select-filter *ngSwitchCase="'list'"
1717
- [query]="query"
1718
- [ngClass]="inputClass"
1719
- [column]="column"
1720
- (filter)="onFilter($event)">
1721
- </select-filter>
1722
- <checkbox-filter *ngSwitchCase="'checkbox'"
1723
- [query]="query"
1724
- [ngClass]="inputClass"
1725
- [column]="column"
1726
- (filter)="onFilter($event)">
1727
- </checkbox-filter>
1728
- <input-filter *ngSwitchDefault
1729
- [query]="query"
1730
- [ngClass]="inputClass"
1731
- [column]="column"
1732
- (filter)="onFilter($event)">
1733
- </input-filter>
1734
- </ng-container>
1735
- `,
1732
+ @switch (column.getFilterType()) {
1733
+ @case ('list') {
1734
+ <select-filter
1735
+ [query]="query"
1736
+ [ngClass]="inputClass"
1737
+ [column]="column"
1738
+ (filter)="onFilter($event)">
1739
+ </select-filter>
1740
+ }
1741
+ @case ('checkbox') {
1742
+ <checkbox-filter
1743
+ [query]="query"
1744
+ [ngClass]="inputClass"
1745
+ [column]="column"
1746
+ (filter)="onFilter($event)">
1747
+ </checkbox-filter>
1748
+ }
1749
+ @default {
1750
+ <input-filter
1751
+ [query]="query"
1752
+ [ngClass]="inputClass"
1753
+ [column]="column"
1754
+ (filter)="onFilter($event)">
1755
+ </input-filter>
1756
+ }
1757
+ }
1758
+ `,
1736
1759
  }]
1737
1760
  }] });
1738
1761
 
@@ -1762,16 +1785,16 @@ class CustomFilterComponent extends FilterDefault {
1762
1785
  this.customComponent.destroy();
1763
1786
  }
1764
1787
  }
1765
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomFilterComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
1766
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 }); }
1788
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomFilterComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
1789
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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 }); }
1767
1790
  }
1768
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomFilterComponent, decorators: [{
1791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomFilterComponent, decorators: [{
1769
1792
  type: Component,
1770
1793
  args: [{
1771
1794
  selector: 'custom-table-filter',
1772
1795
  template: `<ng-template #dynamicTarget></ng-template>`,
1773
1796
  }]
1774
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; }, propDecorators: { dynamicTarget: [{
1797
+ }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { dynamicTarget: [{
1775
1798
  type: ViewChild,
1776
1799
  args: ['dynamicTarget', { read: ViewContainerRef, static: true }]
1777
1800
  }] } });
@@ -1799,46 +1822,62 @@ class FilterComponent extends FilterDefault {
1799
1822
  });
1800
1823
  }
1801
1824
  }
1802
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1803
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterComponent, selector: "ng2-smart-table-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1804
- <div class="ng2-smart-filter" *ngIf="column.isFilterable" [ngSwitch]="column.getFilterType()">
1805
- <custom-table-filter *ngSwitchCase="'custom'"
1806
- [query]="query"
1807
- [column]="column"
1808
- [source]="source"
1809
- [inputClass]="inputClass"
1810
- (filter)="onFilter($event)">
1811
- </custom-table-filter>
1812
- <default-table-filter *ngSwitchDefault
1813
- [query]="query"
1814
- [column]="column"
1815
- [source]="source"
1816
- [inputClass]="inputClass"
1817
- (filter)="onFilter($event)">
1818
- </default-table-filter>
1819
- </div>
1820
- `, 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: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: DefaultFilterComponent, selector: "default-table-filter" }, { kind: "component", type: CustomFilterComponent, selector: "custom-table-filter" }] }); }
1825
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1826
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilterComponent, selector: "ng2-smart-table-filter", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1827
+ @if (column.isFilterable) {
1828
+ <div class="ng2-smart-filter">
1829
+ @switch (column.getFilterType()) {
1830
+ @case ('custom') {
1831
+ <custom-table-filter
1832
+ [query]="query"
1833
+ [column]="column"
1834
+ [source]="source"
1835
+ [inputClass]="inputClass"
1836
+ (filter)="onFilter($event)">
1837
+ </custom-table-filter>
1838
+ }
1839
+ @default {
1840
+ <default-table-filter
1841
+ [query]="query"
1842
+ [column]="column"
1843
+ [source]="source"
1844
+ [inputClass]="inputClass"
1845
+ (filter)="onFilter($event)">
1846
+ </default-table-filter>
1847
+ }
1848
+ }
1849
+ </div>
1850
+ }
1851
+ `, 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" }] }); }
1821
1852
  }
1822
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterComponent, decorators: [{
1853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterComponent, decorators: [{
1823
1854
  type: Component,
1824
1855
  args: [{ selector: 'ng2-smart-table-filter', template: `
1825
- <div class="ng2-smart-filter" *ngIf="column.isFilterable" [ngSwitch]="column.getFilterType()">
1826
- <custom-table-filter *ngSwitchCase="'custom'"
1827
- [query]="query"
1828
- [column]="column"
1829
- [source]="source"
1830
- [inputClass]="inputClass"
1831
- (filter)="onFilter($event)">
1832
- </custom-table-filter>
1833
- <default-table-filter *ngSwitchDefault
1834
- [query]="query"
1835
- [column]="column"
1836
- [source]="source"
1837
- [inputClass]="inputClass"
1838
- (filter)="onFilter($event)">
1839
- </default-table-filter>
1840
- </div>
1841
- `, 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"] }]
1856
+ @if (column.isFilterable) {
1857
+ <div class="ng2-smart-filter">
1858
+ @switch (column.getFilterType()) {
1859
+ @case ('custom') {
1860
+ <custom-table-filter
1861
+ [query]="query"
1862
+ [column]="column"
1863
+ [source]="source"
1864
+ [inputClass]="inputClass"
1865
+ (filter)="onFilter($event)">
1866
+ </custom-table-filter>
1867
+ }
1868
+ @default {
1869
+ <default-table-filter
1870
+ [query]="query"
1871
+ [column]="column"
1872
+ [source]="source"
1873
+ [inputClass]="inputClass"
1874
+ (filter)="onFilter($event)">
1875
+ </default-table-filter>
1876
+ }
1877
+ }
1878
+ </div>
1879
+ }
1880
+ `, 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"] }]
1842
1881
  }] });
1843
1882
 
1844
1883
  const FILTER_COMPONENTS = [
@@ -1852,8 +1891,8 @@ const FILTER_COMPONENTS = [
1852
1891
  SelectFilterComponent,
1853
1892
  ];
1854
1893
  class FilterModule {
1855
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1856
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FilterModule, declarations: [FilterDefault,
1894
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1895
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FilterModule, declarations: [FilterDefault,
1857
1896
  DefaultFilter,
1858
1897
  FilterComponent,
1859
1898
  DefaultFilterComponent,
@@ -1870,11 +1909,11 @@ class FilterModule {
1870
1909
  CheckboxFilterComponent,
1871
1910
  InputFilterComponent,
1872
1911
  SelectFilterComponent] }); }
1873
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterModule, imports: [CommonModule,
1912
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterModule, imports: [CommonModule,
1874
1913
  FormsModule,
1875
1914
  ReactiveFormsModule] }); }
1876
1915
  }
1877
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterModule, decorators: [{
1916
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterModule, decorators: [{
1878
1917
  type: NgModule,
1879
1918
  args: [{
1880
1919
  imports: [
@@ -1987,118 +2026,138 @@ class PagerComponent {
1987
2026
  this.source.refresh();
1988
2027
  this.initPages();
1989
2028
  }
1990
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1991
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PagerComponent, selector: "ng2-smart-table-pager", inputs: { source: "source", perPageSelect: "perPageSelect" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: `
1992
- <nav *ngIf="shouldShow()" class="ng2-smart-pagination-nav">
1993
- <ul class="ng2-smart-pagination pagination">
1994
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
1995
- <a class="ng2-smart-page-link page-link" href="#"
1996
- (click)="getPage() == 1 ? false : paginate(1)" aria-label="First">
1997
- <span aria-hidden="true">&laquo;</span>
1998
- <span class="sr-only">First</span>
1999
- </a>
2000
- </li>
2001
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
2002
- <a class="ng2-smart-page-link page-link page-link-prev" href="#"
2003
- (click)="getPage() == 1 ? false : prev()" aria-label="Prev">
2004
- <span aria-hidden="true">&lt;</span>
2005
- <span class="sr-only">Prev</span>
2006
- </a>
2007
- </li>
2008
- <li class="ng2-smart-page-item page-item"
2009
- [ngClass]="{active: getPage() == page}" *ngFor="let page of getPages()">
2010
- <span class="ng2-smart-page-link page-link"
2011
- *ngIf="getPage() == page">{{ page }} <span class="sr-only">(current)</span></span>
2012
- <a class="ng2-smart-page-link page-link" href="#"
2013
- (click)="paginate(page)" *ngIf="getPage() != page">{{ page }}</a>
2014
- </li>
2015
-
2016
- <li class="ng2-smart-page-item page-item"
2017
- [ngClass]="{disabled: getPage() == getLast()}">
2018
- <a class="ng2-smart-page-link page-link page-link-next" href="#"
2019
- (click)="getPage() == getLast() ? false : next()" aria-label="Next">
2020
- <span aria-hidden="true">&gt;</span>
2021
- <span class="sr-only">Next</span>
2022
- </a>
2023
- </li>
2024
-
2025
- <li class="ng2-smart-page-item page-item"
2026
- [ngClass]="{disabled: getPage() == getLast()}">
2027
- <a class="ng2-smart-page-link page-link" href="#"
2028
- (click)="getPage() == getLast() ? false : paginate(getLast())" aria-label="Last">
2029
- <span aria-hidden="true">&raquo;</span>
2030
- <span class="sr-only">Last</span>
2031
- </a>
2032
- </li>
2033
- </ul>
2034
- </nav>
2029
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2030
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PagerComponent, selector: "ng2-smart-table-pager", inputs: { source: "source", perPageSelect: "perPageSelect" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: `
2031
+ @if (shouldShow()) {
2032
+ <nav class="ng2-smart-pagination-nav">
2033
+ <ul class="ng2-smart-pagination pagination">
2034
+ <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
2035
+ <a class="ng2-smart-page-link page-link" href="#"
2036
+ (click)="getPage() == 1 ? false : paginate(1)" aria-label="First">
2037
+ <span aria-hidden="true">&laquo;</span>
2038
+ <span class="sr-only">First</span>
2039
+ </a>
2040
+ </li>
2041
+ <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
2042
+ <a class="ng2-smart-page-link page-link page-link-prev" href="#"
2043
+ (click)="getPage() == 1 ? false : prev()" aria-label="Prev">
2044
+ <span aria-hidden="true">&lt;</span>
2045
+ <span class="sr-only">Prev</span>
2046
+ </a>
2047
+ </li>
2048
+ @for (page of getPages(); track page) {
2049
+ <li class="ng2-smart-page-item page-item"
2050
+ [ngClass]="{active: getPage() == page}">
2051
+ @if (getPage() == page) {
2052
+ <span class="ng2-smart-page-link page-link"
2053
+ >{{ page }} <span class="sr-only">(current)</span></span>
2054
+ }
2055
+ @if (getPage() != page) {
2056
+ <a class="ng2-smart-page-link page-link" href="#"
2057
+ (click)="paginate(page)">{{ page }}</a>
2058
+ }
2059
+ </li>
2060
+ }
2061
+ <li class="ng2-smart-page-item page-item"
2062
+ [ngClass]="{disabled: getPage() == getLast()}">
2063
+ <a class="ng2-smart-page-link page-link page-link-next" href="#"
2064
+ (click)="getPage() == getLast() ? false : next()" aria-label="Next">
2065
+ <span aria-hidden="true">&gt;</span>
2066
+ <span class="sr-only">Next</span>
2067
+ </a>
2068
+ </li>
2069
+ <li class="ng2-smart-page-item page-item"
2070
+ [ngClass]="{disabled: getPage() == getLast()}">
2071
+ <a class="ng2-smart-page-link page-link" href="#"
2072
+ (click)="getPage() == getLast() ? false : paginate(getLast())" aria-label="Last">
2073
+ <span aria-hidden="true">&raquo;</span>
2074
+ <span class="sr-only">Last</span>
2075
+ </a>
2076
+ </li>
2077
+ </ul>
2078
+ </nav>
2079
+ }
2035
2080
 
2036
- <nav *ngIf="perPageSelect && perPageSelect.length > 0" class="ng2-smart-pagination-per-page">
2037
- <label for="per-page">
2038
- Per Page:
2039
- </label>
2040
- <select (change)="onChangePerPage()" [(ngModel)]="currentPerPage" id="per-page">
2041
- <option *ngFor="let item of perPageSelect" [value]="item">{{ item }}</option>
2042
- </select>
2043
- </nav>
2044
- `, 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: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
2081
+ @if (perPageSelect && perPageSelect.length > 0) {
2082
+ <nav class="ng2-smart-pagination-per-page">
2083
+ <label for="per-page">
2084
+ Per Page:
2085
+ </label>
2086
+ <select (change)="onChangePerPage()" [(ngModel)]="currentPerPage" id="per-page">
2087
+ @for (item of perPageSelect; track item) {
2088
+ <option [value]="item">{{ item }}</option>
2089
+ }
2090
+ </select>
2091
+ </nav>
2092
+ }
2093
+ `, 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"] }] }); }
2045
2094
  }
2046
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerComponent, decorators: [{
2095
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PagerComponent, decorators: [{
2047
2096
  type: Component,
2048
2097
  args: [{ selector: 'ng2-smart-table-pager', template: `
2049
- <nav *ngIf="shouldShow()" class="ng2-smart-pagination-nav">
2050
- <ul class="ng2-smart-pagination pagination">
2051
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
2052
- <a class="ng2-smart-page-link page-link" href="#"
2053
- (click)="getPage() == 1 ? false : paginate(1)" aria-label="First">
2054
- <span aria-hidden="true">&laquo;</span>
2055
- <span class="sr-only">First</span>
2056
- </a>
2057
- </li>
2058
- <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
2059
- <a class="ng2-smart-page-link page-link page-link-prev" href="#"
2060
- (click)="getPage() == 1 ? false : prev()" aria-label="Prev">
2061
- <span aria-hidden="true">&lt;</span>
2062
- <span class="sr-only">Prev</span>
2063
- </a>
2064
- </li>
2065
- <li class="ng2-smart-page-item page-item"
2066
- [ngClass]="{active: getPage() == page}" *ngFor="let page of getPages()">
2067
- <span class="ng2-smart-page-link page-link"
2068
- *ngIf="getPage() == page">{{ page }} <span class="sr-only">(current)</span></span>
2069
- <a class="ng2-smart-page-link page-link" href="#"
2070
- (click)="paginate(page)" *ngIf="getPage() != page">{{ page }}</a>
2071
- </li>
2072
-
2073
- <li class="ng2-smart-page-item page-item"
2074
- [ngClass]="{disabled: getPage() == getLast()}">
2075
- <a class="ng2-smart-page-link page-link page-link-next" href="#"
2076
- (click)="getPage() == getLast() ? false : next()" aria-label="Next">
2077
- <span aria-hidden="true">&gt;</span>
2078
- <span class="sr-only">Next</span>
2079
- </a>
2080
- </li>
2081
-
2082
- <li class="ng2-smart-page-item page-item"
2083
- [ngClass]="{disabled: getPage() == getLast()}">
2084
- <a class="ng2-smart-page-link page-link" href="#"
2085
- (click)="getPage() == getLast() ? false : paginate(getLast())" aria-label="Last">
2086
- <span aria-hidden="true">&raquo;</span>
2087
- <span class="sr-only">Last</span>
2088
- </a>
2089
- </li>
2090
- </ul>
2091
- </nav>
2098
+ @if (shouldShow()) {
2099
+ <nav class="ng2-smart-pagination-nav">
2100
+ <ul class="ng2-smart-pagination pagination">
2101
+ <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
2102
+ <a class="ng2-smart-page-link page-link" href="#"
2103
+ (click)="getPage() == 1 ? false : paginate(1)" aria-label="First">
2104
+ <span aria-hidden="true">&laquo;</span>
2105
+ <span class="sr-only">First</span>
2106
+ </a>
2107
+ </li>
2108
+ <li class="ng2-smart-page-item page-item" [ngClass]="{disabled: getPage() == 1}">
2109
+ <a class="ng2-smart-page-link page-link page-link-prev" href="#"
2110
+ (click)="getPage() == 1 ? false : prev()" aria-label="Prev">
2111
+ <span aria-hidden="true">&lt;</span>
2112
+ <span class="sr-only">Prev</span>
2113
+ </a>
2114
+ </li>
2115
+ @for (page of getPages(); track page) {
2116
+ <li class="ng2-smart-page-item page-item"
2117
+ [ngClass]="{active: getPage() == page}">
2118
+ @if (getPage() == page) {
2119
+ <span class="ng2-smart-page-link page-link"
2120
+ >{{ page }} <span class="sr-only">(current)</span></span>
2121
+ }
2122
+ @if (getPage() != page) {
2123
+ <a class="ng2-smart-page-link page-link" href="#"
2124
+ (click)="paginate(page)">{{ page }}</a>
2125
+ }
2126
+ </li>
2127
+ }
2128
+ <li class="ng2-smart-page-item page-item"
2129
+ [ngClass]="{disabled: getPage() == getLast()}">
2130
+ <a class="ng2-smart-page-link page-link page-link-next" href="#"
2131
+ (click)="getPage() == getLast() ? false : next()" aria-label="Next">
2132
+ <span aria-hidden="true">&gt;</span>
2133
+ <span class="sr-only">Next</span>
2134
+ </a>
2135
+ </li>
2136
+ <li class="ng2-smart-page-item page-item"
2137
+ [ngClass]="{disabled: getPage() == getLast()}">
2138
+ <a class="ng2-smart-page-link page-link" href="#"
2139
+ (click)="getPage() == getLast() ? false : paginate(getLast())" aria-label="Last">
2140
+ <span aria-hidden="true">&raquo;</span>
2141
+ <span class="sr-only">Last</span>
2142
+ </a>
2143
+ </li>
2144
+ </ul>
2145
+ </nav>
2146
+ }
2092
2147
 
2093
- <nav *ngIf="perPageSelect && perPageSelect.length > 0" class="ng2-smart-pagination-per-page">
2094
- <label for="per-page">
2095
- Per Page:
2096
- </label>
2097
- <select (change)="onChangePerPage()" [(ngModel)]="currentPerPage" id="per-page">
2098
- <option *ngFor="let item of perPageSelect" [value]="item">{{ item }}</option>
2099
- </select>
2100
- </nav>
2101
- `, 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"] }]
2148
+ @if (perPageSelect && perPageSelect.length > 0) {
2149
+ <nav class="ng2-smart-pagination-per-page">
2150
+ <label for="per-page">
2151
+ Per Page:
2152
+ </label>
2153
+ <select (change)="onChangePerPage()" [(ngModel)]="currentPerPage" id="per-page">
2154
+ @for (item of perPageSelect; track item) {
2155
+ <option [value]="item">{{ item }}</option>
2156
+ }
2157
+ </select>
2158
+ </nav>
2159
+ }
2160
+ `, 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"] }]
2102
2161
  }], propDecorators: { source: [{
2103
2162
  type: Input
2104
2163
  }], perPageSelect: [{
@@ -2108,13 +2167,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2108
2167
  }] } });
2109
2168
 
2110
2169
  class PagerModule {
2111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2112
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PagerModule, declarations: [PagerComponent], imports: [CommonModule,
2170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2171
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PagerModule, declarations: [PagerComponent], imports: [CommonModule,
2113
2172
  FormsModule], exports: [PagerComponent] }); }
2114
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerModule, imports: [CommonModule,
2173
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PagerModule, imports: [CommonModule,
2115
2174
  FormsModule] }); }
2116
2175
  }
2117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerModule, decorators: [{
2176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PagerModule, decorators: [{
2118
2177
  type: NgModule,
2119
2178
  args: [{
2120
2179
  imports: [
@@ -2150,9 +2209,9 @@ class TbodyCreateCancelComponent {
2150
2209
  this.saveButtonContent = this.grid.getSetting("edit.saveButtonContent", "save");
2151
2210
  this.cancelButtonContent = this.grid.getSetting("edit.cancelButtonContent", "cancel");
2152
2211
  }
2153
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TbodyCreateCancelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2154
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TbodyCreateCancelComponent, selector: "ng2-st-tbody-create-cancel", inputs: { grid: "grid", row: "row", editConfirm: "editConfirm", editCancel: "editCancel" }, usesOnChanges: true, ngImport: i0, template: `
2155
- <ng-container *ngIf="!row.pending; else loader">
2212
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TbodyCreateCancelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2213
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TbodyCreateCancelComponent, selector: "ng2-st-tbody-create-cancel", inputs: { grid: "grid", row: "row", editConfirm: "editConfirm", editCancel: "editCancel" }, usesOnChanges: true, ngImport: i0, template: `
2214
+ @if (!row.pending) {
2156
2215
  <a
2157
2216
  href="#"
2158
2217
  [id]="'row-' + row.index + '_editing-confirm-button'"
@@ -2167,8 +2226,7 @@ class TbodyCreateCancelComponent {
2167
2226
  [innerHTML]="cancelButtonContent"
2168
2227
  (click)="onCancelEdit($event)"
2169
2228
  ></a>
2170
- </ng-container>
2171
- <ng-template #loader>
2229
+ } @else {
2172
2230
  <div style="display: flex;">
2173
2231
  <svg
2174
2232
  (click)="$event.stopPropagation()"
@@ -2182,11 +2240,11 @@ class TbodyCreateCancelComponent {
2182
2240
  viewBox="0 0 100 100"
2183
2241
  enable-background="new 0 0 0 0"
2184
2242
  xml:space="preserve"
2185
- >
2243
+ >
2186
2244
  <path
2187
2245
  fill="#e9e9e9"
2188
2246
  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"
2189
- >
2247
+ >
2190
2248
  <animateTransform
2191
2249
  attributeName="transform"
2192
2250
  attributeType="XML"
@@ -2195,7 +2253,7 @@ class TbodyCreateCancelComponent {
2195
2253
  from="0 50 50"
2196
2254
  to="360 50 50"
2197
2255
  repeatCount="indefinite"
2198
- />
2256
+ />
2199
2257
  </path>
2200
2258
  </svg>
2201
2259
  <svg
@@ -2210,11 +2268,11 @@ class TbodyCreateCancelComponent {
2210
2268
  viewBox="0 0 100 100"
2211
2269
  enable-background="new 0 0 0 0"
2212
2270
  xml:space="preserve"
2213
- >
2271
+ >
2214
2272
  <path
2215
2273
  fill="#e9e9e9"
2216
2274
  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"
2217
- >
2275
+ >
2218
2276
  <animateTransform
2219
2277
  attributeName="transform"
2220
2278
  attributeType="XML"
@@ -2223,19 +2281,19 @@ class TbodyCreateCancelComponent {
2223
2281
  from="0 50 50"
2224
2282
  to="360 50 50"
2225
2283
  repeatCount="indefinite"
2226
- />
2284
+ />
2227
2285
  </path>
2228
2286
  </svg>
2229
2287
  </div>
2230
- </ng-template>
2231
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
2288
+ }
2289
+ `, isInline: true }); }
2232
2290
  }
2233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TbodyCreateCancelComponent, decorators: [{
2291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TbodyCreateCancelComponent, decorators: [{
2234
2292
  type: Component,
2235
2293
  args: [{
2236
2294
  selector: "ng2-st-tbody-create-cancel",
2237
2295
  template: `
2238
- <ng-container *ngIf="!row.pending; else loader">
2296
+ @if (!row.pending) {
2239
2297
  <a
2240
2298
  href="#"
2241
2299
  [id]="'row-' + row.index + '_editing-confirm-button'"
@@ -2250,8 +2308,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2250
2308
  [innerHTML]="cancelButtonContent"
2251
2309
  (click)="onCancelEdit($event)"
2252
2310
  ></a>
2253
- </ng-container>
2254
- <ng-template #loader>
2311
+ } @else {
2255
2312
  <div style="display: flex;">
2256
2313
  <svg
2257
2314
  (click)="$event.stopPropagation()"
@@ -2265,11 +2322,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2265
2322
  viewBox="0 0 100 100"
2266
2323
  enable-background="new 0 0 0 0"
2267
2324
  xml:space="preserve"
2268
- >
2325
+ >
2269
2326
  <path
2270
2327
  fill="#e9e9e9"
2271
2328
  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"
2272
- >
2329
+ >
2273
2330
  <animateTransform
2274
2331
  attributeName="transform"
2275
2332
  attributeType="XML"
@@ -2278,7 +2335,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2278
2335
  from="0 50 50"
2279
2336
  to="360 50 50"
2280
2337
  repeatCount="indefinite"
2281
- />
2338
+ />
2282
2339
  </path>
2283
2340
  </svg>
2284
2341
  <svg
@@ -2293,11 +2350,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2293
2350
  viewBox="0 0 100 100"
2294
2351
  enable-background="new 0 0 0 0"
2295
2352
  xml:space="preserve"
2296
- >
2353
+ >
2297
2354
  <path
2298
2355
  fill="#e9e9e9"
2299
2356
  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"
2300
- >
2357
+ >
2301
2358
  <animateTransform
2302
2359
  attributeName="transform"
2303
2360
  attributeType="XML"
@@ -2306,12 +2363,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2306
2363
  from="0 50 50"
2307
2364
  to="360 50 50"
2308
2365
  repeatCount="indefinite"
2309
- />
2366
+ />
2310
2367
  </path>
2311
2368
  </svg>
2312
2369
  </div>
2313
- </ng-template>
2314
- `,
2370
+ }
2371
+ `,
2315
2372
  }]
2316
2373
  }], propDecorators: { grid: [{
2317
2374
  type: Input
@@ -2364,177 +2421,182 @@ class TbodyEditDeleteComponent {
2364
2421
  this.editRowButtonContent = this.grid.getSetting("edit.editButtonContent");
2365
2422
  this.deleteRowButtonContent = this.grid.getSetting("delete.deleteButtonContent");
2366
2423
  }
2367
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TbodyEditDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2368
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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: `
2369
- <ng-container *ngIf="!row.pending; else loader">
2370
- <a
2371
- href="#"
2372
- *ngIf="isActionEdit"
2373
- [id]="'row-' + row.index + '_action-edit-button'"
2374
- class="ng2-smart-action ng2-smart-action-edit-edit"
2375
- [innerHTML]="editRowButtonContent"
2376
- (click)="onEdit($event)"
2377
- ></a>
2378
- <a
2379
- href="#"
2380
- *ngIf="isActionDelete"
2381
- [id]="'row-' + row.index + '_action-delete-button'"
2382
- class="ng2-smart-action ng2-smart-action-delete-delete"
2383
- [innerHTML]="deleteRowButtonContent"
2384
- (click)="onDelete($event)"
2385
- ></a>
2386
- </ng-container>
2387
- <ng-template #loader>
2424
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TbodyEditDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2425
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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: `
2426
+ @if (!row.pending) {
2427
+ @if (isActionEdit) {
2428
+ <a
2429
+ href="#"
2430
+ [id]="'row-' + row.index + '_action-edit-button'"
2431
+ class="ng2-smart-action ng2-smart-action-edit-edit"
2432
+ [innerHTML]="editRowButtonContent"
2433
+ (click)="onEdit($event)"
2434
+ ></a>
2435
+ }
2436
+ @if (isActionDelete) {
2437
+ <a
2438
+ href="#"
2439
+ [id]="'row-' + row.index + '_action-delete-button'"
2440
+ class="ng2-smart-action ng2-smart-action-delete-delete"
2441
+ [innerHTML]="deleteRowButtonContent"
2442
+ (click)="onDelete($event)"
2443
+ ></a>
2444
+ }
2445
+ } @else {
2388
2446
  <div style="display: flex;">
2389
- <svg
2390
- *ngIf="isActionEdit"
2391
- (click)="$event.stopPropagation()"
2392
- style="height: 2rem; width: 2rem;"
2393
- version="1.1"
2394
- id="L9"
2395
- xmlns="http://www.w3.org/2000/svg"
2396
- xmlns:xlink="http://www.w3.org/1999/xlink"
2397
- x="0px"
2398
- y="0px"
2399
- viewBox="0 0 100 100"
2400
- enable-background="new 0 0 0 0"
2401
- xml:space="preserve"
2402
- >
2403
- <path
2404
- fill="#e9e9e9"
2405
- 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"
2406
- >
2407
- <animateTransform
2408
- attributeName="transform"
2409
- attributeType="XML"
2410
- type="rotate"
2411
- dur="1s"
2412
- from="0 50 50"
2413
- to="360 50 50"
2414
- repeatCount="indefinite"
2415
- />
2416
- </path>
2417
- </svg>
2418
- <svg
2419
- *ngIf="isActionDelete"
2420
- (click)="$event.stopPropagation()"
2421
- style="height: 2rem; width: 2rem;"
2422
- version="1.1"
2423
- id="L9"
2424
- xmlns="http://www.w3.org/2000/svg"
2425
- xmlns:xlink="http://www.w3.org/1999/xlink"
2426
- x="0px"
2427
- y="0px"
2428
- viewBox="0 0 100 100"
2429
- enable-background="new 0 0 0 0"
2430
- xml:space="preserve"
2431
- >
2432
- <path
2433
- fill="#e9e9e9"
2434
- 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"
2435
- >
2436
- <animateTransform
2437
- attributeName="transform"
2438
- attributeType="XML"
2439
- type="rotate"
2440
- dur="1s"
2441
- from="0 50 50"
2442
- to="360 50 50"
2443
- repeatCount="indefinite"
2444
- />
2445
- </path>
2446
- </svg>
2447
+ @if (isActionEdit) {
2448
+ <svg
2449
+ (click)="$event.stopPropagation()"
2450
+ style="height: 2rem; width: 2rem;"
2451
+ version="1.1"
2452
+ id="L9"
2453
+ xmlns="http://www.w3.org/2000/svg"
2454
+ xmlns:xlink="http://www.w3.org/1999/xlink"
2455
+ x="0px"
2456
+ y="0px"
2457
+ viewBox="0 0 100 100"
2458
+ enable-background="new 0 0 0 0"
2459
+ xml:space="preserve"
2460
+ >
2461
+ <path
2462
+ fill="#e9e9e9"
2463
+ 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"
2464
+ >
2465
+ <animateTransform
2466
+ attributeName="transform"
2467
+ attributeType="XML"
2468
+ type="rotate"
2469
+ dur="1s"
2470
+ from="0 50 50"
2471
+ to="360 50 50"
2472
+ repeatCount="indefinite"
2473
+ />
2474
+ </path>
2475
+ </svg>
2476
+ }
2477
+ @if (isActionDelete) {
2478
+ <svg
2479
+ (click)="$event.stopPropagation()"
2480
+ style="height: 2rem; width: 2rem;"
2481
+ version="1.1"
2482
+ id="L9"
2483
+ xmlns="http://www.w3.org/2000/svg"
2484
+ xmlns:xlink="http://www.w3.org/1999/xlink"
2485
+ x="0px"
2486
+ y="0px"
2487
+ viewBox="0 0 100 100"
2488
+ enable-background="new 0 0 0 0"
2489
+ xml:space="preserve"
2490
+ >
2491
+ <path
2492
+ fill="#e9e9e9"
2493
+ 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"
2494
+ >
2495
+ <animateTransform
2496
+ attributeName="transform"
2497
+ attributeType="XML"
2498
+ type="rotate"
2499
+ dur="1s"
2500
+ from="0 50 50"
2501
+ to="360 50 50"
2502
+ repeatCount="indefinite"
2503
+ />
2504
+ </path>
2505
+ </svg>
2506
+ }
2447
2507
  </div>
2448
- </ng-template>
2449
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2508
+ }
2509
+ `, isInline: true }); }
2450
2510
  }
2451
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TbodyEditDeleteComponent, decorators: [{
2511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TbodyEditDeleteComponent, decorators: [{
2452
2512
  type: Component,
2453
2513
  args: [{
2454
2514
  selector: "ng2-st-tbody-edit-delete",
2455
- changeDetection: ChangeDetectionStrategy.OnPush,
2456
2515
  template: `
2457
- <ng-container *ngIf="!row.pending; else loader">
2458
- <a
2459
- href="#"
2460
- *ngIf="isActionEdit"
2461
- [id]="'row-' + row.index + '_action-edit-button'"
2462
- class="ng2-smart-action ng2-smart-action-edit-edit"
2463
- [innerHTML]="editRowButtonContent"
2464
- (click)="onEdit($event)"
2465
- ></a>
2466
- <a
2467
- href="#"
2468
- *ngIf="isActionDelete"
2469
- [id]="'row-' + row.index + '_action-delete-button'"
2470
- class="ng2-smart-action ng2-smart-action-delete-delete"
2471
- [innerHTML]="deleteRowButtonContent"
2472
- (click)="onDelete($event)"
2473
- ></a>
2474
- </ng-container>
2475
- <ng-template #loader>
2516
+ @if (!row.pending) {
2517
+ @if (isActionEdit) {
2518
+ <a
2519
+ href="#"
2520
+ [id]="'row-' + row.index + '_action-edit-button'"
2521
+ class="ng2-smart-action ng2-smart-action-edit-edit"
2522
+ [innerHTML]="editRowButtonContent"
2523
+ (click)="onEdit($event)"
2524
+ ></a>
2525
+ }
2526
+ @if (isActionDelete) {
2527
+ <a
2528
+ href="#"
2529
+ [id]="'row-' + row.index + '_action-delete-button'"
2530
+ class="ng2-smart-action ng2-smart-action-delete-delete"
2531
+ [innerHTML]="deleteRowButtonContent"
2532
+ (click)="onDelete($event)"
2533
+ ></a>
2534
+ }
2535
+ } @else {
2476
2536
  <div style="display: flex;">
2477
- <svg
2478
- *ngIf="isActionEdit"
2479
- (click)="$event.stopPropagation()"
2480
- style="height: 2rem; width: 2rem;"
2481
- version="1.1"
2482
- id="L9"
2483
- xmlns="http://www.w3.org/2000/svg"
2484
- xmlns:xlink="http://www.w3.org/1999/xlink"
2485
- x="0px"
2486
- y="0px"
2487
- viewBox="0 0 100 100"
2488
- enable-background="new 0 0 0 0"
2489
- xml:space="preserve"
2490
- >
2491
- <path
2492
- fill="#e9e9e9"
2493
- 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"
2494
- >
2495
- <animateTransform
2496
- attributeName="transform"
2497
- attributeType="XML"
2498
- type="rotate"
2499
- dur="1s"
2500
- from="0 50 50"
2501
- to="360 50 50"
2502
- repeatCount="indefinite"
2503
- />
2504
- </path>
2505
- </svg>
2506
- <svg
2507
- *ngIf="isActionDelete"
2508
- (click)="$event.stopPropagation()"
2509
- style="height: 2rem; width: 2rem;"
2510
- version="1.1"
2511
- id="L9"
2512
- xmlns="http://www.w3.org/2000/svg"
2513
- xmlns:xlink="http://www.w3.org/1999/xlink"
2514
- x="0px"
2515
- y="0px"
2516
- viewBox="0 0 100 100"
2517
- enable-background="new 0 0 0 0"
2518
- xml:space="preserve"
2519
- >
2520
- <path
2521
- fill="#e9e9e9"
2522
- 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"
2523
- >
2524
- <animateTransform
2525
- attributeName="transform"
2526
- attributeType="XML"
2527
- type="rotate"
2528
- dur="1s"
2529
- from="0 50 50"
2530
- to="360 50 50"
2531
- repeatCount="indefinite"
2532
- />
2533
- </path>
2534
- </svg>
2537
+ @if (isActionEdit) {
2538
+ <svg
2539
+ (click)="$event.stopPropagation()"
2540
+ style="height: 2rem; width: 2rem;"
2541
+ version="1.1"
2542
+ id="L9"
2543
+ xmlns="http://www.w3.org/2000/svg"
2544
+ xmlns:xlink="http://www.w3.org/1999/xlink"
2545
+ x="0px"
2546
+ y="0px"
2547
+ viewBox="0 0 100 100"
2548
+ enable-background="new 0 0 0 0"
2549
+ xml:space="preserve"
2550
+ >
2551
+ <path
2552
+ fill="#e9e9e9"
2553
+ 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"
2554
+ >
2555
+ <animateTransform
2556
+ attributeName="transform"
2557
+ attributeType="XML"
2558
+ type="rotate"
2559
+ dur="1s"
2560
+ from="0 50 50"
2561
+ to="360 50 50"
2562
+ repeatCount="indefinite"
2563
+ />
2564
+ </path>
2565
+ </svg>
2566
+ }
2567
+ @if (isActionDelete) {
2568
+ <svg
2569
+ (click)="$event.stopPropagation()"
2570
+ style="height: 2rem; width: 2rem;"
2571
+ version="1.1"
2572
+ id="L9"
2573
+ xmlns="http://www.w3.org/2000/svg"
2574
+ xmlns:xlink="http://www.w3.org/1999/xlink"
2575
+ x="0px"
2576
+ y="0px"
2577
+ viewBox="0 0 100 100"
2578
+ enable-background="new 0 0 0 0"
2579
+ xml:space="preserve"
2580
+ >
2581
+ <path
2582
+ fill="#e9e9e9"
2583
+ 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"
2584
+ >
2585
+ <animateTransform
2586
+ attributeName="transform"
2587
+ attributeType="XML"
2588
+ type="rotate"
2589
+ dur="1s"
2590
+ from="0 50 50"
2591
+ to="360 50 50"
2592
+ repeatCount="indefinite"
2593
+ />
2594
+ </path>
2595
+ </svg>
2596
+ }
2535
2597
  </div>
2536
- </ng-template>
2537
- `,
2598
+ }
2599
+ `,
2538
2600
  }]
2539
2601
  }], propDecorators: { grid: [{
2540
2602
  type: Input
@@ -2568,33 +2630,35 @@ class TbodyCustomComponent {
2568
2630
  customActions() {
2569
2631
  return this.grid.getSetting("actions.custom");
2570
2632
  }
2571
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TbodyCustomComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2572
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TbodyCustomComponent, selector: "ng2-st-tbody-custom", inputs: { grid: "grid", row: "row", source: "source" }, outputs: { custom: "custom" }, ngImport: i0, template: `
2573
- <a
2574
- *ngFor="let action of customActions()"
2575
- [id]="'row-' + row.index + '_action-' + action.name + '-button'"
2576
- href="#"
2577
- class="ng2-smart-action ng2-smart-action-custom-custom"
2578
- [innerHTML]="action.title"
2579
- (click)="$event.stopPropagation(); $event.preventDefault(); onCustom(action)"
2580
- ></a>
2581
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2633
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TbodyCustomComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2634
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TbodyCustomComponent, selector: "ng2-st-tbody-custom", inputs: { grid: "grid", row: "row", source: "source" }, outputs: { custom: "custom" }, ngImport: i0, template: `
2635
+ @for (action of customActions(); track action) {
2636
+ <a
2637
+ [id]="'row-' + row.index + '_action-' + action.name + '-button'"
2638
+ href="#"
2639
+ class="ng2-smart-action ng2-smart-action-custom-custom"
2640
+ [innerHTML]="action.title"
2641
+ (click)="$event.stopPropagation(); $event.preventDefault(); onCustom(action)"
2642
+ ></a>
2643
+ }
2644
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2582
2645
  }
2583
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TbodyCustomComponent, decorators: [{
2646
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TbodyCustomComponent, decorators: [{
2584
2647
  type: Component,
2585
2648
  args: [{
2586
2649
  selector: "ng2-st-tbody-custom",
2587
2650
  changeDetection: ChangeDetectionStrategy.OnPush,
2588
2651
  template: `
2589
- <a
2590
- *ngFor="let action of customActions()"
2591
- [id]="'row-' + row.index + '_action-' + action.name + '-button'"
2592
- href="#"
2593
- class="ng2-smart-action ng2-smart-action-custom-custom"
2594
- [innerHTML]="action.title"
2595
- (click)="$event.stopPropagation(); $event.preventDefault(); onCustom(action)"
2596
- ></a>
2597
- `,
2652
+ @for (action of customActions(); track action) {
2653
+ <a
2654
+ [id]="'row-' + row.index + '_action-' + action.name + '-button'"
2655
+ href="#"
2656
+ class="ng2-smart-action ng2-smart-action-custom-custom"
2657
+ [innerHTML]="action.title"
2658
+ (click)="$event.stopPropagation(); $event.preventDefault(); onCustom(action)"
2659
+ ></a>
2660
+ }
2661
+ `,
2598
2662
  }]
2599
2663
  }], propDecorators: { grid: [{
2600
2664
  type: Input
@@ -2651,12 +2715,12 @@ class Ng2SmartTableTbodyComponent {
2651
2715
  trackByIdOrIndex(index, item) {
2652
2716
  return item?.id || index;
2653
2717
  }
2654
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Ng2SmartTableTbodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2655
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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: "<ng-container *ngIf=\"grid.getRows()?.length; noRows\">\n <tr\n *ngFor=\"let row of grid.getRows(); trackBy: trackByIdOrIndex\"\n (click)=\"userClickedRow.emit(row)\"\n class=\"ng2-smart-row\"\n [className]=\"rowClassFunction(row)\"\n [ngClass]=\"{ selected: row.isSelected }\"\n >\n <td\n *ngIf=\"isMultiSelectVisible\"\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 <td\n *ngIf=\"!row.isInEditing && showActionColumnLeft\"\n class=\"ng2-smart-actions\"\n (click)=\"$event.stopPropagation()\"\n >\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\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 <td\n *ngIf=\"row.isInEditing && showActionColumnLeft\"\n class=\"ng2-smart-actions\"\n >\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 <td\n *ngFor=\"let cell of getVisibleCells(row.cells)\"\n [ngClass]=\"cell.getColumnClass()\"\n >\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\n <td\n *ngIf=\"row.isInEditing && showActionColumnRight\"\n class=\"ng2-smart-actions\"\n >\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n ></ng2-st-tbody-create-cancel>\n </td>\n\n <td\n *ngIf=\"!row.isInEditing && showActionColumnRight\"\n class=\"ng2-smart-actions\"\n >\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\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 </tr>\n</ng-container>\n\n<ng-template #noRows>\n <tr>\n <td [attr.colspan]=\"tableColumnsCount\">\n {{ noDataMessage }}\n </td>\n </tr>\n</ng-template>\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: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
2718
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Ng2SmartTableTbodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2719
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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) {\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"] }] }); }
2656
2720
  }
2657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Ng2SmartTableTbodyComponent, decorators: [{
2721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Ng2SmartTableTbodyComponent, decorators: [{
2658
2722
  type: Component,
2659
- args: [{ selector: '[ng2-st-tbody]', template: "<ng-container *ngIf=\"grid.getRows()?.length; noRows\">\n <tr\n *ngFor=\"let row of grid.getRows(); trackBy: trackByIdOrIndex\"\n (click)=\"userClickedRow.emit(row)\"\n class=\"ng2-smart-row\"\n [className]=\"rowClassFunction(row)\"\n [ngClass]=\"{ selected: row.isSelected }\"\n >\n <td\n *ngIf=\"isMultiSelectVisible\"\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 <td\n *ngIf=\"!row.isInEditing && showActionColumnLeft\"\n class=\"ng2-smart-actions\"\n (click)=\"$event.stopPropagation()\"\n >\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\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 <td\n *ngIf=\"row.isInEditing && showActionColumnLeft\"\n class=\"ng2-smart-actions\"\n >\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 <td\n *ngFor=\"let cell of getVisibleCells(row.cells)\"\n [ngClass]=\"cell.getColumnClass()\"\n >\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\n <td\n *ngIf=\"row.isInEditing && showActionColumnRight\"\n class=\"ng2-smart-actions\"\n >\n <ng2-st-tbody-create-cancel\n [grid]=\"grid\"\n [row]=\"row\"\n [editConfirm]=\"editConfirm\"\n ></ng2-st-tbody-create-cancel>\n </td>\n\n <td\n *ngIf=\"!row.isInEditing && showActionColumnRight\"\n class=\"ng2-smart-actions\"\n >\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\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 </tr>\n</ng-container>\n\n<ng-template #noRows>\n <tr>\n <td [attr.colspan]=\"tableColumnsCount\">\n {{ noDataMessage }}\n </td>\n </tr>\n</ng-template>\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"] }]
2723
+ 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) {\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"] }]
2660
2724
  }], propDecorators: { grid: [{
2661
2725
  type: Input
2662
2726
  }], source: [{
@@ -2698,8 +2762,8 @@ const TBODY_COMPONENTS = [
2698
2762
  Ng2SmartTableTbodyComponent
2699
2763
  ];
2700
2764
  class TBodyModule {
2701
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TBodyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2702
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TBodyModule, declarations: [TbodyCreateCancelComponent,
2765
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TBodyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2766
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TBodyModule, declarations: [TbodyCreateCancelComponent,
2703
2767
  TbodyEditDeleteComponent,
2704
2768
  TbodyCustomComponent,
2705
2769
  Ng2SmartTableTbodyComponent], imports: [CommonModule,
@@ -2708,11 +2772,11 @@ class TBodyModule {
2708
2772
  TbodyEditDeleteComponent,
2709
2773
  TbodyCustomComponent,
2710
2774
  Ng2SmartTableTbodyComponent] }); }
2711
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TBodyModule, imports: [CommonModule,
2775
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TBodyModule, imports: [CommonModule,
2712
2776
  FormsModule,
2713
2777
  CellModule] }); }
2714
2778
  }
2715
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TBodyModule, decorators: [{
2779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TBodyModule, decorators: [{
2716
2780
  type: NgModule,
2717
2781
  args: [{
2718
2782
  imports: [
@@ -2755,22 +2819,26 @@ class AddButtonComponent {
2755
2819
  this.grid.createFormShown = true;
2756
2820
  }
2757
2821
  }
2758
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
2759
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddButtonComponent, selector: "[ng2-st-add-button]", inputs: { grid: "grid", source: "source" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2760
- <a *ngIf="isActionAdd" href="#" class="ng2-smart-action ng2-smart-action-add-add"
2761
- [innerHTML]="addNewButtonContent" (click)="onAdd($event)"></a>
2762
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
2822
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
2823
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AddButtonComponent, selector: "[ng2-st-add-button]", inputs: { grid: "grid", source: "source" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2824
+ @if (isActionAdd) {
2825
+ <a href="#" class="ng2-smart-action ng2-smart-action-add-add"
2826
+ [innerHTML]="addNewButtonContent" (click)="onAdd($event)"></a>
2827
+ }
2828
+ `, isInline: true }); }
2763
2829
  }
2764
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddButtonComponent, decorators: [{
2830
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddButtonComponent, decorators: [{
2765
2831
  type: Component,
2766
2832
  args: [{
2767
2833
  selector: '[ng2-st-add-button]',
2768
2834
  template: `
2769
- <a *ngIf="isActionAdd" href="#" class="ng2-smart-action ng2-smart-action-add-add"
2770
- [innerHTML]="addNewButtonContent" (click)="onAdd($event)"></a>
2771
- `,
2835
+ @if (isActionAdd) {
2836
+ <a href="#" class="ng2-smart-action ng2-smart-action-add-add"
2837
+ [innerHTML]="addNewButtonContent" (click)="onAdd($event)"></a>
2838
+ }
2839
+ `,
2772
2840
  }]
2773
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { grid: [{
2841
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { grid: [{
2774
2842
  type: Input
2775
2843
  }], source: [{
2776
2844
  type: Input
@@ -2796,50 +2864,66 @@ class TheadFitlersRowComponent {
2796
2864
  getVisibleColumns(columns) {
2797
2865
  return (columns || []).filter((column) => !column.hide);
2798
2866
  }
2799
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TheadFitlersRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2800
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TheadFitlersRowComponent, selector: "[ng2-st-thead-filters-row]", inputs: { grid: "grid", source: "source" }, outputs: { create: "create", filter: "filter" }, usesOnChanges: true, ngImport: i0, template: `
2801
- <th *ngIf="isMultiSelectVisible"></th>
2802
- <th ng2-st-add-button *ngIf="showActionColumnLeft"
2803
- [grid]="grid"
2804
- (create)="create.emit($event)">
2805
- </th>
2806
- <th *ngFor="let column of getVisibleColumns(grid.getColumns())" class="ng2-smart-th {{ column.id }}">
2807
- <ng2-smart-table-filter [source]="source"
2808
- [column]="column"
2809
- [inputClass]="filterInputClass"
2810
- (filter)="filter.emit($event)">
2811
- </ng2-smart-table-filter>
2812
- </th>
2813
- <th ng2-st-add-button *ngIf="showActionColumnRight"
2814
- [grid]="grid"
2815
- [source]="source"
2816
- (create)="create.emit($event)">
2817
- </th>
2818
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FilterComponent, selector: "ng2-smart-table-filter" }, { kind: "component", type: AddButtonComponent, selector: "[ng2-st-add-button]", inputs: ["grid", "source"], outputs: ["create"] }] }); }
2867
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TheadFitlersRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2868
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TheadFitlersRowComponent, selector: "[ng2-st-thead-filters-row]", inputs: { grid: "grid", source: "source" }, outputs: { create: "create", filter: "filter" }, usesOnChanges: true, ngImport: i0, template: `
2869
+ @if (isMultiSelectVisible) {
2870
+ <th></th>
2871
+ }
2872
+ @if (showActionColumnLeft) {
2873
+ <th ng2-st-add-button
2874
+ [grid]="grid"
2875
+ (create)="create.emit($event)">
2876
+ </th>
2877
+ }
2878
+ @for (column of getVisibleColumns(grid.getColumns()); track column) {
2879
+ <th class="ng2-smart-th {{ column.id }}">
2880
+ <ng2-smart-table-filter [source]="source"
2881
+ [column]="column"
2882
+ [inputClass]="filterInputClass"
2883
+ (filter)="filter.emit($event)">
2884
+ </ng2-smart-table-filter>
2885
+ </th>
2886
+ }
2887
+ @if (showActionColumnRight) {
2888
+ <th ng2-st-add-button
2889
+ [grid]="grid"
2890
+ [source]="source"
2891
+ (create)="create.emit($event)">
2892
+ </th>
2893
+ }
2894
+ `, 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"] }] }); }
2819
2895
  }
2820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TheadFitlersRowComponent, decorators: [{
2896
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TheadFitlersRowComponent, decorators: [{
2821
2897
  type: Component,
2822
2898
  args: [{
2823
2899
  selector: '[ng2-st-thead-filters-row]',
2824
2900
  template: `
2825
- <th *ngIf="isMultiSelectVisible"></th>
2826
- <th ng2-st-add-button *ngIf="showActionColumnLeft"
2827
- [grid]="grid"
2828
- (create)="create.emit($event)">
2829
- </th>
2830
- <th *ngFor="let column of getVisibleColumns(grid.getColumns())" class="ng2-smart-th {{ column.id }}">
2831
- <ng2-smart-table-filter [source]="source"
2832
- [column]="column"
2833
- [inputClass]="filterInputClass"
2834
- (filter)="filter.emit($event)">
2835
- </ng2-smart-table-filter>
2836
- </th>
2837
- <th ng2-st-add-button *ngIf="showActionColumnRight"
2838
- [grid]="grid"
2839
- [source]="source"
2840
- (create)="create.emit($event)">
2841
- </th>
2842
- `,
2901
+ @if (isMultiSelectVisible) {
2902
+ <th></th>
2903
+ }
2904
+ @if (showActionColumnLeft) {
2905
+ <th ng2-st-add-button
2906
+ [grid]="grid"
2907
+ (create)="create.emit($event)">
2908
+ </th>
2909
+ }
2910
+ @for (column of getVisibleColumns(grid.getColumns()); track column) {
2911
+ <th class="ng2-smart-th {{ column.id }}">
2912
+ <ng2-smart-table-filter [source]="source"
2913
+ [column]="column"
2914
+ [inputClass]="filterInputClass"
2915
+ (filter)="filter.emit($event)">
2916
+ </ng2-smart-table-filter>
2917
+ </th>
2918
+ }
2919
+ @if (showActionColumnRight) {
2920
+ <th ng2-st-add-button
2921
+ [grid]="grid"
2922
+ [source]="source"
2923
+ (create)="create.emit($event)">
2924
+ </th>
2925
+ }
2926
+ `,
2843
2927
  }]
2844
2928
  }], propDecorators: { grid: [{
2845
2929
  type: Input
@@ -2861,8 +2945,8 @@ class ActionsComponent {
2861
2945
  this.createButtonContent = this.grid.getSetting('add.createButtonContent');
2862
2946
  this.cancelButtonContent = this.grid.getSetting('add.cancelButtonContent');
2863
2947
  }
2864
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2865
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ActionsComponent, selector: "ng2-st-actions", inputs: { grid: "grid" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2948
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2949
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionsComponent, selector: "ng2-st-actions", inputs: { grid: "grid" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2866
2950
  <a href="#" class="ng2-smart-action ng2-smart-action-add-create"
2867
2951
  [innerHTML]="createButtonContent"
2868
2952
  (click)="$event.preventDefault();create.emit($event)"></a>
@@ -2871,7 +2955,7 @@ class ActionsComponent {
2871
2955
  (click)="$event.preventDefault();grid.createFormShown = false;"></a>
2872
2956
  `, isInline: true }); }
2873
2957
  }
2874
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionsComponent, decorators: [{
2958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionsComponent, decorators: [{
2875
2959
  type: Component,
2876
2960
  args: [{
2877
2961
  selector: 'ng2-st-actions',
@@ -2896,7 +2980,7 @@ class TheadFormRowComponent {
2896
2980
  this.isMultiSelectVisible = false;
2897
2981
  this.showActionColumnLeft = false;
2898
2982
  this.showActionColumnRight = false;
2899
- this.addInputClass = '';
2983
+ this.addInputClass = "";
2900
2984
  }
2901
2985
  onCreate(event) {
2902
2986
  event.stopPropagation();
@@ -2904,56 +2988,82 @@ class TheadFormRowComponent {
2904
2988
  }
2905
2989
  ngOnChanges() {
2906
2990
  this.isMultiSelectVisible = this.grid.isMultiSelectVisible();
2907
- this.showActionColumnLeft = this.grid.showActionColumn('left');
2908
- this.showActionColumnRight = this.grid.showActionColumn('right');
2909
- this.addInputClass = this.grid.getSetting('add.inputClass', '');
2991
+ this.showActionColumnLeft = this.grid.showActionColumn("left");
2992
+ this.showActionColumnRight = this.grid.showActionColumn("right");
2993
+ this.addInputClass = this.grid.getSetting("add.inputClass", "");
2910
2994
  }
2911
2995
  getVisibleCells(cells) {
2912
2996
  return (cells || []).filter((cell) => !cell.getColumn().hide);
2913
2997
  }
2914
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TheadFormRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2915
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TheadFormRowComponent, selector: "[ng2-st-thead-form-row]", inputs: { grid: "grid", row: "row", createConfirm: "createConfirm" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
2916
- <td *ngIf="grid.isMultiSelectVisible"></td>
2917
- <td *ngIf="showActionColumnLeft" class="ng2-smart-actions">
2918
- <ng2-st-actions [grid]="grid" (create)="onCreate($event)"></ng2-st-actions>
2919
- </td>
2920
- <td *ngFor="let cell of getVisibleCells(grid.getNewRow().getCells())">
2921
- <ng2-smart-table-cell [cell]="cell"
2922
- [grid]="grid"
2923
- [isNew]="true"
2924
- [createConfirm]="createConfirm"
2925
- [inputClass]="addInputClass"
2926
- [isInEditing]="grid.getNewRow().isInEditing"
2927
- (edited)="onCreate($event)">
2928
- </ng2-smart-table-cell>
2929
- </td>
2930
- <td *ngIf="showActionColumnRight" class="ng2-smart-actions">
2931
- <ng2-st-actions [grid]="grid" (create)="onCreate($event)"></ng2-st-actions>
2932
- </td>
2933
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
2998
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TheadFormRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2999
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TheadFormRowComponent, selector: "[ng2-st-thead-form-row]", inputs: { grid: "grid", row: "row", createConfirm: "createConfirm" }, outputs: { create: "create" }, usesOnChanges: true, ngImport: i0, template: `
3000
+ @if (grid.isMultiSelectVisible()) {
3001
+ <td></td>
3002
+ } @if (showActionColumnLeft) {
3003
+ <td class="ng2-smart-actions">
3004
+ <ng2-st-actions
3005
+ [grid]="grid"
3006
+ (create)="onCreate($event)"
3007
+ ></ng2-st-actions>
3008
+ </td>
3009
+ } @for (cell of getVisibleCells(grid.getNewRow().getCells()); track cell) {
3010
+ <td>
3011
+ <ng2-smart-table-cell
3012
+ [cell]="cell"
3013
+ [grid]="grid"
3014
+ [isNew]="true"
3015
+ [createConfirm]="createConfirm"
3016
+ [inputClass]="addInputClass"
3017
+ [isInEditing]="grid.getNewRow().isInEditing"
3018
+ (edited)="onCreate($event)"
3019
+ >
3020
+ </ng2-smart-table-cell>
3021
+ </td>
3022
+ } @if (showActionColumnRight) {
3023
+ <td class="ng2-smart-actions">
3024
+ <ng2-st-actions
3025
+ [grid]="grid"
3026
+ (create)="onCreate($event)"
3027
+ ></ng2-st-actions>
3028
+ </td>
3029
+ }
3030
+ `, 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"] }] }); }
2934
3031
  }
2935
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TheadFormRowComponent, decorators: [{
3032
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TheadFormRowComponent, decorators: [{
2936
3033
  type: Component,
2937
3034
  args: [{
2938
- selector: '[ng2-st-thead-form-row]',
3035
+ selector: "[ng2-st-thead-form-row]",
2939
3036
  template: `
2940
- <td *ngIf="grid.isMultiSelectVisible"></td>
2941
- <td *ngIf="showActionColumnLeft" class="ng2-smart-actions">
2942
- <ng2-st-actions [grid]="grid" (create)="onCreate($event)"></ng2-st-actions>
2943
- </td>
2944
- <td *ngFor="let cell of getVisibleCells(grid.getNewRow().getCells())">
2945
- <ng2-smart-table-cell [cell]="cell"
2946
- [grid]="grid"
2947
- [isNew]="true"
2948
- [createConfirm]="createConfirm"
2949
- [inputClass]="addInputClass"
2950
- [isInEditing]="grid.getNewRow().isInEditing"
2951
- (edited)="onCreate($event)">
2952
- </ng2-smart-table-cell>
2953
- </td>
2954
- <td *ngIf="showActionColumnRight" class="ng2-smart-actions">
2955
- <ng2-st-actions [grid]="grid" (create)="onCreate($event)"></ng2-st-actions>
2956
- </td>
3037
+ @if (grid.isMultiSelectVisible()) {
3038
+ <td></td>
3039
+ } @if (showActionColumnLeft) {
3040
+ <td class="ng2-smart-actions">
3041
+ <ng2-st-actions
3042
+ [grid]="grid"
3043
+ (create)="onCreate($event)"
3044
+ ></ng2-st-actions>
3045
+ </td>
3046
+ } @for (cell of getVisibleCells(grid.getNewRow().getCells()); track cell) {
3047
+ <td>
3048
+ <ng2-smart-table-cell
3049
+ [cell]="cell"
3050
+ [grid]="grid"
3051
+ [isNew]="true"
3052
+ [createConfirm]="createConfirm"
3053
+ [inputClass]="addInputClass"
3054
+ [isInEditing]="grid.getNewRow().isInEditing"
3055
+ (edited)="onCreate($event)"
3056
+ >
3057
+ </ng2-smart-table-cell>
3058
+ </td>
3059
+ } @if (showActionColumnRight) {
3060
+ <td class="ng2-smart-actions">
3061
+ <ng2-st-actions
3062
+ [grid]="grid"
3063
+ (create)="onCreate($event)"
3064
+ ></ng2-st-actions>
3065
+ </td>
3066
+ }
2957
3067
  `,
2958
3068
  }]
2959
3069
  }], propDecorators: { grid: [{
@@ -2977,12 +3087,12 @@ class ActionsTitleComponent {
2977
3087
  ngOnChanges() {
2978
3088
  this.actionsColumnTitle = this.grid.getSetting('actions.columnTitle');
2979
3089
  }
2980
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionsTitleComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
2981
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ActionsTitleComponent, selector: "[ng2-st-actions-title]", inputs: { grid: "grid" }, usesOnChanges: true, ngImport: i0, template: `
3090
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionsTitleComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
3091
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionsTitleComponent, selector: "[ng2-st-actions-title]", inputs: { grid: "grid" }, usesOnChanges: true, ngImport: i0, template: `
2982
3092
  <div class="ng2-smart-title">{{ actionsColumnTitle }}</div>
2983
3093
  `, isInline: true }); }
2984
3094
  }
2985
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionsTitleComponent, decorators: [{
3095
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionsTitleComponent, decorators: [{
2986
3096
  type: Component,
2987
3097
  args: [{
2988
3098
  selector: '[ng2-st-actions-title]',
@@ -2990,17 +3100,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2990
3100
  <div class="ng2-smart-title">{{ actionsColumnTitle }}</div>
2991
3101
  `,
2992
3102
  }]
2993
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { grid: [{
3103
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { grid: [{
2994
3104
  type: Input
2995
3105
  }] } });
2996
3106
 
2997
3107
  class CheckboxSelectAllComponent {
2998
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxSelectAllComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2999
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxSelectAllComponent, selector: "[ng2-st-checkbox-select-all]", inputs: { grid: "grid", source: "source" }, ngImport: i0, template: `
3108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxSelectAllComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CheckboxSelectAllComponent, selector: "[ng2-st-checkbox-select-all]", inputs: { grid: "grid", source: "source" }, ngImport: i0, template: `
3000
3110
  <input type="checkbox" [ngModel]="this.grid.dataSet.isAllSelected">
3001
3111
  `, 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"] }] }); }
3002
3112
  }
3003
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxSelectAllComponent, decorators: [{
3113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxSelectAllComponent, decorators: [{
3004
3114
  type: Component,
3005
3115
  args: [{
3006
3116
  selector: '[ng2-st-checkbox-select-all]',
@@ -3058,28 +3168,36 @@ class TitleComponent {
3058
3168
  }
3059
3169
  return this.currentDirection;
3060
3170
  }
3061
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3062
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TitleComponent, selector: "ng2-smart-table-title", inputs: { column: "column", source: "source" }, outputs: { sort: "sort" }, usesOnChanges: true, ngImport: i0, template: `
3063
- <a href="#" *ngIf="column.isSortable"
3064
- (click)="_sort($event)"
3065
- class="ng2-smart-sort-link sort"
3066
- [ngClass]="currentDirection">
3067
- {{ column.title }}
3068
- </a>
3069
- <span class="ng2-smart-sort" *ngIf="!column.isSortable">{{ column.title }}</span>
3070
- `, 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{transform:rotate(-180deg);margin-bottom:-2px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
3171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3172
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TitleComponent, selector: "ng2-smart-table-title", inputs: { column: "column", source: "source" }, outputs: { sort: "sort" }, usesOnChanges: true, ngImport: i0, template: `
3173
+ @if (column.isSortable) {
3174
+ <a href="#"
3175
+ (click)="_sort($event)"
3176
+ class="ng2-smart-sort-link sort"
3177
+ [ngClass]="currentDirection">
3178
+ {{ column.title }}
3179
+ </a>
3180
+ }
3181
+ @if (!column.isSortable) {
3182
+ <span class="ng2-smart-sort">{{ column.title }}</span>
3183
+ }
3184
+ `, 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"] }] }); }
3071
3185
  }
3072
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TitleComponent, decorators: [{
3186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TitleComponent, decorators: [{
3073
3187
  type: Component,
3074
3188
  args: [{ selector: 'ng2-smart-table-title', template: `
3075
- <a href="#" *ngIf="column.isSortable"
3076
- (click)="_sort($event)"
3077
- class="ng2-smart-sort-link sort"
3078
- [ngClass]="currentDirection">
3079
- {{ column.title }}
3080
- </a>
3081
- <span class="ng2-smart-sort" *ngIf="!column.isSortable">{{ column.title }}</span>
3082
- `, 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{transform:rotate(-180deg);margin-bottom:-2px}\n"] }]
3189
+ @if (column.isSortable) {
3190
+ <a href="#"
3191
+ (click)="_sort($event)"
3192
+ class="ng2-smart-sort-link sort"
3193
+ [ngClass]="currentDirection">
3194
+ {{ column.title }}
3195
+ </a>
3196
+ }
3197
+ @if (!column.isSortable) {
3198
+ <span class="ng2-smart-sort">{{ column.title }}</span>
3199
+ }
3200
+ `, 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"] }]
3083
3201
  }], propDecorators: { column: [{
3084
3202
  type: Input
3085
3203
  }], source: [{
@@ -3092,14 +3210,14 @@ class ColumnTitleComponent {
3092
3210
  constructor() {
3093
3211
  this.sort = new EventEmitter();
3094
3212
  }
3095
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3096
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnTitleComponent, selector: "ng2-st-column-title", inputs: { column: "column", source: "source" }, outputs: { sort: "sort" }, ngImport: i0, template: `
3213
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ColumnTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3214
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ColumnTitleComponent, selector: "ng2-st-column-title", inputs: { column: "column", source: "source" }, outputs: { sort: "sort" }, ngImport: i0, template: `
3097
3215
  <div class="ng2-smart-title">
3098
3216
  <ng2-smart-table-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-smart-table-title>
3099
3217
  </div>
3100
3218
  `, isInline: true, dependencies: [{ kind: "component", type: TitleComponent, selector: "ng2-smart-table-title", inputs: ["column", "source"], outputs: ["sort"] }] }); }
3101
3219
  }
3102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnTitleComponent, decorators: [{
3220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ColumnTitleComponent, decorators: [{
3103
3221
  type: Component,
3104
3222
  args: [{
3105
3223
  selector: 'ng2-st-column-title',
@@ -3133,42 +3251,58 @@ class TheadTitlesRowComponent {
3133
3251
  getVisibleColumns(columns) {
3134
3252
  return (columns || []).filter((column) => !column.hide);
3135
3253
  }
3136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TheadTitlesRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TheadTitlesRowComponent, selector: "[ng2-st-thead-titles-row]", inputs: { grid: "grid", source: "source" }, outputs: { sort: "sort", selectAllRows: "selectAllRows" }, usesOnChanges: true, ngImport: i0, template: `
3138
- <th ng2-st-checkbox-select-all *ngIf="isMultiSelectVisible"
3139
- [grid]="grid"
3140
- [source]="source"
3141
- (click)="selectAllRows.emit($event)">
3142
- </th>
3143
- <th ng2-st-actions-title *ngIf="showActionColumnLeft" [grid]="grid"></th>
3144
- <th *ngFor="let column of getVisibleColumns(grid.getColumns())"
3254
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TheadTitlesRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3255
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TheadTitlesRowComponent, selector: "[ng2-st-thead-titles-row]", inputs: { grid: "grid", source: "source" }, outputs: { sort: "sort", selectAllRows: "selectAllRows" }, usesOnChanges: true, ngImport: i0, template: `
3256
+ @if (isMultiSelectVisible) {
3257
+ <th ng2-st-checkbox-select-all
3258
+ [grid]="grid"
3259
+ [source]="source"
3260
+ (click)="selectAllRows.emit($event)">
3261
+ </th>
3262
+ }
3263
+ @if (showActionColumnLeft) {
3264
+ <th ng2-st-actions-title [grid]="grid"></th>
3265
+ }
3266
+ @for (column of getVisibleColumns(grid.getColumns()); track column) {
3267
+ <th
3145
3268
  class="ng2-smart-th {{ column.id }}"
3146
3269
  [ngClass]="column.class"
3147
3270
  [style.width]="column.width">
3148
- <ng2-st-column-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-st-column-title>
3149
- </th>
3150
- <th ng2-st-actions-title *ngIf="showActionColumnRight" [grid]="grid"></th>
3151
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "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"] }] }); }
3271
+ <ng2-st-column-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-st-column-title>
3272
+ </th>
3273
+ }
3274
+ @if (showActionColumnRight) {
3275
+ <th ng2-st-actions-title [grid]="grid"></th>
3276
+ }
3277
+ `, 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"] }] }); }
3152
3278
  }
3153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TheadTitlesRowComponent, decorators: [{
3279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TheadTitlesRowComponent, decorators: [{
3154
3280
  type: Component,
3155
3281
  args: [{
3156
3282
  selector: '[ng2-st-thead-titles-row]',
3157
3283
  template: `
3158
- <th ng2-st-checkbox-select-all *ngIf="isMultiSelectVisible"
3159
- [grid]="grid"
3160
- [source]="source"
3161
- (click)="selectAllRows.emit($event)">
3162
- </th>
3163
- <th ng2-st-actions-title *ngIf="showActionColumnLeft" [grid]="grid"></th>
3164
- <th *ngFor="let column of getVisibleColumns(grid.getColumns())"
3284
+ @if (isMultiSelectVisible) {
3285
+ <th ng2-st-checkbox-select-all
3286
+ [grid]="grid"
3287
+ [source]="source"
3288
+ (click)="selectAllRows.emit($event)">
3289
+ </th>
3290
+ }
3291
+ @if (showActionColumnLeft) {
3292
+ <th ng2-st-actions-title [grid]="grid"></th>
3293
+ }
3294
+ @for (column of getVisibleColumns(grid.getColumns()); track column) {
3295
+ <th
3165
3296
  class="ng2-smart-th {{ column.id }}"
3166
3297
  [ngClass]="column.class"
3167
3298
  [style.width]="column.width">
3168
- <ng2-st-column-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-st-column-title>
3169
- </th>
3170
- <th ng2-st-actions-title *ngIf="showActionColumnRight" [grid]="grid"></th>
3171
- `,
3299
+ <ng2-st-column-title [source]="source" [column]="column" (sort)="sort.emit($event)"></ng2-st-column-title>
3300
+ </th>
3301
+ }
3302
+ @if (showActionColumnRight) {
3303
+ <th ng2-st-actions-title [grid]="grid"></th>
3304
+ }
3305
+ `,
3172
3306
  }]
3173
3307
  }], propDecorators: { grid: [{
3174
3308
  type: Input
@@ -3193,12 +3327,12 @@ class Ng2SmartTableTheadComponent {
3193
3327
  this.isHideHeader = this.grid.getSetting('hideHeader', false);
3194
3328
  this.isHideSubHeader = this.grid.getSetting('hideSubHeader', false);
3195
3329
  }
3196
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Ng2SmartTableTheadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3197
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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: "<tr ng2-st-thead-titles-row *ngIf=\"!isHideHeader\"\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<tr ng2-st-thead-filters-row *ngIf=\"!isHideSubHeader\"\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<tr ng2-st-thead-form-row *ngIf=\"grid.createFormShown\"\n [grid]=\"grid\"\n [createConfirm]=\"createConfirm\">\n</tr>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
3330
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Ng2SmartTableTheadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3331
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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"] }] }); }
3198
3332
  }
3199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Ng2SmartTableTheadComponent, decorators: [{
3333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Ng2SmartTableTheadComponent, decorators: [{
3200
3334
  type: Component,
3201
- args: [{ selector: '[ng2-st-thead]', template: "<tr ng2-st-thead-titles-row *ngIf=\"!isHideHeader\"\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<tr ng2-st-thead-filters-row *ngIf=\"!isHideSubHeader\"\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<tr ng2-st-thead-form-row *ngIf=\"grid.createFormShown\"\n [grid]=\"grid\"\n [createConfirm]=\"createConfirm\">\n</tr>\n" }]
3335
+ 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" }]
3202
3336
  }], propDecorators: { grid: [{
3203
3337
  type: Input
3204
3338
  }], source: [{
@@ -3228,8 +3362,8 @@ const THEAD_COMPONENTS = [
3228
3362
  Ng2SmartTableTheadComponent,
3229
3363
  ];
3230
3364
  class THeadModule {
3231
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: THeadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3232
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: THeadModule, declarations: [ActionsComponent,
3365
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: THeadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3366
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: THeadModule, declarations: [ActionsComponent,
3233
3367
  ActionsTitleComponent,
3234
3368
  AddButtonComponent,
3235
3369
  CheckboxSelectAllComponent,
@@ -3251,12 +3385,12 @@ class THeadModule {
3251
3385
  TheadFormRowComponent,
3252
3386
  TheadTitlesRowComponent,
3253
3387
  Ng2SmartTableTheadComponent] }); }
3254
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: THeadModule, imports: [CommonModule,
3388
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: THeadModule, imports: [CommonModule,
3255
3389
  FormsModule,
3256
3390
  FilterModule,
3257
3391
  CellModule] }); }
3258
3392
  }
3259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: THeadModule, decorators: [{
3393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: THeadModule, decorators: [{
3260
3394
  type: NgModule,
3261
3395
  args: [{
3262
3396
  imports: [
@@ -3295,8 +3429,8 @@ class Ng2SmartTableComponent {
3295
3429
  this.isPagerDisplay = false;
3296
3430
  this.rowClassFunction = () => '';
3297
3431
  this.defaultSettings = {
3298
- mode: 'inline',
3299
- selectMode: 'single',
3432
+ mode: 'inline', // inline|external|click-to-edit
3433
+ selectMode: 'single', // single|multi
3300
3434
  selectedRowIndex: -1,
3301
3435
  switchPageToSelectedRowPage: false,
3302
3436
  hideHeader: false,
@@ -3400,12 +3534,12 @@ class Ng2SmartTableComponent {
3400
3534
  selected: this.grid.dataSet.getSelectedRowsData(),
3401
3535
  });
3402
3536
  }
3403
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Ng2SmartTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3404
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 <thead ng2-st-thead *ngIf=\"!isHideHeader || !isHideSubHeader\"\n [grid]=\"grid\"\n [source]=\"source\"\n [createConfirm]=\"createConfirm\"\n (create)=\"create.emit($event)\"\n (selectAllRows)=\"onSelectAllRows()\">\n </thead>\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<ng2-smart-table-pager *ngIf=\"isPagerDisplay\"\n [source]=\"source\"\n [perPageSelect]=\"perPageSelect\">\n</ng2-smart-table-pager>\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: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
3537
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Ng2SmartTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3538
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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"] }] }); }
3405
3539
  }
3406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Ng2SmartTableComponent, decorators: [{
3540
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Ng2SmartTableComponent, decorators: [{
3407
3541
  type: Component,
3408
- args: [{ selector: 'ng2-smart-table', template: "<table [id]=\"tableId\" [ngClass]=\"tableClass\">\n\n <thead ng2-st-thead *ngIf=\"!isHideHeader || !isHideSubHeader\"\n [grid]=\"grid\"\n [source]=\"source\"\n [createConfirm]=\"createConfirm\"\n (create)=\"create.emit($event)\"\n (selectAllRows)=\"onSelectAllRows()\">\n </thead>\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<ng2-smart-table-pager *ngIf=\"isPagerDisplay\"\n [source]=\"source\"\n [perPageSelect]=\"perPageSelect\">\n</ng2-smart-table-pager>\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"] }]
3542
+ 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"] }]
3409
3543
  }], propDecorators: { source: [{
3410
3544
  type: Input
3411
3545
  }], settings: [{
@@ -3435,8 +3569,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3435
3569
  }] } });
3436
3570
 
3437
3571
  class Ng2SmartTableModule {
3438
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Ng2SmartTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3439
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: Ng2SmartTableModule, declarations: [Ng2SmartTableComponent], imports: [CommonModule,
3572
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Ng2SmartTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3573
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: Ng2SmartTableModule, declarations: [Ng2SmartTableComponent], imports: [CommonModule,
3440
3574
  FormsModule,
3441
3575
  ReactiveFormsModule,
3442
3576
  CellModule,
@@ -3444,7 +3578,7 @@ class Ng2SmartTableModule {
3444
3578
  PagerModule,
3445
3579
  TBodyModule,
3446
3580
  THeadModule], exports: [Ng2SmartTableComponent] }); }
3447
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Ng2SmartTableModule, imports: [CommonModule,
3581
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Ng2SmartTableModule, imports: [CommonModule,
3448
3582
  FormsModule,
3449
3583
  ReactiveFormsModule,
3450
3584
  CellModule,
@@ -3453,7 +3587,7 @@ class Ng2SmartTableModule {
3453
3587
  TBodyModule,
3454
3588
  THeadModule] }); }
3455
3589
  }
3456
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Ng2SmartTableModule, decorators: [{
3590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Ng2SmartTableModule, decorators: [{
3457
3591
  type: NgModule,
3458
3592
  args: [{
3459
3593
  imports: [