@colijnit/corecomponents_v12 258.1.7 → 258.1.9

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.
@@ -5532,7 +5532,7 @@
5532
5532
  GridToolbarComponent.decorators = [
5533
5533
  { type: i0.Component, args: [{
5534
5534
  selector: "co-grid-toolbar",
5535
- template: "\n <div class=\"grid-toolbar-wrapper\">\n <co-icon *ngIf=\"showEdit\" [iconData]=\"iconsService.getIcon(icons.PenToSquareSolid)\" [title]=\"'edit'\" (click)=\"editClick.emit($event)\"></co-icon>\n <co-icon *ngIf=\"showEdit\" [iconData]=\"iconsService.getIcon(icons.RotateLeftSolid)\" [title]=\"'cancel'\" (click)=\"cancelClick.emit()\"></co-icon>\n <co-icon *ngIf=\"showEdit\" [iconData]=\"iconsService.getIcon(icons.FloppyDiskSolid)\" [title]=\"'save'\" (click)=\"saveClick.emit()\"></co-icon>\n <co-icon *ngIf=\"showAdd || showEdit\" [iconData]=\"iconsService.getIcon(icons.PlusSolid)\" [title]=\"'add'\" (click)=\"addClick.emit()\"></co-icon>\n <co-icon *ngIf=\"showDelete\" [iconData]=\"iconsService.getIcon(icons.TrashCanSolid)\" [title]=\"'delete'\" [class.disabled]=\"!deleteEnabled\" (click)=\"handleDeleteClick()\"></co-icon>\n </div>\n ",
5535
+ template: "\n <div class=\"grid-toolbar-wrapper\">\n <co-icon *ngIf=\"showEdit\" [iconData]=\"iconsService.getIcon(icons.PenToSquareSolid)\" [title]=\"'edit'\" (click)=\"editClick.emit($event)\"></co-icon>\n <co-icon *ngIf=\"showEdit\" [iconData]=\"iconsService.getIcon(icons.RotateLeftSolid)\" [title]=\"'cancel'\" (click)=\"cancelClick.emit()\"></co-icon>\n <co-icon *ngIf=\"showEdit\" [iconData]=\"iconsService.getIcon(icons.FloppyDiskSolid)\" [title]=\"'save'\" (click)=\"saveClick.emit()\"></co-icon>\n <co-icon *ngIf=\"showAdd || showEdit\" [iconData]=\"iconsService.getIcon(icons.PlusSolid)\" [title]=\"'add'\" (click)=\"addClick.emit()\"></co-icon>\n<!-- <co-icon *ngIf=\"showDelete\" [iconData]=\"iconsService.getIcon(icons.TrashCanSolid)\" [title]=\"'delete'\" [class.disabled]=\"!deleteEnabled\" (click)=\"handleDeleteClick()\"></co-icon>-->\n </div>\n ",
5536
5536
  encapsulation: i0.ViewEncapsulation.None
5537
5537
  },] }
5538
5538
  ];
@@ -7945,6 +7945,7 @@
7945
7945
  _this.ngZoneWrapper = ngZoneWrapper;
7946
7946
  _this.elementRef = elementRef;
7947
7947
  _this.modelChangeOnEnter = true;
7948
+ _this.showPermanentLabel = false;
7948
7949
  _this.minusIcon = exports.CoreComponentsIcon.MinusSimple;
7949
7950
  _this.plusIcon = exports.CoreComponentsIcon.PlusSimple;
7950
7951
  // Whether to show buttons 'always', 'onFocusOnly', or 'never'
