@colijnit/corecomponents_v12 262.1.4 → 262.1.6

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.
@@ -8158,6 +8158,7 @@ class InputDatePickerComponent extends BaseInputDatePickerDirective {
8158
8158
  }
8159
8159
  handleDateSelected(date) {
8160
8160
  this.setModel(date);
8161
+ this.markAsUserTouched();
8161
8162
  if (this.closeAfterDateSelection || !date) {
8162
8163
  this.toggleCalendar(false);
8163
8164
  }
@@ -8185,6 +8186,7 @@ class InputDatePickerComponent extends BaseInputDatePickerDirective {
8185
8186
  const [year, month, day] = this.modelAsString.split('-').map(Number);
8186
8187
  const date = new Date(year, month - 1, day);
8187
8188
  this.setModel(date);
8189
+ this.markAsUserTouched();
8188
8190
  }
8189
8191
  }
8190
8192
  finalize() {
@@ -8252,7 +8254,8 @@ class InputDatePickerComponent extends BaseInputDatePickerDirective {
8252
8254
  (keydown.tab)="finalizeDate()"
8253
8255
  (blur)="finalizeDate()"
8254
8256
  ></co-input-text>
8255
- `, isInline: true, dependencies: [{ kind: "component", type: InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "formatPipe", "min", "max", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "keyDownWhiteList", "showPlaceholderOnFocus", "leftIcon", "rightIcon", "leftIconData", "rightIconData", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutside", "alwaysTrigger"], outputs: ["clickOutside"], exportAs: ["clickOutside"] }, { kind: "directive", type: OverlayParentDirective, selector: "[overlayParent]", exportAs: ["overlayParent"] }], encapsulation: i0.ViewEncapsulation.None });
8257
+ <input type="hidden" [ngModel]="model">
8258
+ `, isInline: true, dependencies: [{ kind: "component", type: InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "formatPipe", "min", "max", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "keyDownWhiteList", "showPlaceholderOnFocus", "leftIcon", "rightIcon", "leftIconData", "rightIconData", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutside", "alwaysTrigger"], outputs: ["clickOutside"], exportAs: ["clickOutside"] }, { kind: "directive", type: OverlayParentDirective, selector: "[overlayParent]", exportAs: ["overlayParent"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
8256
8259
  }
8257
8260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputDatePickerComponent, decorators: [{
8258
8261
  type: Component,
@@ -8280,6 +8283,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
8280
8283
  (keydown.tab)="finalizeDate()"
8281
8284
  (blur)="finalizeDate()"
8282
8285
  ></co-input-text>
8286
+ <input type="hidden" [ngModel]="model">
8283
8287
  `,
8284
8288
  providers: [
8285
8289
  OverlayService, {
@@ -8562,13 +8566,15 @@ class InputDatePickerModule {
8562
8566
  CalendarModule,
8563
8567
  ClickoutsideModule,
8564
8568
  OverlayModule,
8565
- ReactiveFormsModule], exports: [InputDatePickerComponent] });
8569
+ ReactiveFormsModule,
8570
+ FormsModule], exports: [InputDatePickerComponent] });
8566
8571
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputDatePickerModule, imports: [CommonModule,
8567
8572
  InputTextModule,
8568
8573
  CalendarModule,
8569
8574
  ClickoutsideModule,
8570
8575
  OverlayModule,
8571
- ReactiveFormsModule] });
8576
+ ReactiveFormsModule,
8577
+ FormsModule] });
8572
8578
  }
8573
8579
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: InputDatePickerModule, decorators: [{
8574
8580
  type: NgModule,
@@ -8579,7 +8585,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
8579
8585
  CalendarModule,
8580
8586
  ClickoutsideModule,
8581
8587
  OverlayModule,
8582
- ReactiveFormsModule
8588
+ ReactiveFormsModule,
8589
+ FormsModule
8583
8590
  ],
8584
8591
  schemas: [
8585
8592
  NO_ERRORS_SCHEMA
@@ -11623,6 +11630,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
11623
11630
 
11624
11631
  class BaseSimpleGridComponent {
11625
11632
  changeDetection;
11633
+ differs;
11626
11634
  MIN_COLUMN_WIDTH = 50;
11627
11635
  dataChanged = new Subject();
11628
11636
  set content(columnComponents) {
@@ -11632,6 +11640,7 @@ class BaseSimpleGridComponent {
11632
11640
  set data(value) {
11633
11641
  this._data = value;
11634
11642
  this._prepareData();
11643
+ this._currentDataJSON = JSON.stringify(this._data);
11635
11644
  this.dataChanged.next();
11636
11645
  }
11637
11646
  get data() {
@@ -11683,11 +11692,21 @@ class BaseSimpleGridComponent {
11683
11692
  _data = [];
11684
11693
  _exportData = [];
11685
11694
  disabledRows = [];
11695
+ rowsWithAddedClasses = new Map();
11686
11696
  _columnForResize;
11687
- _prepared = false;
11697
+ _headersPrepared = false;
11688
11698
  _startMousePositionX;
11689
- constructor(changeDetection) {
11699
+ _currentDataJSON;
11700
+ constructor(changeDetection, differs) {
11690
11701
  this.changeDetection = changeDetection;
11702
+ this.differs = differs;
11703
+ }
11704
+ ngDoCheck() {
11705
+ const dataJSON = JSON.stringify(this.data);
11706
+ if (dataJSON !== this._currentDataJSON) {
11707
+ this.dataHasChanged();
11708
+ this._currentDataJSON = dataJSON;
11709
+ }
11691
11710
  }
11692
11711
  handleSizerMouseDown(event, column) {
11693
11712
  this._setWidthOfAllColumns();
@@ -11717,10 +11736,13 @@ class BaseSimpleGridComponent {
11717
11736
  }
11718
11737
  }
11719
11738
  isSingleColumnRow(row) {
11720
- return row.hasOwnProperty('singleColumnIndex');
11739
+ return row && row.hasOwnProperty('singleColumnIndex');
11721
11740
  }
11722
11741
  singleColumnIndex(row) {
11723
- return row.singleColumnIndex;
11742
+ return row ? row.singleColumnIndex : 0;
11743
+ }
11744
+ dataHasChanged() {
11745
+ this._prepareDataRows();
11724
11746
  }
11725
11747
  async prepareDataRow(row, index) {
11726
11748
  }
@@ -11729,41 +11751,42 @@ class BaseSimpleGridComponent {
11729
11751
  this.columns.sort((a, b) => a.order < b.order ? -1 : 1);
11730
11752
  }
11731
11753
  async _prepareData() {
11732
- if (this._prepared) {
11733
- return;
11734
- }
11735
11754
  this.disabledRows.length = 0;
11736
- if (this.columns && this.columns.length > 0) {
11755
+ if (this.columns && this.columns.length > 0 && !this._headersPrepared) {
11737
11756
  this.headerColumns = this.columns.filter(c => !c.singleColumn);
11738
11757
  this.headerColumnsCopy = this.headerColumns;
11739
- let singleColumnIndex = -1;
11740
- for (let i = 0; i < this.columns.length; i++) {
11741
- if (this.columns[i].singleColumn) {
11742
- singleColumnIndex = i;
11743
- break;
11744
- }
11758
+ this._headersPrepared = true;
11759
+ }
11760
+ await this._prepareDataRows();
11761
+ this._resizeColumnsToFit();
11762
+ this.changeDetection.detectChanges();
11763
+ }
11764
+ async _prepareDataRows() {
11765
+ let singleColumnIndex = -1;
11766
+ for (let i = 0; i < this.columns.length; i++) {
11767
+ if (this.columns[i].singleColumn) {
11768
+ singleColumnIndex = i;
11769
+ break;
11745
11770
  }
11746
- // first check if there's single column data
11747
- if (this.data && this.data.length > 0) {
11748
- if (singleColumnIndex > -1) {
11749
- const field = this.columns[singleColumnIndex].field;
11750
- for (let i = 0; i < this.data.length; i++) { // then mark row as single column row
11751
- if (this.data[i][field] !== undefined && this.data[i][field] !== null && this.data[i][field] !== "") {
11752
- // bit nasty to add prop, but cool for now
11753
- this.data[i].singleColumnIndex = singleColumnIndex;
11754
- }
11755
- await this.prepareDataRow(this.data[i], i);
11771
+ }
11772
+ // first check if there's single column data
11773
+ if (this.data && this.data.length > 0) {
11774
+ if (singleColumnIndex > -1) {
11775
+ const field = this.columns[singleColumnIndex].field;
11776
+ for (let i = 0; i < this.data.length; i++) { // then mark row as single column row
11777
+ if (this.data[i][field] !== undefined && this.data[i][field] !== null && this.data[i][field] !== "") {
11778
+ // bit nasty to add prop, but cool for now
11779
+ this.data[i].singleColumnIndex = singleColumnIndex;
11756
11780
  }
11781
+ await this.prepareDataRow(this.data[i], i);
11757
11782
  }
11758
- else {
11759
- for (let j = 0; j < this.data.length; j++) {
11760
- await this.prepareDataRow(this.data[j], j);
11761
- }
11783
+ }
11784
+ else {
11785
+ for (let j = 0; j < this.data.length; j++) {
11786
+ await this.prepareDataRow(this.data[j], j);
11762
11787
  }
11763
11788
  }
11764
- this._prepared = true;
11765
11789
  }
11766
- this._resizeColumnsToFit();
11767
11790
  this.changeDetection.detectChanges();
11768
11791
  }
11769
11792
  _resizeColumnsToFit() {
@@ -11780,12 +11803,12 @@ class BaseSimpleGridComponent {
11780
11803
  }
11781
11804
  });
11782
11805
  }
11783
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BaseSimpleGridComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
11806
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BaseSimpleGridComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
11784
11807
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: BaseSimpleGridComponent, isStandalone: true, inputs: { data: "data", exportData: "exportData", dragDropEnabled: "dragDropEnabled", resizable: "resizable", inlineEdit: "inlineEdit", showEdit: "showEdit", showToolbar: "showToolbar", autoAddRow: "autoAddRow", useCustomExcelExport: "useCustomExcelExport", emitDragDrop: "emitDragDrop", extraColumns: "extraColumns" }, outputs: { onDrop: "onDrop", selectRow: "selectRow", deselectRow: "deselectRow", dblClickRow: "dblClickRow", saveRow: "saveRow", deleteRow: "deleteRow", addRow: "addRow", rowVisible: "rowVisible", paginationPageChange: "paginationPageChange", customExcelExport: "customExcelExport" }, host: { listeners: { "document:mousemove": "handleMouseMove($event)", "document:mouseup": "handleMouseUp($event)" } }, queries: [{ propertyName: "content", predicate: SimpleGridColumnDirective }], ngImport: i0 });
11785
11808
  }
11786
11809
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BaseSimpleGridComponent, decorators: [{
11787
11810
  type: Directive
11788
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { content: [{
11811
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }], propDecorators: { content: [{
11789
11812
  type: ContentChildren,
11790
11813
  args: [SimpleGridColumnDirective]
11791
11814
  }], data: [{
@@ -12095,6 +12118,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
12095
12118
 
12096
12119
  class SimpleGridCellComponent {
12097
12120
  _changeDetector;
12121
+ _injector;
12122
+ _formComponent;
12098
12123
  get editMode() {
12099
12124
  return this._editMode;
12100
12125
  }
@@ -12122,6 +12147,7 @@ class SimpleGridCellComponent {
12122
12147
  }
12123
12148
  column;
12124
12149
  row;
12150
+ columnInjector;
12125
12151
  _editMode = false;
12126
12152
  set fieldEditMode(value) {
12127
12153
  this._fieldEditMode = value;
@@ -12144,8 +12170,18 @@ class SimpleGridCellComponent {
12144
12170
  _editTemplate;
12145
12171
  _template;
12146
12172
  _inputTemplate;
12147
- constructor(_changeDetector) {
12173
+ constructor(_changeDetector, _injector, _formComponent) {
12148
12174
  this._changeDetector = _changeDetector;
12175
+ this._injector = _injector;
12176
+ this._formComponent = _formComponent;
12177
+ }
12178
+ ngOnInit() {
12179
+ this.columnInjector = Injector.create({
12180
+ parent: this._injector,
12181
+ providers: [
12182
+ { provide: FormComponent, useValue: this._formComponent },
12183
+ ],
12184
+ });
12149
12185
  }
12150
12186
  _setFocusComponent() {
12151
12187
  if (this._editMode && this.fieldEditMode) {
@@ -12214,13 +12250,14 @@ class SimpleGridCellComponent {
12214
12250
  _detectChanges() {
12215
12251
  this._changeDetector.detectChanges();
12216
12252
  }
12217
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SimpleGridCellComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
12253
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SimpleGridCellComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: FormComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
12218
12254
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: SimpleGridCellComponent, isStandalone: false, selector: "co-simple-grid-cell", inputs: { editMode: "editMode", column: "column", row: "row", fieldEditMode: "fieldEditMode" }, outputs: { cellClick: "cellClick" }, host: { listeners: { "click": "handleClick($event)" }, properties: { "class.co-simple-grid-cell": "this.showClass" } }, viewQueries: [{ propertyName: "editTemplateContent", first: true, predicate: ["editTemplate"], descendants: true, read: BaseInputComponent }, { propertyName: "noEditTemplateContent", first: true, predicate: ["noEditTemplate"], descendants: true }, { propertyName: "noTemplateContent", first: true, predicate: ["noTemplate"], descendants: true }], ngImport: i0, template: `
12219
12255
  <div class="simple-grid-column-cell-value" [ngClass]="column.textAlign ? column.textAlign : defaultTextAlign">
12220
12256
  <ng-container *ngIf="editMode; else noInlineEdit">
12221
12257
  <div class="simple-grid-column-cell-field">
12222
12258
  <ng-container #editTemplate *ngIf="column.editTemplate; else noEditTemplate"
12223
12259
  [ngTemplateOutlet]="column.editTemplate"
12260
+ [ngTemplateOutletInjector]="columnInjector"
12224
12261
  [ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
12225
12262
  <ng-template #noEditTemplate>
12226
12263
  <ng-container *ngIf="column.template; else noTemplate">
@@ -12257,6 +12294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
12257
12294
  <div class="simple-grid-column-cell-field">
12258
12295
  <ng-container #editTemplate *ngIf="column.editTemplate; else noEditTemplate"
12259
12296
  [ngTemplateOutlet]="column.editTemplate"
12297
+ [ngTemplateOutletInjector]="columnInjector"
12260
12298
  [ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
12261
12299
  <ng-template #noEditTemplate>
12262
12300
  <ng-container *ngIf="column.template; else noTemplate">
@@ -12285,7 +12323,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
12285
12323
  encapsulation: ViewEncapsulation.None,
12286
12324
  standalone: false
12287
12325
  }]
12288
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { editMode: [{
12326
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: FormComponent, decorators: [{
12327
+ type: Optional
12328
+ }] }], propDecorators: { editMode: [{
12289
12329
  type: Input
12290
12330
  }], editTemplateContent: [{
12291
12331
  type: ViewChild,
@@ -12415,6 +12455,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
12415
12455
  class SimpleGridComponent extends BaseSimpleGridComponent {
12416
12456
  icons;
12417
12457
  changeDetection;
12458
+ differs;
12418
12459
  _formMaster;
12419
12460
  defaultTextAlign = ColumnAlign.Left;
12420
12461
  scrollDirections = ScrollDirection;
@@ -12433,6 +12474,7 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
12433
12474
  showGridSettings = false;
12434
12475
  rowsPerPage = 50;
12435
12476
  rowDisabledFn;
12477
+ rowConditionalClassFn;
12436
12478
  showColumnSort = false;
12437
12479
  showRowButtons = false;
12438
12480
  resetPageOnDataChange = true;
@@ -12481,10 +12523,11 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
12481
12523
  _newRowReference;
12482
12524
  IconCacheService = IconCacheService;
12483
12525
  CoreComponentsIcon = CoreComponentsIcon;
12484
- constructor(icons, changeDetection, _formMaster) {
12485
- super(changeDetection);
12526
+ constructor(icons, changeDetection, differs, _formMaster) {
12527
+ super(changeDetection, differs);
12486
12528
  this.icons = icons;
12487
12529
  this.changeDetection = changeDetection;
12530
+ this.differs = differs;
12488
12531
  this._formMaster = _formMaster;
12489
12532
  this.dataChanged.subscribe(() => {
12490
12533
  if (this.resetPageOnDataChange) {
@@ -12518,6 +12561,22 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
12518
12561
  return false;
12519
12562
  }
12520
12563
  }
12564
+ getRowConditionalClasses(idx) {
12565
+ return this.rowsWithAddedClasses.get(idx);
12566
+ }
12567
+ async doesRowHaveConditionalClasses(row, index) {
12568
+ if (this.rowConditionalClassFn && (typeof this.rowConditionalClassFn === 'function')) {
12569
+ const classes = await this.rowConditionalClassFn.call(this, row);
12570
+ if (classes && (classes.length > 0)) {
12571
+ this.rowsWithAddedClasses.set(index, classes);
12572
+ }
12573
+ else {
12574
+ if (this.rowsWithAddedClasses.has(index)) {
12575
+ this.rowsWithAddedClasses.delete(index);
12576
+ }
12577
+ }
12578
+ }
12579
+ }
12521
12580
  async addNewRow() {
12522
12581
  if (this.inlineEdit) {
12523
12582
  const valid = this.validateAndSave();
@@ -12828,13 +12887,14 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
12828
12887
  get isNewRow() {
12829
12888
  return this._newRow;
12830
12889
  }
12890
+ async prepareDataRow(row, index) {
12891
+ await this.isRowDisabled(row, index);
12892
+ await this.doesRowHaveConditionalClasses(row, index);
12893
+ }
12831
12894
  _filterSelectedOrReturnAll(items) {
12832
12895
  const hasSelectedTrue = items.some(item => item.selected === true);
12833
12896
  return hasSelectedTrue ? items.filter(item => item.selected === true) : items;
12834
12897
  }
12835
- async prepareDataRow(row, index) {
12836
- await this.isRowDisabled(row, index);
12837
- }
12838
12898
  _resetDblClick() {
12839
12899
  setTimeout(() => {
12840
12900
  this._doubleClicked = false;
@@ -12988,8 +13048,8 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
12988
13048
  behavior: "smooth"
12989
13049
  });
12990
13050
  }
12991
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SimpleGridComponent, deps: [{ token: IconCacheService }, { token: i0.ChangeDetectorRef }, { token: FormMasterService }], target: i0.ɵɵFactoryTarget.Component });
12992
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SimpleGridComponent, isStandalone: false, selector: "co-simple-grid", inputs: { showAdd: "showAdd", showDelete: "showDelete", deselectAllowed: "deselectAllowed", editOnCellClick: "editOnCellClick", rightToolbar: "rightToolbar", showGridSettings: "showGridSettings", rowsPerPage: "rowsPerPage", rowDisabledFn: "rowDisabledFn", showColumnSort: "showColumnSort", showRowButtons: "showRowButtons", resetPageOnDataChange: "resetPageOnDataChange", scrollOnRowAction: "scrollOnRowAction", scrollDirection: "scrollDirection", canRowBeEdittedFn: "canRowBeEdittedFn" }, host: { listeners: { "keydown": "handleKeyDown($event)" }, properties: { "class.co-simple-grid": "this.showClass" } }, providers: [FormMasterService], viewQueries: [{ propertyName: "headerCells", predicate: ["headerCell"], descendants: true }, { propertyName: "rowElements", predicate: ["rowElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
13051
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SimpleGridComponent, deps: [{ token: IconCacheService }, { token: i0.ChangeDetectorRef }, { token: i0.IterableDiffers }, { token: FormMasterService }], target: i0.ɵɵFactoryTarget.Component });
13052
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SimpleGridComponent, isStandalone: false, selector: "co-simple-grid", inputs: { showAdd: "showAdd", showDelete: "showDelete", deselectAllowed: "deselectAllowed", editOnCellClick: "editOnCellClick", rightToolbar: "rightToolbar", showGridSettings: "showGridSettings", rowsPerPage: "rowsPerPage", rowDisabledFn: "rowDisabledFn", rowConditionalClassFn: "rowConditionalClassFn", showColumnSort: "showColumnSort", showRowButtons: "showRowButtons", resetPageOnDataChange: "resetPageOnDataChange", scrollOnRowAction: "scrollOnRowAction", scrollDirection: "scrollDirection", canRowBeEdittedFn: "canRowBeEdittedFn" }, host: { listeners: { "keydown": "handleKeyDown($event)" }, properties: { "class.co-simple-grid": "this.showClass" } }, providers: [FormMasterService], viewQueries: [{ propertyName: "headerCells", predicate: ["headerCell"], descendants: true }, { propertyName: "rowElements", predicate: ["rowElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
12993
13053
  @if (showToolbar) {
12994
13054
  <co-grid-toolbar
12995
13055
  [class.right]="rightToolbar"
@@ -13115,6 +13175,7 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
13115
13175
  [class.selected]="rowIndex === selectedRowIndex && !editing" observeVisibility
13116
13176
  [class.disabled]="getIsRowDisabled(rowIndex)"
13117
13177
  [class.editing]="rowIndex === editRowIndex"
13178
+ [ngClass]="getRowConditionalClasses(rowIndex)"
13118
13179
  cdkDrag
13119
13180
  (click)="handleClickRow($event, rowIndex)" (dblclick)="handleDblClickRow($event, rowIndex, row)"
13120
13181
  (visibilityChange)="rowVisible.next(row)"
@@ -13321,6 +13382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
13321
13382
  [class.selected]="rowIndex === selectedRowIndex && !editing" observeVisibility
13322
13383
  [class.disabled]="getIsRowDisabled(rowIndex)"
13323
13384
  [class.editing]="rowIndex === editRowIndex"
13385
+ [ngClass]="getRowConditionalClasses(rowIndex)"
13324
13386
  cdkDrag
13325
13387
  (click)="handleClickRow($event, rowIndex)" (dblclick)="handleDblClickRow($event, rowIndex, row)"
13326
13388
  (visibilityChange)="rowVisible.next(row)"
@@ -13401,7 +13463,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
13401
13463
  encapsulation: ViewEncapsulation.None,
13402
13464
  standalone: false
13403
13465
  }]
13404
- }], ctorParameters: () => [{ type: IconCacheService }, { type: i0.ChangeDetectorRef }, { type: FormMasterService }], propDecorators: { headerCells: [{
13466
+ }], ctorParameters: () => [{ type: IconCacheService }, { type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }, { type: FormMasterService }], propDecorators: { headerCells: [{
13405
13467
  type: ViewChildren,
13406
13468
  args: ['headerCell']
13407
13469
  }], rowElements: [{
@@ -13423,6 +13485,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
13423
13485
  type: Input
13424
13486
  }], rowDisabledFn: [{
13425
13487
  type: Input
13488
+ }], rowConditionalClassFn: [{
13489
+ type: Input
13426
13490
  }], showColumnSort: [{
13427
13491
  type: Input
13428
13492
  }], showRowButtons: [{