@colijnit/corecomponents_v12 12.0.27 → 12.0.30

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 (28) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +153 -32
  2. package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
  3. package/colijnit-corecomponents_v12.metadata.json +1 -1
  4. package/esm2015/lib/components/base/base-input.component.js +2 -2
  5. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +15 -3
  6. package/esm2015/lib/components/input-search/input-search.component.js +27 -20
  7. package/esm2015/lib/components/input-search/input-search.module.js +6 -2
  8. package/esm2015/lib/components/input-text/input-text.component.js +33 -5
  9. package/esm2015/lib/components/simple-grid/base-simple-grid.component.js +61 -8
  10. package/esm2015/lib/components/simple-grid/simple-grid-column.directive.js +7 -3
  11. package/esm2015/lib/components/simple-grid/simple-grid.component.js +59 -36
  12. package/fesm2015/colijnit-corecomponents_v12.js +194 -65
  13. package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
  14. package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +7 -2
  15. package/lib/components/input-search/input-search.component.d.ts +7 -8
  16. package/lib/components/input-search/style/_layout.scss +0 -35
  17. package/lib/components/input-search/style/_material-definition.scss +0 -6
  18. package/lib/components/input-search/style/_theme.scss +0 -2
  19. package/lib/components/input-text/input-text.component.d.ts +8 -1
  20. package/lib/components/input-text/style/_layout.scss +22 -0
  21. package/lib/components/simple-grid/base-simple-grid.component.d.ts +12 -1
  22. package/lib/components/simple-grid/simple-grid-column.directive.d.ts +4 -1
  23. package/lib/components/simple-grid/simple-grid.component.d.ts +2 -1
  24. package/lib/components/simple-grid/style/_layout.scss +26 -9
  25. package/lib/components/simple-grid/style/_material-definition.scss +1 -1
  26. package/lib/style/_variables.scss +2 -2
  27. package/package.json +1 -1
  28. package/colijnit-corecomponents_v12-12.0.27.tgz +0 -0
@@ -4408,7 +4408,7 @@
4408
4408
  return node;
4409
4409
  }
4410
4410
  else if (node.children.length > 0) {
4411
- return this._findInputNode(node.children);
4411
+ this._findInputNode(node.children);
4412
4412
  }
4413
4413
  }
4414
4414
  };
@@ -5860,23 +5860,33 @@
5860
5860
  var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
5861
5861
  _this.dateFormat = "dd-MM-yyyy";
5862
5862
  _this.placeholder = "";
5863
+ _this.startDateChange = new core.EventEmitter();
5864
+ _this.endDateChange = new core.EventEmitter();
5863
5865
  return _this;
5864
5866
  }
5865
5867
  InputDateRangePickerComponent.prototype.showClass = function () {
5866
5868
  return true;
5867
5869
  };
5870
+ InputDateRangePickerComponent.prototype.dateRangeChange = function () {
5871
+ this.startDateChange.emit(this.startDate);
5872
+ this.endDateChange.emit(this.endDate);
5873
+ };
5868
5874
  return InputDateRangePickerComponent;
5869
5875
  }(BaseInputComponent));
5870
5876
  InputDateRangePickerComponent.decorators = [
5871
5877
  { type: core.Component, args: [{
5872
5878
  selector: "co-input-date-range",
5873
- template: "\n <ejs-daterangepicker\n [format]=\"dateFormat\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"model\"\n (ngModelChange)=\"modelChange.emit($event)\"\n ></ejs-daterangepicker>\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
5879
+ template: "\n <ejs-daterangepicker\n [format]=\"dateFormat\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"model\"\n (ngModelChange)=\"dateRangeChange()\"\n [(startDate)]=\"startDate\"\n [(endDate)]=\"endDate\"\n ></ejs-daterangepicker>\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
5874
5880
  encapsulation: core.ViewEncapsulation.None
5875
5881
  },] }
5876
5882
  ];
