@colijnit/corecomponents_v12 256.1.24 → 256.1.26

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.
@@ -10073,13 +10073,147 @@
10073
10073
  handleMouseUp: [{ type: i0.HostListener, args: ['document:mouseup', ['$event'],] }]
10074
10074
  };
10075
10075
 
10076
+ var ExcelExportService = /** @class */ (function () {
10077
+ function ExcelExportService() {
10078
+ }
10079
+ /**
10080
+ * Export data to Excel file
10081
+ * @param data - Array of objects to export
10082
+ * @param columns - Column configuration (optional)
10083
+ * @param fileName - Name of the exported file
10084
+ * @param sheetName - Name of the Excel sheet
10085
+ */
10086
+ ExcelExportService.prototype.exportToExcel = function (data, columns, fileName, sheetName) {
10087
+ var _this = this;
10088
+ if (fileName === void 0) { fileName = 'export'; }
10089
+ if (sheetName === void 0) { sheetName = 'Sheet1'; }
10090
+ // If columns are specified, transform data to match column structure
10091
+ var exportData = data;
10092
+ if (columns && columns.length > 0) {
10093
+ exportData = data.map(function (item) {
10094
+ var newItem = {};
10095
+ columns.forEach(function (col) {
10096
+ newItem[col.header] = _this.getNestedValue(item, col.key);
10097
+ });
10098
+ return newItem;
10099
+ });
10100
+ }
10101
+ // Create workbook and worksheet
10102
+ var wb = XLSX__namespace.utils.book_new();
10103
+ var ws = XLSX__namespace.utils.json_to_sheet(exportData);
10104
+ // Set column widths if specified
10105
+ if (columns && columns.some(function (col) { return col.width; })) {
10106
+ var colWidths = columns.map(function (col) { return ({ wch: col.width || 20 }); });
10107
+ ws['!cols'] = colWidths;
10108
+ }
10109
+ // Add worksheet to workbook
10110
+ XLSX__namespace.utils.book_append_sheet(wb, ws, sheetName);
10111
+ // Save file
10112
+ XLSX__namespace.writeFile(wb, fileName + ".xlsx");
10113
+ };
10114
+ /**
10115
+ * Export multiple sheets to one Excel file
10116
+ * @param sheets - Array of sheet data
10117
+ * @param fileName - Name of the exported file
10118
+ */
10119
+ ExcelExportService.prototype.exportMultipleSheets = function (sheets, fileName) {
10120
+ var _this = this;
10121
+ if (fileName === void 0) { fileName = 'multi-sheet-export'; }
10122
+ var wb = XLSX__namespace.utils.book_new();
10123
+ sheets.forEach(function (sheet) {
10124
+ var exportData = sheet.data;
10125
+ if (sheet.columns && sheet.columns.length > 0) {
10126
+ exportData = sheet.data.map(function (item) {
10127
+ var newItem = {};
10128
+ sheet.columns.forEach(function (col) {
10129
+ newItem[col.header] = _this.getNestedValue(item, col.key);
10130
+ });
10131
+ return newItem;
10132
+ });
10133
+ }
10134
+ var ws = XLSX__namespace.utils.json_to_sheet(exportData);
10135
+ if (sheet.columns && sheet.columns.some(function (col) { return col.width; })) {
10136
+ var colWidths = sheet.columns.map(function (col) { return ({ wch: col.width || 20 }); });
10137
+ ws['!cols'] = colWidths;
10138
+ }
10139
+ XLSX__namespace.utils.book_append_sheet(wb, ws, sheet.sheetName);
10140
+ });
10141
+ XLSX__namespace.writeFile(wb, fileName + ".xlsx");
10142
+ };
10143
+ /**
10144
+ * Export HTML table to Excel
10145
+ * @param tableId - ID of the HTML table element
10146
+ * @param fileName - Name of the exported file
10147
+ * @param sheetName - Name of the Excel sheet
10148
+ */
10149
+ ExcelExportService.prototype.exportTableToExcel = function (tableId, fileName, sheetName) {
10150
+ if (fileName === void 0) { fileName = 'table-export'; }
10151
+ if (sheetName === void 0) { sheetName = 'Sheet1'; }
10152
+ var table = document.getElementById(tableId);
10153
+ if (!table) {
10154
+ console.error("Table with ID '" + tableId + "' not found");
10155
+ return;
10156
+ }
10157
+ var wb = XLSX__namespace.utils.book_new();
10158
+ var ws = XLSX__namespace.utils.table_to_sheet(table);
10159
+ XLSX__namespace.utils.book_append_sheet(wb, ws, sheetName);
10160
+ XLSX__namespace.writeFile(wb, fileName + ".xlsx");
10161
+ };
10162
+ /**
10163
+ * Get nested object value using dot notation
10164
+ * @param obj - Object to search in
10165
+ * @param path - Dot notation path (e.g., 'user.address.city')
10166
+ */
10167
+ ExcelExportService.prototype.getNestedValue = function (obj, path) {
10168
+ return path.split('.').reduce(function (current, key) {
10169
+ return current && current[key] !== undefined ? current[key] : '';
10170
+ }, obj);
10171
+ };
10172
+ /**
10173
+ * Format date for Excel export
10174
+ * @param date - Date to format
10175
+ * @param format - Format string (default: 'MM/DD/YYYY')
10176
+ */
10177
+ ExcelExportService.prototype.formatDateForExport = function (date, format) {
10178
+ if (format === void 0) { format = 'MM/DD/YYYY'; }
10179
+ if (!date) {
10180
+ return '';
10181
+ }
10182
+ var d = new Date(date);
10183
+ if (isNaN(d.getTime())) {
10184
+ return '';
10185
+ }
10186
+ var month = (d.getMonth() + 1).toString().padStart(2, '0');
10187
+ var day = d.getDate().toString().padStart(2, '0');
10188
+ var year = d.getFullYear();
10189
+ switch (format) {
10190
+ case 'MM/DD/YYYY':
10191
+ return month + "/" + day + "/" + year;
10192
+ case 'DD/MM/YYYY':
10193
+ return day + "/" + month + "/" + year;
10194
+ case 'YYYY-MM-DD':
10195
+ return year + "-" + month + "-" + day;
10196
+ default:
10197
+ return d.toLocaleDateString();
10198
+ }
10199
+ };
10200
+ return ExcelExportService;
10201
+ }());
10202
+ ExcelExportService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ExcelExportService_Factory() { return new ExcelExportService(); }, token: ExcelExportService, providedIn: "root" });
10203
+ ExcelExportService.decorators = [
10204
+ { type: i0.Injectable, args: [{
10205
+ providedIn: 'root'
10206
+ },] }
10207
+ ];
10208
+
10076
10209
  var SimpleGridComponent = /** @class */ (function (_super) {
10077
10210
  __extends(SimpleGridComponent, _super);
10078
- function SimpleGridComponent(icons, _changeDetection, _formMaster) {
10211
+ function SimpleGridComponent(icons, _changeDetection, _formMaster, excelExportService) {
10079
10212
  var _this = _super.call(this) || this;
10080
10213
  _this.icons = icons;
10081
10214
  _this._changeDetection = _changeDetection;
10082
10215
  _this._formMaster = _formMaster;
10216
+ _this.excelExportService = excelExportService;
10083
10217
  _this.defaultTextAlign = exports.ColumnAlign.Left;
10084
10218
  _this.showAdd = false;
10085
10219
  _this.showDelete = false;
@@ -10169,14 +10303,6 @@
10169
10303
  });
10170
10304
  });