@@ -8196,7 +8197,7 @@
8196
8197
  InputNumberPickerComponent.decorators = [
8197
8198
  { type: i0.Component, args: [{
8198
8199
  selector: 'co-input-number-picker',
8199
- template: "\n <div class=\"icon-wrapper\" *ngIf=\"leftIconData\">\n <co-icon class=\"input-number-picker-icon\" [iconData]=\"leftIconData\" (click)=\"iconClick.emit($event)\"></co-icon>\n <div class=\"spacer\"></div>\n </div>\n <div class=\"button-wrapper\">\n <co-button *ngIf=\"showButtons\" class=\"minus-operator\" [class.select]=\"minSelected\" tabindex=\"-1\"\n [disabled]=\"readonly\"\n [iconData]=\"iconCacheService.getIcon(minusIcon)\"\n (mousedown)=\"onMinusMouseDown($event)\"\n (mouseup)=\"stopAutoCounting()\" (mouseleave)=\"stopAutoCounting()\"></co-button>\n </div>\n <input type=\"text\"\n [tabIndex]=\"readonly ? -1 : 0\"\n [ngModel]=\"model\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [placeholder]=\"label\"\n (ngModelChange)=\"handleChangeModel($event)\"\n (keydown)=\"handleInputKeyDown($event)\"\n (blur)=\"handleBlur()\"/>\n <div class=\"button-wrapper\">\n <co-button *ngIf=\"showButtons\" class=\"plus-operator\" [class.select]=\"plusSelected\" tabindex=\"-1\"\n [disabled]=\"readonly\"\n [iconData]=\"iconCacheService.getIcon(plusIcon)\"\n (mousedown)=\"onPlusMouseDown($event)\"\n (mouseup)=\"stopAutoCounting()\" (mouseleave)=\"stopAutoCounting()\"></co-button>\n </div>\n ",
8200
+ template: "\n <div class=\"icon-wrapper\" *ngIf=\"leftIconData\">\n <co-icon class=\"input-number-picker-icon\" [iconData]=\"leftIconData\" (click)=\"iconClick.emit($event)\"></co-icon>\n <div class=\"spacer\"></div>\n </div>\n <div class=\"button-wrapper\">\n <co-button *ngIf=\"showButtons\" class=\"minus-operator\" [class.select]=\"minSelected\" tabindex=\"-1\"\n [disabled]=\"readonly\"\n [iconData]=\"iconCacheService.getIcon(minusIcon)\"\n (mousedown)=\"onMinusMouseDown($event)\"\n (mouseup)=\"stopAutoCounting()\" (mouseleave)=\"stopAutoCounting()\"></co-button>\n </div>\n <div class=\"input-wrapper\">\n <span class='permanent-label' [textContent]=\"label\" *ngIf=\"showPermanentLabel\"></span>\n <input type=\"text\"\n [tabIndex]=\"readonly ? -1 : 0\"\n [ngModel]=\"model\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [placeholder]=\"label\"\n (ngModelChange)=\"handleChangeModel($event)\"\n (keydown)=\"handleInputKeyDown($event)\"\n (blur)=\"handleBlur()\"/>\n </div>\n <div class=\"button-wrapper\">\n <co-button *ngIf=\"showButtons\" class=\"plus-operator\" [class.select]=\"plusSelected\" tabindex=\"-1\"\n [disabled]=\"readonly\"\n [iconData]=\"iconCacheService.getIcon(plusIcon)\"\n (mousedown)=\"onPlusMouseDown($event)\"\n (mouseup)=\"stopAutoCounting()\" (mouseleave)=\"stopAutoCounting()\"></co-button>\n </div>\n ",
8200
8201
  providers: [
8201
8202
  OverlayService, {
8202
8203
  provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, useExisting: i0.forwardRef(function () { return InputNumberPickerComponent; })
@@ -8223,6 +8224,7 @@
8223
8224
  InputNumberPickerComponent.propDecorators = {
8224
8225
  model: [{ type: i0.Input }],
8225
8226
  modelChangeOnEnter: [{ type: i0.Input }],
8227
+ showPermanentLabel: [{ type: i0.Input }],
8226
8228
  leftIconData: [{ type: i0.HostBinding, args: ['class.has-icon',] }, { type: i0.Input }],
8227
8229
  min: [{ type: i0.Input }],
8228
8230
  step: [{ type: i0.Input }],
@@ -10110,7 +10112,7 @@
10110
10112
  exportData = data.map(function (item) {
10111
10113
  var newItem = {};
10112
10114
  columns.forEach(function (col) {
10113
- newItem[col.header] = _this.getNestedValue(item, col.key);
10115
+ newItem[col.header] = _this.getFlatValue(item, col.key);
10114
10116
  });
10115
10117
  return newItem;
10116
10118
  });
@@ -10186,6 +10188,9 @@
10186
10188
  return current && current[key] !== undefined ? current[key] : '';
10187
10189
  }, obj);
10188
10190
  };
10191
+ ExcelExportService.prototype.getFlatValue = function (obj, key) {
10192
+ return obj && obj[key] !== undefined ? obj[key] : '';
10193
+ };
10189
10194
  /**
10190
10195
  * Format date for Excel export
10191
10196
  * @param date - Date to format
@@ -10237,7 +10242,7 @@
10237
10242
  _this.editOnCellClick = true;
10238
10243
  _this.rightToolbar = false;
10239
10244
  _this.showGridSettings = false;
10240
- _this.rowsPerPage = 1000;
10245
+ _this.rowsPerPage = 50;
10241
10246
  _this.showColumnSort = false;
10242
10247
  _this.editing = false;
10243
10248
  _this.isSettingsMenuOpen = false;
@@ -10246,9 +10251,12 @@
10246
10251
  _this.selectedRowIndex = -1;
10247
10252
  _this.currentPage = 1;
10248
10253
  _this.sortDirection = 'asc';
10254
+ _this.hoveredRowIndex = -1;
10249
10255
  _this.Icons = exports.CoreComponentsIcon;
10250
10256
  _this._doubleClicked = false;
10251
10257
  _this._newRow = false;
10258
+ _this.IconCacheService = IconCacheService;
10259
+ _this.CoreComponentsIcon = exports.CoreComponentsIcon;
10252
10260
  _this.dataChanged.subscribe(function () {
10253
10261
  _this.currentPage = 1;
10254
10262
  });
@@ -10323,30 +10331,38 @@
10323
10331
  };
10324
10332
  SimpleGridComponent.prototype.addNewRow = function () {
10325
10333
  return __awaiter(this, void 0, void 0, function () {
10326
- var valid, _a;
10334
+ var valid, absoluteIndex, _a;
10327
10335
  return __generator(this, function (_b) {
10328
10336
  switch (_b.label) {
10329
10337
  case 0:
10330
- if (!this.inlineEdit) return [3 /*break*/, 3];
10338
+ if (!this.inlineEdit) return [3 /*break*/, 4];
10331
10339
  valid = this.validateAndSave();
10332
- if (!valid) return [3 /*break*/, 2];
10340
+ if (!valid) return [3 /*break*/, 3];
10333
10341
  this.data.push({});
10334
10342
  this._detectChanges();
10335
10343
  this._newRow = true;
10336
10344
  this.editing = true;
10345
+ if (!(this.rowsPerPage && this.data.length > this.rowsPerPage)) return [3 /*break*/, 1];
10346
+ // navigate to the last page to the new row
10347
+ this.currentPage = Math.ceil(this.data.length / this.rowsPerPage);
10348
+ absoluteIndex = this.data.length - 1;
10349
+ this.selectedRowIndex = this.rowsPerPage ? (absoluteIndex - ((this.currentPage - 1) * this.rowsPerPage)) : absoluteIndex;
10350
+ this.editRow(null);
10351
+ return [3 /*break*/, 3];
10352
+ case 1:
10337
10353
  this.editRowIndex = this.data.length - 1;
10338
10354
  this.rowToEdit = this.data[this.editRowIndex];
10339
10355
  _a = this;
10340
10356
  return [4 /*yield*/, this._nextAvailableCellToEdit(true)];
10341
- case 1:
10357
+ case 2:
10342
10358
  _a.editCellIndex = _b.sent();
10343
10359
  this._detectChanges();
10344
- _b.label = 2;
10345
- case 2: return [3 /*break*/, 4];
10346
- case 3:
10360
+ _b.label = 3;
10361
+ case 3: return [3 /*break*/, 5];
10362
+ case 4:
10347
10363
  this.addRow.next();
10348
- _b.label = 4;
10349
- case 4: return [2 /*return*/];
10364
+ _b.label = 5;
10365
+ case 5: return [2 /*return*/];
10350
10366
  }
10351
10367
  });