5877
5883
  InputDateRangePickerComponent.propDecorators = {
5878
5884
  dateFormat: [{ type: core.Input }],
5879
5885
  placeholder: [{ type: core.Input }],
5886
+ startDate: [{ type: core.Input }],
5887
+ endDate: [{ type: core.Input }],
5888
+ startDateChange: [{ type: core.Output }],
5889
+ endDateChange: [{ type: core.Output }],
5880
5890
  showClass: [{ type: core.HostBinding, args: ["class.co-input-date-range-picker",] }]
5881
5891
  };
5882
5892
 
@@ -6640,23 +6650,51 @@
6640
6650
  _this.formUserChangeListener = formUserChangeListener;
6641
6651
  _this.ngZoneWrapper = ngZoneWrapper;
6642
6652
  _this.elementRef = elementRef;
6643
- _this.Icons = exports.CoreComponentsIcon;
6644
6653
  _this.placeholder = "";
6645
6654
  _this.type = "text";
6646
6655
  _this.showClearButton = undefined;
6656
+ _this.showPlaceholderOnFocus = true;
6647
6657
  _this.hasOwnLabel = true;
6658
+ _this.hideArrowButtons = false;
6648
6659
  _super.prototype._markAsOnPush.call(_this);
6649
6660
  return _this;
6650
6661
  }
6662
+ Object.defineProperty(InputTextComponent.prototype, "model", {
6663
+ get: function () {
6664
+ return _super.prototype.model;
6665
+ },
6666
+ set: function (value) {
6667
+ if (this.type === 'number' && !isNaN(value)) {
6668
+ if (this.min && value < this.min || this.max && value > this.max) {
6669
+ _super.prototype.model = this._initialModel;
6670
+ }
6671
+ else {
6672
+ _super.prototype.model = value;
6673
+ }
6674
+ }
6675
+ else {
6676
+ _super.prototype.model = value;
6677
+ }
6678
+ },
6679
+ enumerable: false,
6680
+ configurable: true
6681
+ });
6651
6682
  InputTextComponent.prototype.showClass = function () {
6652
6683
  return true;
6653
6684
  };
6685
+ Object.defineProperty(InputTextComponent.prototype, "hasLeftIcon", {
6686
+ get: function () {
6687
+ return this.leftIcon !== undefined && this.leftIcon !== null;
6688
+ },
6689
+ enumerable: false,
6690
+ configurable: true
6691
+ });
6654
6692
  return InputTextComponent;
6655
6693
  }(BaseInputComponent));