10171
10305
  };
10172
- SimpleGridComponent.prototype.isSingleColumn = function (column) {
10173
- return column.singleColumn;
10174
- };
10175
- SimpleGridComponent.prototype.rowContainsSingleColumn = function (row, columns) {
10176
- var _this = this;
10177
- var singleColumn = columns.find(function (column) { return _this.isSingleColumn(column) && !!row[column.field]; });
10178
- return !!singleColumn;
10179
- };
10180
10306
  SimpleGridComponent.prototype.addNewRow = function () {
10181
10307
  return __awaiter(this, void 0, void 0, function () {
10182
10308
  var valid, _a;
@@ -10353,75 +10479,44 @@
10353
10479
  return obj !== col;
10354
10480
  });
10355
10481
  };
10356
- // TODO Fix this sort method
10357
- // public sortColumn(col: any, columnValue: string): void {
10358
- // console.log(col);
10359
- // console.log("columnValue " + columnValue);
10360
- // col.isSelected = false;
10361
- //
10362
- // if (this.sortColumnValue === columnValue) {
10363
- // this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';
10364
- // } else {
10365
- // this.sortColumnValue = columnValue;
10366
- // this.sortDirection = 'asc';
10367
- // }
10368
- //
10369
- // console.log(this.data);
10370
- // // this.data = this._sortData(this.data);
10371
- //
10372
- //
10373
- // this.data.sort((a, b) => {
10374
- // const sign = this.sortDirection === 'asc' ? 1 : -1;
10375
- //
10376
- // console.log("a " + a);
10377
- // console.log("b " + b);
10378
- // console.log(a[this.sortColumnValue]);
10379
- // console.log(b[this.sortColumnValue]);
10380
- // console.log("sign " + sign);
10381
- //
10382
- // if (a[this.sortColumnValue] < b[this.sortColumnValue]) {
10383
- // return -1 * sign;
10384
- // } else if (a[this.sortColumnValue] > b[this.sortColumnValue]) {
10385
- // return 1 * sign;
10386
- // }
10387
- // return 0;
10388
- // });
10389
- //
10390
- //
10391
- //
10392
- // this._detectChanges();
10393
- // // this.data.sort((a, b) => a[this.sortColumnValue] - b[this.sortColumnValue]);
10394
- // console.log(this.data);
10395
- // }
10396
- SimpleGridComponent.prototype._sortData = function (tableData) {
10397
- var _this = this;
10398
- return tableData.sort(function (a, b) {
10399
- var sign = _this.sortDirection === 'asc' ? 1 : -1;
10400
- console.log("a " + a);
10401
- console.log("b " + b);
10402
- console.log(a[_this.sortColumnValue]);
10403
- console.log(b[_this.sortColumnValue]);
10404
- console.log("sign " + sign);
10405
- if (a[_this.sortColumnValue] < b[_this.sortColumnValue]) {
10406
- return -1 * sign;
10407
- }
10408
- else if (a[_this.sortColumnValue] > b[_this.sortColumnValue]) {
10409
- return 1 * sign;
10410
- }
10411
- return 0;
10412
- });
10413
- };
10414
10482
  SimpleGridComponent.prototype.showAllColumns = function () {
10415
10483
  this.isSettingsMenuOpen = false;
10416
10484
  this.headerColumnsCopy = this.headerColumns;
10417
10485
  };