10352
10368
  });
@@ -10431,18 +10447,31 @@
10431
10447
  });
10432
10448
  });
10433
10449
  };
10434
- SimpleGridComponent.prototype.editRow = function (event, selectCell) {
10435
- var _this = this;
10450
+ SimpleGridComponent.prototype.editRow = function (event, selectCell, rowIndex) {
10436
10451
  if (selectCell === void 0) { selectCell = true; }
10437
- this.editRowIndex = this.selectedRowIndex;
10438
- this.rowToEdit = this.data[this.editRowIndex];
10439
- this.editing = true;
10440
- if (selectCell) {
10441
- this._nextAvailableCellToEdit(true).then(function (index) {
10442
- _this.editCellIndex = index;
10452
+ return __awaiter(this, void 0, void 0, function () {
10453
+ var _a;
10454
+ return __generator(this, function (_b) {
10455
+ switch (_b.label) {
10456
+ case 0:
10457
+ if (rowIndex !== undefined) {
10458
+ this.selectTheRow(rowIndex, false);
10459
+ }
10460
+ this.editRowIndex = this.selectedRowIndex;
10461
+ this.rowToEdit = this.data[this.editRowIndex];
10462
+ this.editing = true;
10463
+ if (!selectCell) return [3 /*break*/, 2];
10464
+ _a = this;
10465
+ return [4 /*yield*/, this._nextAvailableCellToEdit(true)];
10466
+ case 1:
10467
+ _a.editCellIndex = _b.sent();
10468
+ _b.label = 2;
10469
+ case 2:
10470
+ this._detectChanges();
10471
+ return [2 /*return*/];
10472
+ }
10443
10473
  });
10444
- }
10445
- this._detectChanges();
10474
+ });
10446
10475
  };
10447
10476
  SimpleGridComponent.prototype.handleCellClick = function (event, row, rowIndex, cellIndex) {
10448
10477
  return __awaiter(this, void 0, void 0, function () {
@@ -10541,7 +10570,14 @@
10541
10570
  this.headerColumnsCopy = this.headerColumns;
10542
10571
  };
10543
10572
  SimpleGridComponent.prototype.exportToExcel = function () {
10544
- this.excelExportService.exportTableToExcel('simple-grid-table', 'ExcelSheet', 'Sheet1');
10573
+ this.isSettingsMenuOpen = false;
10574
+ var columns = this.headerColumnsCopy.map(function (column) {
10575
+ return ({
10576
+ key: column.field,
10577
+ header: column.headerText
10578
+ });
10579
+ });
10580
+ this.excelExportService.exportToExcel(this.data, columns, 'ExcelSheet', 'Sheet1');
10545
10581
  };
10546
10582
  SimpleGridComponent.prototype.prepareDataRow = function (row, index) {
10547
10583
  this.isRowDisabled(row, index);
@@ -10689,12 +10725,19 @@
10689
10725
  this.editing = false;
10690
10726
  this.rowToEdit = undefined;
10691
10727
  };
10728
+ Object.defineProperty(SimpleGridComponent.prototype, "isNewRow", {
10729
+ get: function () {
10730
+ return this._newRow;
10731
+ },
10732
+ enumerable: false,
10733
+ configurable: true
10734
+ });
10692
10735
  return SimpleGridComponent;
10693
10736
  }(BaseSimpleGridComponent));
10694
10737
  SimpleGridComponent.decorators = [
10695
10738
  { type: i0.Component, args: [{
10696
10739
  selector: 'co-simple-grid',
10697
- template: "\n <co-grid-toolbar\n *ngIf=\"showToolbar\" [class.right]=\"rightToolbar\"\n [showEdit]=\"showEdit\"\n [showAdd]=\"showAdd\"\n [showDelete]=\"showDelete\"\n [deleteEnabled]=\"selectedRowIndex > -1\"\n (addClick)=\"addNewRow()\"\n (editClick)=\"editRow($event)\"\n (saveClick)=\"validateAndSave()\"\n (cancelClick)=\"cancelEditRow()\"\n (deleteClick)=\"removeRow()\">\n </co-grid-toolbar>\n\n <table\n id=\"simple-grid-table\"\n class=\"simple-grid-table\"\n [clickOutside]=\"editing\"\n (clickOutside)=\"handleClickOutsideRow()\">\n <colgroup>\n <col\n *ngFor=\"let column of headerColumnsCopy; let index = index\"\n [class.simple-grid-column-auto-fit]=\"column.autoFit\"\n [style.width.px]=\"column.width\"\n [style.min-width.px]=\"MIN_COLUMN_WIDTH\">\n </colgroup>\n <thead>\n <tr>\n <th\n scope=\"col\"\n #headerCell\n class=\"simple-grid-column-header\"\n *ngFor=\"let column of headerColumnsCopy; let index = index\">\n <div\n class=\"simple-grid-column-header-wrapper\"\n [class.resizable]=\"resizable\"\n [class.selected]=\"column.isSelected\"\n [ngClass]=\"column.textAlign ? column.textAlign : defaultTextAlign\">\n <ng-container *ngIf=\"column.headerTemplate; else noHeaderTemplate\">\n <ng-container [ngTemplateOutlet]=\"column.headerTemplate\"></ng-container>\n </ng-container>\n <ng-template #noHeaderTemplate>\n <div\n class=\"simple-grid-column-header-label\"\n [ngClass]=\"column.textAlign ? column.textAlign : defaultTextAlign\"\n [class.with-menu]=\"showGridSettings\"\n [class.with-sort]=\"showColumnSort\"\n [textContent]=\"column.headerText || '&nbsp;'\"\n (click)=\"showColumnSort ? sortColumn(column, column.field) : toggleColumnMenu(column)\">\n </div>\n\n <div class=\"sort-column\" *ngIf=\"showColumnSort\">\n <co-button\n (click)=\"sortColumn(column, column?.field)\"\n [iconData]=\"icons.getIcon(Icons.ArrowUpArrowDown)\">\n </co-button>\n </div>\n\n <div class=\"column-menu\" *ngIf=\"column.isSelected\">\n <h3 [textContent]=\"'COLUMN_OPTIONS' | coreLocalize\"></h3>\n <ul>\n <li (click)=\"hideColumn(column)\">Hide Column</li>\n <li (click)=\"sortColumn(column, column.field)\">Sort Column</li>\n </ul>\n </div>\n </ng-template>\n <div\n *ngIf=\"resizable && column.resizable\"\n class=\"simple-grid-column-sizer\"\n (mousedown)=\"handleSizerMouseDown($event, column)\">\n </div>\n </div>\n </th>\n </tr>\n\n <div *ngIf=\"showGridSettings\" class=\"grid-settings\">\n <co-button\n [class.selected]=\"isSettingsMenuOpen\"\n [iconData]=\"icons.getIcon(Icons.CogWheels)\"\n (click)=\"toggleSettingsMenu()\">\n </co-button>\n\n <div class=\"settings-menu\" *ngIf=\"isSettingsMenuOpen\">\n <h3 [textContent]=\"'GRID_OPTIONS' | coreLocalize\"></h3>\n <ul>\n <li (click)=\"exportToExcel()\">Export to Excel</li>\n <li *ngIf=\"headerColumnsCopy.length !== headerColumns.length\" (click)=\"showAllColumns()\">\n Show All Columns\n </li>\n </ul>\n </div>\n </div>\n </thead>\n <tbody\n #dropList cdkDropList cdkDropListOrientation=\"vertical\"\n class=\"simple-grid-drag-drop-list\"\n [cdkDropListDisabled]=\"!dragDropEnabled || editing\"\n [cdkDropListData]=\"data\"\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\n (cdkDropListDropped)=\"handleDrop($event)\">\n <co-form class=\"simple-grid-row-form\">\n <tr\n class=\"simple-grid-row\"\n [class.selected]=\"rowIndex === selectedRowIndex && !editing\" observeVisibility\n [class.disabled]=\"getIsRowDisabled(rowIndex)\"\n [class.editing]=\"rowIndex === editRowIndex\"\n *ngFor=\"let row of (!!rowsPerPage ? (data | paginate: {itemsPerPage: rowsPerPage, currentPage: currentPage}) : data); last as last; let rowIndex = index\"\n cdkDrag\n (click)=\"handleClickRow($event, rowIndex, row)\" (dblclick)=\"handleDblClickRow($event, rowIndex, row)\"\n (visibilityChange)=\"rowVisible.next(row)\">\n <ng-container *ngIf=\"isSingleColumnRow(row)\">\n <td class=\"simple-grid-single-column-cell\" [attr.colspan]=\"headerColumnsCopy.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 headerColumnsCopy; 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 && editing && rowIndex === editRowIndex\"\n [fieldEditMode]=\"editCellIndex === columnIndex && rowIndex === editRowIndex\"\n (cellClick)=\"handleCellClick($event, row, rowIndex, 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 </tr>\n </co-form>\n </tbody>\n </table>\n\n <co-pagination-bar\n *ngIf=\"data?.length > rowsPerPage\" class=\"pagination-bar\"\n [itemsPerPage]=\"rowsPerPage\"\n [currentPage]=\"currentPage\"\n [totalItems]=\"data.length\"\n [autoHide]=\"true\"\n (previousClick)=\"goToPreviousPage()\"\n (nextClick)=\"goToNextPage()\"\n (pageClick)=\"setCurrentPage($event)\">\n </co-pagination-bar>\n ",
10740
+ template: "\n <co-grid-toolbar\n *ngIf=\"showToolbar\" [class.right]=\"rightToolbar\"\n [showEdit]=\"showEdit\"\n [showAdd]=\"showAdd\"\n [showDelete]=\"showDelete\"\n [deleteEnabled]=\"selectedRowIndex > -1\"\n (addClick)=\"addNewRow()\"\n (editClick)=\"editRow($event)\"\n (saveClick)=\"validateAndSave()\"\n (cancelClick)=\"cancelEditRow()\"\n (deleteClick)=\"removeRow()\">\n </co-grid-toolbar>\n\n <table\n id=\"simple-grid-table\"\n class=\"simple-grid-table\"\n [clickOutside]=\"editing\"\n (clickOutside)=\"handleClickOutsideRow()\">\n <colgroup>\n <col\n *ngFor=\"let column of headerColumnsCopy; let index = index\"\n [class.simple-grid-column-auto-fit]=\"column.autoFit\"\n [style.width.px]=\"column.width\"\n [style.min-width.px]=\"MIN_COLUMN_WIDTH\">\n </colgroup>\n <thead>\n <tr>\n <th\n scope=\"col\"\n #headerCell\n class=\"simple-grid-column-header\"\n *ngFor=\"let column of headerColumnsCopy; let index = index\">\n <div\n class=\"simple-grid-column-header-wrapper\"\n [class.resizable]=\"resizable\"\n [class.selected]=\"column.isSelected\"\n [ngClass]=\"column.textAlign ? column.textAlign : defaultTextAlign\">\n <ng-container *ngIf=\"column.headerTemplate; else noHeaderTemplate\">\n <ng-container [ngTemplateOutlet]=\"column.headerTemplate\"></ng-container>\n </ng-container>\n <ng-template #noHeaderTemplate>\n <div\n class=\"simple-grid-column-header-label\"\n [ngClass]=\"column.textAlign ? column.textAlign : defaultTextAlign\"\n [class.with-menu]=\"showGridSettings\"\n [class.with-sort]=\"showColumnSort\"\n [textContent]=\"column.headerText || '&nbsp;'\"\n (click)=\"showColumnSort ? sortColumn(column, column.field) : toggleColumnMenu(column)\">\n </div>\n\n <div class=\"sort-column\" *ngIf=\"showColumnSort\">\n <co-button\n (click)=\"sortColumn(column, column?.field)\"\n [iconData]=\"icons.getIcon(Icons.ArrowUpArrowDown)\">\n </co-button>\n </div>\n\n <div class=\"column-menu\" *ngIf=\"column.isSelected\">\n <h3 [textContent]=\"'COLUMN_OPTIONS' | coreLocalize\"></h3>\n <ul>\n <li (click)=\"hideColumn(column)\">Hide Column</li>\n <li (click)=\"sortColumn(column, column.field)\">Sort Column</li>\n </ul>\n </div>\n </ng-template>\n <div\n *ngIf=\"resizable && column.resizable\"\n class=\"simple-grid-column-sizer\"\n (mousedown)=\"handleSizerMouseDown($event, column)\">\n </div>\n </div>\n </th>\n </tr>\n\n <div *ngIf=\"showGridSettings\" class=\"grid-settings\">\n <co-button\n [class.selected]=\"isSettingsMenuOpen\"\n [iconData]=\"icons.getIcon(Icons.CogWheels)\"\n (click)=\"toggleSettingsMenu()\">\n </co-button>\n\n <div class=\"settings-menu\" *ngIf=\"isSettingsMenuOpen\">\n <h3 [textContent]=\"'GRID_OPTIONS' | coreLocalize\"></h3>\n <ul>\n <li (click)=\"exportToExcel()\">Export to Excel</li>\n <li *ngIf=\"headerColumnsCopy.length !== headerColumns.length\" (click)=\"showAllColumns()\">\n Show All Columns\n </li>\n </ul>\n </div>\n </div>\n </thead>\n <tbody\n #dropList cdkDropList cdkDropListOrientation=\"vertical\"\n class=\"simple-grid-drag-drop-list\"\n [cdkDropListDisabled]=\"!dragDropEnabled || editing\"\n [cdkDropListData]=\"data\"\n [cdkDropListEnterPredicate]=\"handleCanDragDrop\"\n (cdkDropListDropped)=\"handleDrop($event)\">\n <co-form class=\"simple-grid-row-form\">\n <tr\n class=\"simple-grid-row\"\n [class.selected]=\"rowIndex === selectedRowIndex && !editing\" observeVisibility\n [class.disabled]=\"getIsRowDisabled(rowIndex)\"\n [class.editing]=\"rowIndex === editRowIndex\"\n *ngFor=\"let row of (!!rowsPerPage ? (data | paginate: {itemsPerPage: rowsPerPage, currentPage: currentPage}) : data); last as last; let rowIndex = index\"\n cdkDrag\n (click)=\"handleClickRow($event, rowIndex, row)\" (dblclick)=\"handleDblClickRow($event, rowIndex, row)\"\n (visibilityChange)=\"rowVisible.next(row)\"\n (mouseenter)=\"hoveredRowIndex = rowIndex\"\n (mouseleave)=\"hoveredRowIndex = -1\"\n >\n <ng-container *ngIf=\"isSingleColumnRow(row)\">\n <td class=\"simple-grid-single-column-cell\" [attr.colspan]=\"headerColumnsCopy.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 headerColumnsCopy; 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 && editing && rowIndex === editRowIndex\"\n [fieldEditMode]=\"editCellIndex === columnIndex && rowIndex === editRowIndex\"\n (cellClick)=\"handleCellClick($event, row, rowIndex, 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 *ngIf=\"inlineEdit\">\n <div class=\"icons-container\" *ngIf=\"!editing\">\n <co-icon class=\"icon-item icon-edit\"\n [iconData]=\"icons.getIcon(Icons.PenToSquareSolid)\" *ngIf=\"hoveredRowIndex === rowIndex\"\n (click)=\"editRow($event, true, rowIndex); $event.stopPropagation()\"></co-icon>\n <co-icon class=\"icon-item icon-delete\"\n [iconData]=\"icons.getIcon(Icons.TrashBin)\" *ngIf=\"hoveredRowIndex === rowIndex\"\n (click)=\"removeRow()\"></co-icon>\n </div>\n <div class=\"icons-container\">\n <co-button class=\"save-button\"\n *ngIf=\"editing && (selectedRowIndex === rowIndex || (isNewRow && rowIndex === editRowIndex))\"\n [iconData]=\"icons.getIcon(Icons.CheckDuotone)\"\n (click)=\"validateAndSave(); $event.stopPropagation()\"></co-button>\n <co-button class=\"close-button\"\n *ngIf=\"editing && (selectedRowIndex === rowIndex || (isNewRow && rowIndex === editRowIndex))\"\n [iconData]=\"icons.getIcon(Icons.CrossSkinny)\"\n (click)=\"cancelEditRow(); $event.stopPropagation() \"></co-button>\n </div>\n </ng-container>\n </ng-container>\n </tr>\n </co-form>\n </tbody>\n </table>\n <co-pagination-bar\n *ngIf=\"data?.length > rowsPerPage\" class=\"pagination-bar\"\n [itemsPerPage]=\"rowsPerPage\"\n [currentPage]=\"currentPage\"\n [totalItems]=\"data.length\"\n [autoHide]=\"true\"\n (previousClick)=\"goToPreviousPage()\"\n (nextClick)=\"goToNextPage()\"\n (pageClick)=\"setCurrentPage($event)\">\n </co-pagination-bar>\n ",
10698
10741
  providers: [FormMasterService],
10699
10742
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
10700
10743
  encapsulation: i0.ViewEncapsulation.None
@@ -11452,7 +11495,8 @@
11452
11495
  PaginationBarModule,
11453
11496
  ClickoutsideModule,
11454
11497
  ButtonModule,
11455
- CoreComponentsTranslationModule
11498
+ CoreComponentsTranslationModule,
11499
+ IconModule
11456
11500
  ],
11457
11501
  declarations: [
11458
11502
  SimpleGridComponent,