6656
6694
  InputTextComponent.decorators = [
6657
6695
  { type: core.Component, args: [{
6658
6696
  selector: "co-input-text",
6659
- template: "\n <label [textContent]=\"placeholder\"></label>\n <input #input\n [type]=\"type\"\n [ngModel]=\"model\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (ngModelChange)=\"modelChange.emit($event)\"\n >\n <co-commit-buttons *ngIf=\"showSaveCancel && focused && canSaveOrCancel\"\n [committing]=\"committing\"\n [commitFinished]=\"commitFinished\"\n (commitClick)=\"commitClick($event)\"\n (cancelClick)=\"cancelClick($event)\"\n >\n </co-commit-buttons>\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
6697
+ template: "\n <label *ngIf=\"showPlaceholderOnFocus || (!showPlaceholderOnFocus && !hasValue && !focused)\" [textContent]=\"placeholder\"></label>\n <co-icon *ngIf=\"leftIcon\" class=\"input-text-left-icon\" [icon]=\"leftIcon\"></co-icon>\n <input #input\n [type]=\"type\"\n [ngModel]=\"model\"\n [min]=\"type === 'number' && this.min ? this.min : undefined\"\n [max]=\"type === 'number' && this.max ? this.max : undefined\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (ngModelChange)=\"modelChange.emit($event)\"\n >\n <co-commit-buttons *ngIf=\"showSaveCancel && focused && canSaveOrCancel\"\n [committing]=\"committing\"\n [commitFinished]=\"commitFinished\"\n (commitClick)=\"commitClick($event)\"\n (cancelClick)=\"cancelClick($event)\"\n >\n </co-commit-buttons>\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
6660
6698
  providers: [{
6661
6699
  provide: COMPONENT_INTERFACE_NAME,
6662
6700
  useExisting: core.forwardRef(function () { return InputTextComponent; })
@@ -6678,10 +6716,16 @@
6678
6716
  InputTextComponent.propDecorators = {
6679
6717
  placeholder: [{ type: core.Input }],
6680
6718
  type: [{ type: core.Input }],
6719
+ min: [{ type: core.Input }],
6720
+ max: [{ type: core.Input }],
6681
6721
  showClearButton: [{ type: core.Input }],
6682
6722
  keyDownWhiteList: [{ type: core.Input }],
6723
+ showPlaceholderOnFocus: [{ type: core.Input }],
6724
+ leftIcon: [{ type: core.Input }],
6683
6725
  showClass: [{ type: core.HostBinding, args: ["class.co-input-text",] }],
6684
- hasOwnLabel: [{ type: core.HostBinding, args: ["class.has-own-label",] }]
6726
+ hasLeftIcon: [{ type: core.HostBinding, args: ['class.has-left-icon',] }],
6727
+ hasOwnLabel: [{ type: core.HostBinding, args: ["class.has-own-label",] }],
6728
+ hideArrowButtons: [{ type: core.Input }, { type: core.HostBinding, args: ['class.hideArrows',] }]
6685
6729
  };
6686
6730
 
6687
6731
  var ValidationErrorModule = /** @class */ (function () {
@@ -6929,36 +6973,39 @@
6929
6973
  },] }
6930
6974
  ];
6931
6975
 
6932
- var InputSearchComponent = /** @class */ (function () {
6933
- function InputSearchComponent(_elementRef) {
6934
- this._elementRef = _elementRef;
6935
- this.searchIcon = exports.CoreComponentsIcon.Magnifier;
6976
+ var InputSearchComponent = /** @class */ (function (_super) {
6977
+ __extends(InputSearchComponent, _super);
6978
+ function InputSearchComponent() {
6979
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
6980
+ _this.searchIcon = exports.CoreComponentsIcon.Magnifier;
6981
+ _this.search = new core.EventEmitter();
6982
+ return _this;
6936
6983
  }
6937
6984
  InputSearchComponent.prototype.showClass = function () {
6938
6985
  return true;
6939
6986
  };
6940
- InputSearchComponent.prototype.ngOnDestroy = function () {
6941
- this._elementRef = undefined;
6942
- };
6943
- InputSearchComponent.prototype.focus = function () {
6944
- this._elementRef.nativeElement.focus();
6987
+ InputSearchComponent.prototype.handleKeyDown = function (event) {
6988
+ switch (event.code) {
6989
+ case 'Enter':
6990
+ event.preventDefault();
6991
+ this.search.next(this.model);
6992
+ return;
6993
+ }
6945
6994
  };
6946
6995
  return InputSearchComponent;
6947
- }());
6996
+ }(BaseInputComponent));
6948
6997
  InputSearchComponent.decorators = [
6949
6998
  { type: core.Component, args: [{
6950
- selector: "co-input-search",
6951
- template: "\n <co-icon class=\"search-icon\" [icon]=\"searchIcon\"></co-icon>\n <input class=\"input\" [placeholder]=\"placeHolderText\">\n ",
6999
+ selector: 'co-input-search',
7000
+ template: "\n <co-input-text\n [model]=\"model\"\n [leftIcon]=\"searchIcon\"\n [placeholder]=\"placeholder\"\n [showPlaceholderOnFocus]=\"false\"\n (modelChange)=\"modelChange.emit($event)\"\n ></co-input-text>\n ",
6952
7001
  changeDetection: core.ChangeDetectionStrategy.OnPush,
6953
7002
  encapsulation: core.ViewEncapsulation.None
6954
7003
  },] }
6955
7004
  ];
6956
- InputSearchComponent.ctorParameters = function () { return [
6957
- { type: core.ElementRef }
6958
- ]; };
6959
7005
  InputSearchComponent.propDecorators = {
6960
- placeHolderText: [{ type: core.Input }],
6961
- showClass: [{ type: core.HostBinding, args: ["class.co-input-search",] }]
7006
+ placeholder: [{ type: core.Input }],
7007
+ search: [{ type: core.Output }],
7008
+ showClass: [{ type: core.HostBinding, args: ['class.co-input-search',] }]
6962
7009
  };
6963
7010
 
6964
7011
  var InputSearchModule = /** @class */ (function () {
@@ -6970,7 +7017,9 @@
6970
7017
  { type: core.NgModule, args: [{
6971
7018
  imports: [
6972
7019
  common.CommonModule,
6973
- IconModule
7020
+ IconModule,
7021
+ forms.FormsModule,
7022
+ InputTextModule
6974
7023
  ],
6975
7024
  declarations: [InputSearchComponent],
6976
7025
  exports: [InputSearchComponent]
@@ -8573,7 +8622,8 @@
8573
8622
  ColumnAlign["Right"] = "right-align";
8574
8623
  })(exports.ColumnAlign || (exports.ColumnAlign = {}));
8575
8624
  var SimpleGridColumnDirective = /** @class */ (function () {
8576
- function SimpleGridColumnDirective() {
8625
+ function SimpleGridColumnDirective(elementRef) {
8626
+ this.elementRef = elementRef;
8577
8627
  this.resizable = true;
8578
8628
  this.required = false;
8579
8629
  this.readonly = false;
@@ -8632,6 +8682,9 @@
8632
8682
  selector: "co-simple-grid-column"
8633
8683
  },] }
8634
8684
  ];
8685
+ SimpleGridColumnDirective.ctorParameters = function () { return [
8686
+ { type: core.ElementRef }
8687
+ ]; };
8635
8688
  SimpleGridColumnDirective.propDecorators = {
8636
8689
  template: [{ type: core.ContentChild, args: ['template',] }],
8637
8690
  editTemplate: [{ type: core.ContentChild, args: ['editTemplate',] }],
@@ -8652,8 +8705,9 @@
8652
8705
 
8653
8706
  var BaseSimpleGridComponent = /** @class */ (function () {
8654
8707
  function BaseSimpleGridComponent() {
8655
- this.data = [];
8708
+ this.MIN_COLUMN_WIDTH = 60;
8656
8709
  this.dragDropEnabled = false;
8710
+ this.resizable = false;
8657
8711
  this.inlineEdit = false;
8658
8712
  this.showToolbar = false;
8659
8713
  /**
@@ -8666,10 +8720,25 @@
8666
8720
  this.dblClickRow = new core.EventEmitter();
8667
8721
  this.saveRow = new core.EventEmitter();
8668
8722
  this.columns = [];
8723
+ this.headerColumns = [];
8724
+ this._data = [];
8725
+ this._prepared = false;
8669
8726
  }
8670
8727
  Object.defineProperty(BaseSimpleGridComponent.prototype, "content", {
8671
8728
  set: function (columnComponents) {
8672
8729
  this._setColumns(columnComponents.toArray());
8730
+ this._prepareData();
8731
+ },
8732
+ enumerable: false,
8733
+ configurable: true
8734
+ });
8735
+ Object.defineProperty(BaseSimpleGridComponent.prototype, "data", {
8736
+ get: function () {
8737
+ return this._data;
8738
+ },
8739
+ set: function (value) {
8740
+ this._data = value;
8741
+ this._prepareData();
8673
8742
  },
8674
8743
  enumerable: false,
8675
8744
  configurable: true
@@ -8682,19 +8751,19 @@
8682
8751
  configurable: true
8683
8752
  });
8684
8753
  BaseSimpleGridComponent.prototype.handleMouseMove = function (event) {
8685
- if (event.buttons === 1 && this._columnForResize) {
8686
- if (!this._columnForResize.width) {
8687
- var rect = event.target.parentElement.getBoundingClientRect();
8688
- this._columnForResize.width = rect.width;
8689
- }
8690
- this._columnForResize.width += event.movementX;
8754
+ if (this.resizable && event.buttons === 1 && this._columnForResize) {
8755
+ this._columnForResize.width = this._columnForResize.originalWidth - (this._startMousePositionX - event.clientX);
8691
8756
  }
8692
8757
  };
8693
8758
  BaseSimpleGridComponent.prototype.handleMouseUp = function (event) {
8759
+ this._startMousePositionX = undefined;
8694
8760
  this._columnForResize = undefined;
8695
8761
  };
8696
8762
  BaseSimpleGridComponent.prototype.handleSizerMouseDown = function (event, column) {
8763
+ this._setWidthOfAllColumns();
8764
+ this._startMousePositionX = event.clientX;
8697
8765
  this._columnForResize = column;
8766
+ this._columnForResize.originalWidth = this._columnForResize.width;
8698
8767
  };
8699
8768
  BaseSimpleGridComponent.prototype.handleCanDragDrop = function (drag, drop) {
8700
8769
  return true;
@@ -8717,11 +8786,51 @@
8717
8786
  console.error(e);
8718
8787
  }
8719
8788
  };
8789
+ BaseSimpleGridComponent.prototype.isSingleColumnRow = function (row) {
8790
+ return row.hasOwnProperty('singleColumnIndex');
8791
+ };
8792
+ BaseSimpleGridComponent.prototype.singleColumnIndex = function (row) {
8793
+ return row.singleColumnIndex;
8794
+ };
8720
8795
  BaseSimpleGridComponent.prototype._setColumns = function (columns) {
8721
8796
  var _a;
8722
8797
  (_a = this.columns).push.apply(_a, __spreadArray([], __read(columns)));
8723
8798
  this.columns.sort(function (a, b) { return a.order < b.order ? -1 : 1; });
8724
8799
  };
8800
+ BaseSimpleGridComponent.prototype._prepareData = function () {
8801
+ if (this._prepared) {
8802
+ return;
8803
+ }
8804
+ if (this.columns && this.columns.length > 0 && this.data && this.data.length > 0) {
8805
+ this.headerColumns = this.columns.filter(function (c) { return !c.singleColumn; });
8806
+ var singleColumnIndex = -1;
8807
+ for (var i = 0; i < this.columns.length; i++) {
8808
+ if (this.columns[i].singleColumn) {
8809
+ singleColumnIndex = i;
8810
+ break;
8811
+ }
8812
+ }
8813
+ // first check if there's single column data
8814
+ if (singleColumnIndex > -1) {
8815
+ var field = this.columns[singleColumnIndex].field;
8816
+ for (var i = 0; i < this.data.length; i++) { // then mark row as single column row
8817
+ if (this.data[i][field] !== undefined && this.data[i][field] !== null && this.data[i][field] !== "") {
8818
+ // bit nasty to add prop, but cool for now
8819
+ this.data[i].singleColumnIndex = singleColumnIndex;
8820
+ }
8821
+ }
8822
+ }
8823
+ this._prepared = true;
8824
+ }
8825
+ };
8826
+ BaseSimpleGridComponent.prototype._setWidthOfAllColumns = function () {
8827
+ this.columns.forEach(function (column) {
8828
+ if ((column.width === undefined || column.width === null) && column.elementRef && column.elementRef.nativeElement) {
8829
+ var rect = column.elementRef.nativeElement.getBoundingClientRect();
8830
+ column.width = rect.width;
8831
+ }
8832
+ });
8833
+ };
8725
8834
  return BaseSimpleGridComponent;
8726
8835
  }());
8727
8836
  BaseSimpleGridComponent.decorators = [
@@ -8731,6 +8840,7 @@
8731
8840
  content: [{ type: core.ContentChildren, args: [SimpleGridColumnDirective,] }],
8732
8841
  data: [{ type: core.Input }],
8733
8842
  dragDropEnabled: [{ type: core.Input }],
8843
+ resizable: [{ type: core.Input }],
8734
8844
  inlineEdit: [{ type: core.Input }],
8735
8845
  showToolbar: [{ type: core.Input }],
8736
8846
  emitDragDrop: [{ type: core.Input }],
@@ -8758,6 +8868,16 @@
8758
8868
  _this._newRow = false;
8759
8869
  return _this;
8760
8870
  }
8871
+ Object.defineProperty(SimpleGridComponent.prototype, "headerCells", {
8872
+ set: function (cells) {
8873
+ var headerElements = cells.toArray();
8874
+ for (var i = 0; i < headerElements.length; i++) {
8875
+ this.columns[i].elementRef = headerElements[i];
8876
+ }
8877
+ },
8878
+ enumerable: false,
8879
+ configurable: true
8880
+ });
8761
8881
  SimpleGridComponent.prototype.showClass = function () {
8762
8882
  return true;
8763
8883
  };
@@ -9002,7 +9122,7 @@
9002
9122
  SimpleGridComponent.decorators = [
9003
9123
  { type: core.Component, args: [{
9004
9124
  selector: "co-simple-grid",
9005
- template: "\n <co-grid-toolbar *ngIf=\"inlineEdit && showToolbar\"\n (addClick)=\"addRow()\"\n (editClick)=\"editRow($event)\"\n (saveClick)=\"validateAndSave()\"\n (cancelClick)=\"cancelEditRow()\"\n ></co-grid-toolbar>\n <div class=\"simple-grid-column-header-wrapper\">\n <div class=\"simple-grid-column-header\" *ngFor=\"let column of columns; let index = index\"\n [style.min-width.px]=\"column.width\" [style.max-width.px]=\"column.width\" [style.padding-right.px]=\"isSingleColumn(column) ? 0 : 5\">\n <div class=\"simple-grid-column-header-label\" [ngClass]=\"column.textAlign ? column.textAlign : defaultTextAlign\"\n [textContent]=\"column.headerText\"\n ></div>\n <div *ngIf=\"column.resizable\" class=\"simple-grid-column-sizer\"\n (mousedown)=\"handleSizerMouseDown($event, column)\"\n ></div>\n </div>\n </div>\n <div cdkDropListGroup class=\"drop-list-group\">\n <div #dropList cdkDropList cdkDropListOrientation=\"vertical\"\n class=\"simple-grid-drag-drop-list\"\n [cdkDropListDisabled]=\"!dragDropEnabled\"\n [cdkDropListData]=\"data\"\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\n (cdkDropListDropped)=\"handleDrop($event)\"\n >\n <div class=\"simple-grid-row\" [class.selected]=\"rowIndex === selectedRowIndex\"\n [class.editting]=\"rowIndex === editRowIndex\" *ngFor=\"let row of data; let rowIndex = index\" cdkDrag\n (click)=\"handleClickRow($event, rowIndex)\" (dblclick)=\"handleDblClickRow($event, rowIndex)\">\n <co-form class=\"simple-grid-row-form\">\n <div class=\"simple-grid-column-cell\" *ngFor=\"let column of columns; let columnIndex = index\"\n [style.min-width]=\"isSingleColumn(column) ? 'fit-content' : column.width\" [style.max-width.px]=\"column.width\"\n [style.padding-right.px]=\"isSingleColumn(column) ? 0 : 5\" >\n <co-simple-grid-cell\n [column]=\"column\"\n [row]=\"row\"\n [editMode]=\"inlineEdit && editting && rowIndex === editRowIndex && !isSingleColumn(column) && !rowContainsSingleColumn(row, columns)\"\n [fieldEditMode]=\"editCellIndex === columnIndex\"\n (cellClick)=\"handleCellClick(columnIndex)\"\n ></co-simple-grid-cell>\n <div *ngIf=\"column.resizable\" class=\"simple-grid-column-sizer-placeholder\"></div>\n </div>\n </co-form>\n </div>\n </div>\n </div>\n ",
9125
+ template: "\n <co-grid-toolbar *ngIf=\"inlineEdit && showToolbar\"\n (addClick)=\"addRow()\"\n (editClick)=\"editRow($event)\"\n (saveClick)=\"validateAndSave()\"\n (cancelClick)=\"cancelEditRow()\"\n ></co-grid-toolbar>\n <table class=\"simple-grid-table\">\n <colgroup>\n <col *ngFor=\"let column of headerColumns; let index = index\" [attr.width]=\"column.width\">\n </colgroup>\n <thead>\n <tr>\n <th scope=\"col\" #headerCell class=\"simple-grid-column-header\" *ngFor=\"let column of headerColumns; let index = index\">\n <div class=\"simple-grid-column-header-wrapper\" [class.resizable]=\"resizable\">\n <div class=\"simple-grid-column-header-label\" [ngClass]=\"column.textAlign ? column.textAlign : defaultTextAlign\"\n [textContent]=\"column.headerText\"\n ></div>\n <div *ngIf=\"resizable && column.resizable\" class=\"simple-grid-column-sizer\"\n (mousedown)=\"handleSizerMouseDown($event, column)\"\n ></div>\n </div>\n </th>\n </tr>\n </thead>\n <tbody #dropList cdkDropList cdkDropListOrientation=\"vertical\"\n class=\"simple-grid-drag-drop-list\"\n [cdkDropListDisabled]=\"!dragDropEnabled\"\n [cdkDropListData]=\"data\"\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\n (cdkDropListDropped)=\"handleDrop($event)\">\n <tr class=\"simple-grid-row\" [class.selected]=\"rowIndex === selectedRowIndex\"\n [class.editting]=\"rowIndex === editRowIndex\" *ngFor=\"let row of data; let rowIndex = index\" cdkDrag\n (click)=\"handleClickRow($event, rowIndex)\" (dblclick)=\"handleDblClickRow($event, rowIndex)\">\n <co-form class=\"simple-grid-row-form\">\n <ng-container *ngIf=\"isSingleColumnRow(row)\">\n <td class=\"simple-grid-single-column-cell\" [attr.colspan]=\"headerColumns.length\">\n <co-simple-grid-cell\n [column]=\"columns[singleColumnIndex(row)]\"\n [row]=\"row\"\n [editMode]=\"false\"\n ></co-simple-grid-cell>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!isSingleColumnRow(row)\">\n <ng-container *ngFor=\"let column of headerColumns; let columnIndex = index\">\n <td class=\"simple-grid-column-cell\" *ngIf=\"columnIndex !== singleColumnIndex(row)\">\n <co-simple-grid-cell\n [column]=\"column\"\n [row]=\"row\"\n [editMode]=\"inlineEdit && editting && rowIndex === editRowIndex\"\n [fieldEditMode]=\"editCellIndex === columnIndex\"\n (cellClick)=\"handleCellClick(columnIndex)\"\n ></co-simple-grid-cell>\n <div *ngIf=\"column.resizable\" class=\"simple-grid-column-sizer-placeholder\"></div>\n </td>\n </ng-container>\n </ng-container>\n </co-form>\n </tr>\n </tbody>\n </table>\n ",
9006
9126
  providers: [
9007
9127
  FormMasterService
9008
9128
  ],
@@ -9015,6 +9135,7 @@
9015
9135
  { type: FormMasterService }
9016
9136
  ]; };
9017
9137
  SimpleGridComponent.propDecorators = {
9138
+ headerCells: [{ type: core.ViewChildren, args: ["headerCell",] }],
9018
9139
  showClass: [{ type: core.HostBinding, args: ["class.co-simple-grid",] }],
9019
9140
  handleKeyDown: [{ type: core.HostListener, args: ['keydown', ['$event'],] }]
9020
9141
  };