10418
10486
  SimpleGridComponent.prototype.exportToExcel = function () {
10419
10487
  this.isSettingsMenuOpen = false;
10420
- var element = document.getElementById('simple-grid-table');
10421
- var ws = XLSX__namespace.utils.table_to_sheet(element);
10422
- var wb = XLSX__namespace.utils.book_new();
10423
- XLSX__namespace.utils.book_append_sheet(wb, ws, 'Sheet1');
10424
- XLSX__namespace.writeFile(wb, 'ExcelSheet.xlsx');
10488
+ var columns = this.headerColumnsCopy.map(function (column) {
10489
+ return ({
10490
+ key: column.field,
10491
+ header: column.headerText
10492
+ });
10493
+ });
10494
+ var headers = columns.map(function (col) { return col.header; });
10495
+ var rows = this.data.map(function (row) { return columns.map(function (col) {
10496
+ var value = row[col.key];
10497
+ if (value instanceof Date) {
10498
+ var pad = function (n) { return String(n).padStart(2, '0'); };
10499
+ return value.getFullYear() + "-" + pad(value.getMonth() + 1) + "-" + pad(value.getDate()) + "T" + pad(value.getHours()) + ":" + pad(value.getMinutes()) + ":" + pad(value.getSeconds());
10500
+ }
10501
+ else if (Array.isArray(value)) {
10502
+ return value.join(', ');
10503
+ }
10504
+ else if (typeof value === 'object' && value !== null) {
10505
+ return JSON.stringify(value);
10506
+ }
10507
+ else {
10508
+ return String(value !== null && value !== void 0 ? value : '');
10509
+ }
10510
+ }); });
10511
+ var csvContent = __spreadArray([headers], __read(rows)).map(function (row) { return row.map(function (cell) { return "\"" + cell.replace(/"/g, '""') + "\""; }).join(','); }).join('\r\n');
10512
+ var blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
10513
+ var link = document.createElement('a');
10514
+ var url = URL.createObjectURL(blob);
10515
+ link.href = url;
10516
+ link.setAttribute('download', 'ExcelSheet');
10517
+ document.body.appendChild(link);
10518
+ link.click();
10519
+ document.body.removeChild(link);
10425
10520
  };
10426
10521
  SimpleGridComponent.prototype.prepareDataRow = function (row, index) {
10427
10522
  this.isRowDisabled(row, index);
@@ -10574,10 +10669,8 @@
10574
10669
  SimpleGridComponent.decorators = [
10575
10670
  { type: i0.Component, args: [{
10576
10671
  selector: 'co-simple-grid',
10577
- template: "\n <co-grid-toolbar *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 <table\n id=\"simple-grid-table\"\n class=\"simple-grid-table\"\n [clickOutside]=\"editing\"\n (clickOutside)=\"handleClickOutsideRow()\">\n <colgroup>\n <col *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 class=\"simple-grid-column-header-label\"\n [ngClass]=\"column.textAlign ? column.textAlign : defaultTextAlign\"\n [class.with-menu]=\"showGridSettings\"\n [textContent]=\"column.headerText || '&nbsp;'\"\n (click)=\"toggleColumnMenu(column)\">\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 *ngIf=\"resizable && column.resizable\" class=\"simple-grid-column-sizer\"\n (mousedown)=\"handleSizerMouseDown($event, column)\"\n ></div>\n </div>\n </th>\n <th *ngIf=\"showGridSettings\" class=\"simple-grid-column-header 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()\">Show All\n Columns\n </li>\n </ul>\n </div>\n </th>\n </tr>\n </thead>\n <tbody #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 <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 <co-form class=\"simple-grid-row-form\">\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 <td *ngIf=\"showGridSettings\"></td>\n </co-form>\n </tr>\n </tbody>\n </table>\n <co-pagination-bar *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 ",
10578
- providers: [
10579
- FormMasterService
10580
- ],
10672
+ 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 [textContent]=\"column.headerText || '&nbsp;'\"\n (click)=\"toggleColumnMenu(column)\">\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\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 ",
10673
+ providers: [FormMasterService],
10581
10674
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
10582
10675
  encapsulation: i0.ViewEncapsulation.None
10583
10676
  },] }
@@ -10585,7 +10678,8 @@
10585
10678
  SimpleGridComponent.ctorParameters = function () { return [
10586
10679
  { type: IconCacheService },
10587
10680
  { type: i0.ChangeDetectorRef },
10588
- { type: FormMasterService }
10681
+ { type: FormMasterService },
10682
+ { type: ExcelExportService }
10589
10683
  ]; };
10590
10684
  SimpleGridComponent.propDecorators = {
10591
10685
  headerCells: [{ type: i0.ViewChildren, args: ['headerCell',] }],
@@ -15192,21 +15286,22 @@
15192
15286
  exports.showHideDialog = showHideDialog;
15193
15287
  exports["ɵa"] = InputBoolean;
15194
15288
  exports["ɵb"] = RippleModule;
15195
- exports["ɵba"] = PaginationService;
15196
- exports["ɵbb"] = PaginatePipe;
15197
- exports["ɵbc"] = SimpleGridCellComponent;
15198
- exports["ɵbd"] = ListOfValuesMultiselectPopupComponent;
15199
- exports["ɵbe"] = ConfirmationDialogComponent;
15200
- exports["ɵbf"] = DialogBaseComponent;
15201
- exports["ɵbg"] = CoreDynamicComponentService;
15202
- exports["ɵbh"] = PrependPipeModule;
15203
- exports["ɵbi"] = PrependPipe;
15204
- exports["ɵbj"] = CheckmarkOverlayComponent;
15205
- exports["ɵbk"] = ScannerService;
15206
- exports["ɵbl"] = TooltipModule;
15207
- exports["ɵbm"] = TooltipComponent;
15208
- exports["ɵbn"] = TooltipDirective;
15209
- exports["ɵbo"] = HourSchedulingTestObjectComponent;
15289
+ exports["ɵba"] = ObserveVisibilityDirective;
15290
+ exports["ɵbb"] = PaginationService;
15291
+ exports["ɵbc"] = PaginatePipe;
15292
+ exports["ɵbd"] = SimpleGridCellComponent;
15293
+ exports["ɵbe"] = ListOfValuesMultiselectPopupComponent;
15294
+ exports["ɵbf"] = ConfirmationDialogComponent;
15295
+ exports["ɵbg"] = DialogBaseComponent;
15296
+ exports["ɵbh"] = CoreDynamicComponentService;
15297
+ exports["ɵbi"] = PrependPipeModule;
15298
+ exports["ɵbj"] = PrependPipe;
15299
+ exports["ɵbk"] = CheckmarkOverlayComponent;
15300
+ exports["ɵbl"] = ScannerService;
15301
+ exports["ɵbm"] = TooltipModule;
15302
+ exports["ɵbn"] = TooltipComponent;
15303
+ exports["ɵbo"] = TooltipDirective;
15304
+ exports["ɵbp"] = HourSchedulingTestObjectComponent;
15210
15305
  exports["ɵc"] = MD_RIPPLE_GLOBAL_OPTIONS;
15211
15306
  exports["ɵd"] = CoRippleDirective;
15212
15307
  exports["ɵe"] = CoViewportRulerService;
@@ -15230,7 +15325,7 @@
15230
15325
  exports["ɵw"] = CalendarTemplateComponent;
15231
15326
  exports["ɵx"] = PopupShowerService;
15232
15327
  exports["ɵy"] = BaseSimpleGridComponent;
15233
- exports["ɵz"] = ObserveVisibilityDirective;
15328
+ exports["ɵz"] = ExcelExportService;
15234
15329
 
15235
15330
  Object.defineProperty(exports, '__esModule', { value: true });
15236
15331