@colijnit/corecomponents_v12 257.1.25 → 257.1.27
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.
- package/bundles/colijnit-corecomponents_v12.umd.js +166 -58
- package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
- package/colijnit-corecomponents_v12.d.ts +17 -16
- package/colijnit-corecomponents_v12.metadata.json +1 -1
- package/esm2015/colijnit-corecomponents_v12.js +18 -17
- package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +16 -11
- package/esm2015/lib/components/simple-grid/simple-grid.component.js +159 -174
- package/esm2015/lib/service/excel-export.service.js +125 -0
- package/fesm2015/colijnit-corecomponents_v12.js +293 -181
- package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
- package/lib/components/input-number-picker/input-number-picker.component.d.ts +1 -0
- package/lib/components/input-number-picker/style/_layout.scss +14 -1
- package/lib/components/simple-grid/simple-grid.component.d.ts +5 -6
- package/lib/components/simple-grid/style/_layout.scss +5 -8
- package/lib/service/excel-export.service.d.ts +44 -0
- package/package.json +1 -1
|
@@ -7450,6 +7450,7 @@ class InputNumberPickerComponent extends BaseInputComponent {
|
|
|
7450
7450
|
this.ngZoneWrapper = ngZoneWrapper;
|
|
7451
7451
|
this.elementRef = elementRef;
|
|
7452
7452
|
this.modelChangeOnEnter = true;
|
|
7453
|
+
this.showPermanentLabel = false;
|
|
7453
7454
|
this.minusIcon = CoreComponentsIcon.MinusSimple;
|
|
7454
7455
|
this.plusIcon = CoreComponentsIcon.PlusSimple;
|
|
7455
7456
|
// Whether to show buttons 'always', 'onFocusOnly', or 'never'
|
|
@@ -7675,16 +7676,19 @@ InputNumberPickerComponent.decorators = [
|
|
|
7675
7676
|
(mousedown)="onMinusMouseDown($event)"
|
|
7676
7677
|
(mouseup)="stopAutoCounting()" (mouseleave)="stopAutoCounting()"></co-button>
|
|
7677
7678
|
</div>
|
|
7678
|
-
<
|
|
7679
|
-
|
|
7680
|
-
|
|
7681
|
-
|
|
7682
|
-
|
|
7683
|
-
|
|
7684
|
-
|
|
7685
|
-
|
|
7686
|
-
|
|
7687
|
-
|
|
7679
|
+
<div class="input-wrapper">
|
|
7680
|
+
<span class='permanent-label' [textContent]="label" *ngIf="showPermanentLabel"></span>
|
|
7681
|
+
<input type="text"
|
|
7682
|
+
[tabIndex]="readonly ? -1 : 0"
|
|
7683
|
+
[ngModel]="model"
|
|
7684
|
+
[readonly]="readonly"
|
|
7685
|
+
[disabled]="disabled"
|
|
7686
|
+
[required]="required"
|
|
7687
|
+
[placeholder]="label"
|
|
7688
|
+
(ngModelChange)="handleChangeModel($event)"
|
|
7689
|
+
(keydown)="handleInputKeyDown($event)"
|
|
7690
|
+
(blur)="handleBlur()"/>
|
|
7691
|
+
</div>
|
|
7688
7692
|
<div class="button-wrapper">
|
|
7689
7693
|
<co-button *ngIf="showButtons" class="plus-operator" [class.select]="plusSelected" tabindex="-1"
|
|
7690
7694
|
[disabled]="readonly"
|
|
@@ -7719,6 +7723,7 @@ InputNumberPickerComponent.ctorParameters = () => [
|
|
|
7719
7723
|
InputNumberPickerComponent.propDecorators = {
|
|
7720
7724
|
model: [{ type: Input }],
|
|
7721
7725
|
modelChangeOnEnter: [{ type: Input }],
|
|
7726
|
+
showPermanentLabel: [{ type: Input }],
|
|
7722
7727
|
leftIconData: [{ type: HostBinding, args: ['class.has-icon',] }, { type: Input }],
|
|
7723
7728
|
min: [{ type: Input }],
|
|
7724
7729
|
step: [{ type: Input }],
|
|
@@ -9475,12 +9480,135 @@ BaseSimpleGridComponent.propDecorators = {
|
|
|
9475
9480
|
handleMouseUp: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }]
|
|
9476
9481
|
};
|
|
9477
9482
|
|
|
9483
|
+
class ExcelExportService {
|
|
9484
|
+
/**
|
|
9485
|
+
* Export data to Excel file
|
|
9486
|
+
* @param data - Array of objects to export
|
|
9487
|
+
* @param columns - Column configuration (optional)
|
|
9488
|
+
* @param fileName - Name of the exported file
|
|
9489
|
+
* @param sheetName - Name of the Excel sheet
|
|
9490
|
+
*/
|
|
9491
|
+
exportToExcel(data, columns, fileName = 'export', sheetName = 'Sheet1') {
|
|
9492
|
+
// If columns are specified, transform data to match column structure
|
|
9493
|
+
let exportData = data;
|
|
9494
|
+
if (columns && columns.length > 0) {
|
|
9495
|
+
exportData = data.map(item => {
|
|
9496
|
+
const newItem = {};
|
|
9497
|
+
columns.forEach(col => {
|
|
9498
|
+
newItem[col.header] = this.getNestedValue(item, col.key);
|
|
9499
|
+
});
|
|
9500
|
+
return newItem;
|
|
9501
|
+
});
|
|
9502
|
+
}
|
|
9503
|
+
// Create workbook and worksheet
|
|
9504
|
+
const wb = XLSX.utils.book_new();
|
|
9505
|
+
const ws = XLSX.utils.json_to_sheet(exportData);
|
|
9506
|
+
// Set column widths if specified
|
|
9507
|
+
if (columns && columns.some(col => col.width)) {
|
|
9508
|
+
const colWidths = columns.map(col => ({ wch: col.width || 20 }));
|
|
9509
|
+
ws['!cols'] = colWidths;
|
|
9510
|
+
}
|
|
9511
|
+
// Add worksheet to workbook
|
|
9512
|
+
XLSX.utils.book_append_sheet(wb, ws, sheetName);
|
|
9513
|
+
// Save file
|
|
9514
|
+
XLSX.writeFile(wb, `${fileName}.xlsx`);
|
|
9515
|
+
}
|
|
9516
|
+
/**
|
|
9517
|
+
* Export multiple sheets to one Excel file
|
|
9518
|
+
* @param sheets - Array of sheet data
|
|
9519
|
+
* @param fileName - Name of the exported file
|
|
9520
|
+
*/
|
|
9521
|
+
exportMultipleSheets(sheets, fileName = 'multi-sheet-export') {
|
|
9522
|
+
const wb = XLSX.utils.book_new();
|
|
9523
|
+
sheets.forEach(sheet => {
|
|
9524
|
+
let exportData = sheet.data;
|
|
9525
|
+
if (sheet.columns && sheet.columns.length > 0) {
|
|
9526
|
+
exportData = sheet.data.map(item => {
|
|
9527
|
+
const newItem = {};
|
|
9528
|
+
sheet.columns.forEach(col => {
|
|
9529
|
+
newItem[col.header] = this.getNestedValue(item, col.key);
|
|
9530
|
+
});
|
|
9531
|
+
return newItem;
|
|
9532
|
+
});
|
|
9533
|
+
}
|
|
9534
|
+
const ws = XLSX.utils.json_to_sheet(exportData);
|
|
9535
|
+
if (sheet.columns && sheet.columns.some(col => col.width)) {
|
|
9536
|
+
const colWidths = sheet.columns.map(col => ({ wch: col.width || 20 }));
|
|
9537
|
+
ws['!cols'] = colWidths;
|
|
9538
|
+
}
|
|
9539
|
+
XLSX.utils.book_append_sheet(wb, ws, sheet.sheetName);
|
|
9540
|
+
});
|
|
9541
|
+
XLSX.writeFile(wb, `${fileName}.xlsx`);
|
|
9542
|
+
}
|
|
9543
|
+
/**
|
|
9544
|
+
* Export HTML table to Excel
|
|
9545
|
+
* @param tableId - ID of the HTML table element
|
|
9546
|
+
* @param fileName - Name of the exported file
|
|
9547
|
+
* @param sheetName - Name of the Excel sheet
|
|
9548
|
+
*/
|
|
9549
|
+
exportTableToExcel(tableId, fileName = 'table-export', sheetName = 'Sheet1') {
|
|
9550
|
+
const table = document.getElementById(tableId);
|
|
9551
|
+
if (!table) {
|
|
9552
|
+
console.error(`Table with ID '${tableId}' not found`);
|
|
9553
|
+
return;
|
|
9554
|
+
}
|
|
9555
|
+
const wb = XLSX.utils.book_new();
|
|
9556
|
+
const ws = XLSX.utils.table_to_sheet(table);
|
|
9557
|
+
XLSX.utils.book_append_sheet(wb, ws, sheetName);
|
|
9558
|
+
XLSX.writeFile(wb, `${fileName}.xlsx`);
|
|
9559
|
+
}
|
|
9560
|
+
/**
|
|
9561
|
+
* Get nested object value using dot notation
|
|
9562
|
+
* @param obj - Object to search in
|
|
9563
|
+
* @param path - Dot notation path (e.g., 'user.address.city')
|
|
9564
|
+
*/
|
|
9565
|
+
getNestedValue(obj, path) {
|
|
9566
|
+
return path.split('.').reduce((current, key) => {
|
|
9567
|
+
return current && current[key] !== undefined ? current[key] : '';
|
|
9568
|
+
}, obj);
|
|
9569
|
+
}
|
|
9570
|
+
/**
|
|
9571
|
+
* Format date for Excel export
|
|
9572
|
+
* @param date - Date to format
|
|
9573
|
+
* @param format - Format string (default: 'MM/DD/YYYY')
|
|
9574
|
+
*/
|
|
9575
|
+
formatDateForExport(date, format = 'MM/DD/YYYY') {
|
|
9576
|
+
if (!date) {
|
|
9577
|
+
return '';
|
|
9578
|
+
}
|
|
9579
|
+
const d = new Date(date);
|
|
9580
|
+
if (isNaN(d.getTime())) {
|
|
9581
|
+
return '';
|
|
9582
|
+
}
|
|
9583
|
+
const month = (d.getMonth() + 1).toString().padStart(2, '0');
|
|
9584
|
+
const day = d.getDate().toString().padStart(2, '0');
|
|
9585
|
+
const year = d.getFullYear();
|
|
9586
|
+
switch (format) {
|
|
9587
|
+
case 'MM/DD/YYYY':
|
|
9588
|
+
return `${month}/${day}/${year}`;
|
|
9589
|
+
case 'DD/MM/YYYY':
|
|
9590
|
+
return `${day}/${month}/${year}`;
|
|
9591
|
+
case 'YYYY-MM-DD':
|
|
9592
|
+
return `${year}-${month}-${day}`;
|
|
9593
|
+
default:
|
|
9594
|
+
return d.toLocaleDateString();
|
|
9595
|
+
}
|
|
9596
|
+
}
|
|
9597
|
+
}
|
|
9598
|
+
ExcelExportService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ExcelExportService_Factory() { return new ExcelExportService(); }, token: ExcelExportService, providedIn: "root" });
|
|
9599
|
+
ExcelExportService.decorators = [
|
|
9600
|
+
{ type: Injectable, args: [{
|
|
9601
|
+
providedIn: 'root'
|
|
9602
|
+
},] }
|
|
9603
|
+
];
|
|
9604
|
+
|
|
9478
9605
|
class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
9479
|
-
constructor(icons, _changeDetection, _formMaster) {
|
|
9606
|
+
constructor(icons, _changeDetection, _formMaster, excelExportService) {
|
|
9480
9607
|
super();
|
|
9481
9608
|
this.icons = icons;
|
|
9482
9609
|
this._changeDetection = _changeDetection;
|
|
9483
9610
|
this._formMaster = _formMaster;
|
|
9611
|
+
this.excelExportService = excelExportService;
|
|
9484
9612
|
this.defaultTextAlign = ColumnAlign.Left;
|
|
9485
9613
|
this.showAdd = false;
|
|
9486
9614
|
this.showDelete = false;
|
|
@@ -9560,13 +9688,6 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
|
9560
9688
|
}
|
|
9561
9689
|
});
|
|
9562
9690
|
}
|
|
9563
|
-
isSingleColumn(column) {
|
|
9564
|
-
return column.singleColumn;
|
|
9565
|
-
}
|
|
9566
|
-
rowContainsSingleColumn(row, columns) {
|
|
9567
|
-
const singleColumn = columns.find(column => this.isSingleColumn(column) && !!row[column.field]);
|
|
9568
|
-
return !!singleColumn;
|
|
9569
|
-
}
|
|
9570
9691
|
addNewRow() {
|
|
9571
9692
|
return __awaiter(this, void 0, void 0, function* () {
|
|
9572
9693
|
if (this.inlineEdit) {
|
|
@@ -9722,12 +9843,15 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
|
9722
9843
|
const sorted = [...this.data].sort((a, b) => {
|
|
9723
9844
|
let valA = a[columnValue];
|
|
9724
9845
|
let valB = b[columnValue];
|
|
9725
|
-
if (valA == null && valB == null)
|
|
9846
|
+
if (valA == null && valB == null) {
|
|
9726
9847
|
return 0;
|
|
9727
|
-
|
|
9848
|
+
}
|
|
9849
|
+
if (valA == null) {
|
|
9728
9850
|
return -1 * direction;
|
|
9729
|
-
|
|
9851
|
+
}
|
|
9852
|
+
if (valB == null) {
|
|
9730
9853
|
return 1 * direction;
|
|
9854
|
+
}
|
|
9731
9855
|
// Handle ISO date string
|
|
9732
9856
|
const isDateA = typeof valA === 'string' && /^\d{4}-\d{2}-\d{2}T/.test(valA);
|
|
9733
9857
|
const isDateB = typeof valB === 'string' && /^\d{4}-\d{2}-\d{2}T/.test(valB);
|
|
@@ -9745,34 +9869,12 @@ class SimpleGridComponent extends BaseSimpleGridComponent {
|
|
|
9745
9869
|
this.data = sorted;
|
|
9746
9870
|
this._detectChanges();
|
|
9747
9871
|
}
|
|
9748
|
-
_sortData(tableData) {
|
|
9749
|
-
return tableData.sort((a, b) => {
|
|
9750
|
-
const sign = this.sortDirection === 'asc' ? 1 : -1;
|
|
9751
|
-
console.log("a " + a);
|
|
9752
|
-
console.log("b " + b);
|
|
9753
|
-
console.log(a[this.sortColumnValue]);
|
|
9754
|
-
console.log(b[this.sortColumnValue]);
|
|
9755
|
-
console.log("sign " + sign);
|
|
9756
|
-
if (a[this.sortColumnValue] < b[this.sortColumnValue]) {
|
|
9757
|
-
return -1 * sign;
|
|
9758
|
-
}
|
|
9759
|
-
else if (a[this.sortColumnValue] > b[this.sortColumnValue]) {
|
|
9760
|
-
return 1 * sign;
|
|
9761
|
-
}
|
|
9762
|
-
return 0;
|
|
9763
|
-
});
|
|
9764
|
-
}
|
|
9765
9872
|
showAllColumns() {
|
|
9766
9873
|
this.isSettingsMenuOpen = false;
|
|
9767
9874
|
this.headerColumnsCopy = this.headerColumns;
|
|
9768
9875
|
}
|
|
9769
9876
|
exportToExcel() {
|
|
9770
|
-
this.
|
|
9771
|
-
let element = document.getElementById('simple-grid-table');
|
|
9772
|
-
const ws = XLSX.utils.table_to_sheet(element);
|
|
9773
|
-
const wb = XLSX.utils.book_new();
|
|
9774
|
-
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
|
|
9775
|
-
XLSX.writeFile(wb, 'ExcelSheet.xlsx');
|
|
9877
|
+
this.excelExportService.exportTableToExcel('simple-grid-table', 'ExcelSheet', 'Sheet1');
|
|
9776
9878
|
}
|
|
9777
9879
|
prepareDataRow(row, index) {
|
|
9778
9880
|
this.isRowDisabled(row, index);
|
|
@@ -9919,147 +10021,156 @@ SimpleGridComponent.decorators = [
|
|
|
9919
10021
|
{ type: Component, args: [{
|
|
9920
10022
|
selector: 'co-simple-grid',
|
|
9921
10023
|
template: `
|
|
9922
|
-
|
|
9923
|
-
|
|
9924
|
-
|
|
9925
|
-
|
|
9926
|
-
|
|
9927
|
-
|
|
9928
|
-
|
|
9929
|
-
|
|
9930
|
-
|
|
9931
|
-
|
|
9932
|
-
|
|
9933
|
-
|
|
9934
|
-
id="simple-grid-table"
|
|
9935
|
-
class="simple-grid-table"
|
|
9936
|
-
[clickOutside]="editing"
|
|
9937
|
-
(clickOutside)="handleClickOutsideRow()">
|
|
9938
|
-
<colgroup>
|
|
9939
|
-
<col *ngFor="let column of headerColumnsCopy; let index = index"
|
|
9940
|
-
[class.simple-grid-column-auto-fit]="column.autoFit"
|
|
9941
|
-
[style.width.px]="column.width"
|
|
9942
|
-
[style.min-width.px]="MIN_COLUMN_WIDTH">
|
|
9943
|
-
</colgroup>
|
|
9944
|
-
<thead>
|
|
9945
|
-
<tr>
|
|
9946
|
-
<th
|
|
9947
|
-
scope="col"
|
|
9948
|
-
#headerCell
|
|
9949
|
-
class="simple-grid-column-header"
|
|
9950
|
-
*ngFor="let column of headerColumnsCopy; let index = index">
|
|
9951
|
-
<div
|
|
9952
|
-
class="simple-grid-column-header-wrapper"
|
|
9953
|
-
[class.resizable]="resizable"
|
|
9954
|
-
[class.selected]="column.isSelected"
|
|
9955
|
-
[ngClass]="column.textAlign ? column.textAlign : defaultTextAlign">
|
|
9956
|
-
<ng-container *ngIf="column.headerTemplate; else noHeaderTemplate">
|
|
9957
|
-
<ng-container [ngTemplateOutlet]="column.headerTemplate"></ng-container>
|
|
9958
|
-
</ng-container>
|
|
9959
|
-
<ng-template #noHeaderTemplate>
|
|
9960
|
-
<div class="simple-grid-column-header-label"
|
|
9961
|
-
[ngClass]="column.textAlign ? column.textAlign : defaultTextAlign"
|
|
9962
|
-
[class.with-menu]="showGridSettings"
|
|
9963
|
-
[class.with-sort]="showColumnSort"
|
|
9964
|
-
[textContent]="column.headerText || ' '"
|
|
9965
|
-
(click)="showColumnSort ? sortColumn(column, column.field) : toggleColumnMenu(column)">
|
|
9966
|
-
</div>
|
|
10024
|
+
<co-grid-toolbar
|
|
10025
|
+
*ngIf="showToolbar" [class.right]="rightToolbar"
|
|
10026
|
+
[showEdit]="showEdit"
|
|
10027
|
+
[showAdd]="showAdd"
|
|
10028
|
+
[showDelete]="showDelete"
|
|
10029
|
+
[deleteEnabled]="selectedRowIndex > -1"
|
|
10030
|
+
(addClick)="addNewRow()"
|
|
10031
|
+
(editClick)="editRow($event)"
|
|
10032
|
+
(saveClick)="validateAndSave()"
|
|
10033
|
+
(cancelClick)="cancelEditRow()"
|
|
10034
|
+
(deleteClick)="removeRow()">
|
|
10035
|
+
</co-grid-toolbar>
|
|
9967
10036
|
|
|
9968
|
-
|
|
9969
|
-
|
|
9970
|
-
|
|
9971
|
-
|
|
9972
|
-
|
|
10037
|
+
<table
|
|
10038
|
+
id="simple-grid-table"
|
|
10039
|
+
class="simple-grid-table"
|
|
10040
|
+
[clickOutside]="editing"
|
|
10041
|
+
(clickOutside)="handleClickOutsideRow()">
|
|
10042
|
+
<colgroup>
|
|
10043
|
+
<col
|
|
10044
|
+
*ngFor="let column of headerColumnsCopy; let index = index"
|
|
10045
|
+
[class.simple-grid-column-auto-fit]="column.autoFit"
|
|
10046
|
+
[style.width.px]="column.width"
|
|
10047
|
+
[style.min-width.px]="MIN_COLUMN_WIDTH">
|
|
10048
|
+
</colgroup>
|
|
10049
|
+
<thead>
|
|
10050
|
+
<tr>
|
|
10051
|
+
<th
|
|
10052
|
+
scope="col"
|
|
10053
|
+
#headerCell
|
|
10054
|
+
class="simple-grid-column-header"
|
|
10055
|
+
*ngFor="let column of headerColumnsCopy; let index = index">
|
|
10056
|
+
<div
|
|
10057
|
+
class="simple-grid-column-header-wrapper"
|
|
10058
|
+
[class.resizable]="resizable"
|
|
10059
|
+
[class.selected]="column.isSelected"
|
|
10060
|
+
[ngClass]="column.textAlign ? column.textAlign : defaultTextAlign">
|
|
10061
|
+
<ng-container *ngIf="column.headerTemplate; else noHeaderTemplate">
|
|
10062
|
+
<ng-container [ngTemplateOutlet]="column.headerTemplate"></ng-container>
|
|
10063
|
+
</ng-container>
|
|
10064
|
+
<ng-template #noHeaderTemplate>
|
|
10065
|
+
<div
|
|
10066
|
+
class="simple-grid-column-header-label"
|
|
10067
|
+
[ngClass]="column.textAlign ? column.textAlign : defaultTextAlign"
|
|
10068
|
+
[class.with-menu]="showGridSettings"
|
|
10069
|
+
[class.with-sort]="showColumnSort"
|
|
10070
|
+
[textContent]="column.headerText || ' '"
|
|
10071
|
+
(click)="showColumnSort ? sortColumn(column, column.field) : toggleColumnMenu(column)">
|
|
10072
|
+
</div>
|
|
9973
10073
|
|
|
9974
|
-
|
|
9975
|
-
|
|
9976
|
-
|
|
9977
|
-
|
|
9978
|
-
|
|
9979
|
-
|
|
10074
|
+
<div class="sort-column" *ngIf="showColumnSort">
|
|
10075
|
+
<co-button
|
|
10076
|
+
(click)="sortColumn(column, column?.field)"
|
|
10077
|
+
[iconData]="icons.getIcon(Icons.ArrowUpArrowDown)">
|
|
10078
|
+
</co-button>
|
|
10079
|
+
</div>
|
|
10080
|
+
|
|
10081
|
+
<div class="column-menu" *ngIf="column.isSelected">
|
|
10082
|
+
<h3 [textContent]="'COLUMN_OPTIONS' | coreLocalize"></h3>
|
|
10083
|
+
<ul>
|
|
10084
|
+
<li (click)="hideColumn(column)">Hide Column</li>
|
|
10085
|
+
<li (click)="sortColumn(column, column.field)">Sort Column</li>
|
|
10086
|
+
</ul>
|
|
10087
|
+
</div>
|
|
10088
|
+
</ng-template>
|
|
10089
|
+
<div
|
|
10090
|
+
*ngIf="resizable && column.resizable"
|
|
10091
|
+
class="simple-grid-column-sizer"
|
|
10092
|
+
(mousedown)="handleSizerMouseDown($event, column)">
|
|
10093
|
+
</div>
|
|
10094
|
+
</div>
|
|
10095
|
+
</th>
|
|
10096
|
+
</tr>
|
|
10097
|
+
|
|
10098
|
+
<div *ngIf="showGridSettings" class="grid-settings">
|
|
10099
|
+
<co-button
|
|
10100
|
+
[class.selected]="isSettingsMenuOpen"
|
|
10101
|
+
[iconData]="icons.getIcon(Icons.CogWheels)"
|
|
10102
|
+
(click)="toggleSettingsMenu()">
|
|
10103
|
+
</co-button>
|
|
10104
|
+
|
|
10105
|
+
<div class="settings-menu" *ngIf="isSettingsMenuOpen">
|
|
10106
|
+
<h3 [textContent]="'GRID_OPTIONS' | coreLocalize"></h3>
|
|
10107
|
+
<ul>
|
|
10108
|
+
<li (click)="exportToExcel()">Export to Excel</li>
|
|
10109
|
+
<li *ngIf="headerColumnsCopy.length !== headerColumns.length" (click)="showAllColumns()">
|
|
10110
|
+
Show All Columns
|
|
10111
|
+
</li>
|
|
10112
|
+
</ul>
|
|
9980
10113
|
</div>
|
|
9981
|
-
</ng-template>
|
|
9982
|
-
<div *ngIf="resizable && column.resizable" class="simple-grid-column-sizer"
|
|
9983
|
-
(mousedown)="handleSizerMouseDown($event, column)"
|
|
9984
|
-
></div>
|
|
9985
10114
|
</div>
|
|
9986
|
-
|
|
9987
|
-
<th *ngIf="showGridSettings" class="simple-grid-column-header grid-settings">
|
|
9988
|
-
<co-button
|
|
9989
|
-
[class.selected]="isSettingsMenuOpen"
|
|
9990
|
-
[iconData]="icons.getIcon(Icons.CogWheels)"
|
|
9991
|
-
(click)="toggleSettingsMenu()">
|
|
9992
|
-
</co-button>
|
|
10115
|
+
</thead>
|
|
9993
10116
|
|
|
9994
|
-
<
|
|
9995
|
-
|
|
9996
|
-
|
|
9997
|
-
|
|
9998
|
-
|
|
9999
|
-
|
|
10000
|
-
|
|
10001
|
-
|
|
10002
|
-
|
|
10003
|
-
|
|
10004
|
-
|
|
10005
|
-
|
|
10006
|
-
|
|
10007
|
-
|
|
10008
|
-
|
|
10009
|
-
|
|
10010
|
-
|
|
10011
|
-
|
|
10012
|
-
|
|
10013
|
-
|
|
10014
|
-
|
|
10015
|
-
|
|
10016
|
-
|
|
10017
|
-
|
|
10018
|
-
|
|
10019
|
-
|
|
10020
|
-
|
|
10021
|
-
|
|
10022
|
-
|
|
10023
|
-
|
|
10024
|
-
|
|
10025
|
-
|
|
10026
|
-
|
|
10027
|
-
|
|
10028
|
-
|
|
10029
|
-
|
|
10030
|
-
|
|
10031
|
-
|
|
10032
|
-
|
|
10033
|
-
|
|
10034
|
-
|
|
10035
|
-
|
|
10036
|
-
|
|
10037
|
-
|
|
10038
|
-
|
|
10039
|
-
|
|
10040
|
-
|
|
10041
|
-
|
|
10042
|
-
|
|
10043
|
-
|
|
10044
|
-
|
|
10045
|
-
|
|
10046
|
-
|
|
10047
|
-
|
|
10048
|
-
</
|
|
10049
|
-
</table>
|
|
10050
|
-
<co-pagination-bar *ngIf="data?.length > rowsPerPage" class="pagination-bar"
|
|
10051
|
-
[itemsPerPage]="rowsPerPage"
|
|
10052
|
-
[currentPage]="currentPage"
|
|
10053
|
-
[totalItems]="data.length"
|
|
10054
|
-
[autoHide]="true"
|
|
10055
|
-
(previousClick)="goToPreviousPage()"
|
|
10056
|
-
(nextClick)="goToNextPage()"
|
|
10057
|
-
(pageClick)="setCurrentPage($event)"
|
|
10058
|
-
></co-pagination-bar>
|
|
10117
|
+
<tbody
|
|
10118
|
+
#dropList cdkDropList cdkDropListOrientation="vertical"
|
|
10119
|
+
class="simple-grid-drag-drop-list"
|
|
10120
|
+
[cdkDropListDisabled]="!dragDropEnabled || editing"
|
|
10121
|
+
[cdkDropListData]="data"
|
|
10122
|
+
[cdkDropListEnterPredicate]="handleCanDragDrop"
|
|
10123
|
+
(cdkDropListDropped)="handleDrop($event)">
|
|
10124
|
+
<co-form class="simple-grid-row-form">
|
|
10125
|
+
<tr
|
|
10126
|
+
class="simple-grid-row"
|
|
10127
|
+
[class.selected]="rowIndex === selectedRowIndex && !editing" observeVisibility
|
|
10128
|
+
[class.disabled]="getIsRowDisabled(rowIndex)"
|
|
10129
|
+
[class.editing]="rowIndex === editRowIndex"
|
|
10130
|
+
*ngFor="let row of (!!rowsPerPage ? (data | paginate: {itemsPerPage: rowsPerPage, currentPage: currentPage}) : data); last as last; let rowIndex = index"
|
|
10131
|
+
cdkDrag
|
|
10132
|
+
(click)="handleClickRow($event, rowIndex, row)" (dblclick)="handleDblClickRow($event, rowIndex, row)"
|
|
10133
|
+
(visibilityChange)="rowVisible.next(row)">
|
|
10134
|
+
<ng-container *ngIf="isSingleColumnRow(row)">
|
|
10135
|
+
<td class="simple-grid-single-column-cell" [attr.colspan]="headerColumnsCopy.length">
|
|
10136
|
+
<co-simple-grid-cell
|
|
10137
|
+
[column]="columns[singleColumnIndex(row)]"
|
|
10138
|
+
[row]="row"
|
|
10139
|
+
[editMode]="false">
|
|
10140
|
+
</co-simple-grid-cell>
|
|
10141
|
+
</td>
|
|
10142
|
+
</ng-container>
|
|
10143
|
+
<ng-container *ngIf="!isSingleColumnRow(row)">
|
|
10144
|
+
<ng-container *ngFor="let column of headerColumnsCopy; let columnIndex = index">
|
|
10145
|
+
<td class="simple-grid-column-cell" *ngIf="columnIndex !== singleColumnIndex(row)">
|
|
10146
|
+
<co-simple-grid-cell
|
|
10147
|
+
[column]="column"
|
|
10148
|
+
[row]="row"
|
|
10149
|
+
[editMode]="inlineEdit && editing && rowIndex === editRowIndex"
|
|
10150
|
+
[fieldEditMode]="editCellIndex === columnIndex && rowIndex === editRowIndex"
|
|
10151
|
+
(cellClick)="handleCellClick($event, row, rowIndex, columnIndex)">
|
|
10152
|
+
</co-simple-grid-cell>
|
|
10153
|
+
<div *ngIf="column.resizable" class="simple-grid-column-sizer-placeholder"></div>
|
|
10154
|
+
</td>
|
|
10155
|
+
</ng-container>
|
|
10156
|
+
</ng-container>
|
|
10157
|
+
</tr>
|
|
10158
|
+
</co-form>
|
|
10159
|
+
</tbody>
|
|
10160
|
+
</table>
|
|
10161
|
+
|
|
10162
|
+
<co-pagination-bar
|
|
10163
|
+
*ngIf="data?.length > rowsPerPage" class="pagination-bar"
|
|
10164
|
+
[itemsPerPage]="rowsPerPage"
|
|
10165
|
+
[currentPage]="currentPage"
|
|
10166
|
+
[totalItems]="data.length"
|
|
10167
|
+
[autoHide]="true"
|
|
10168
|
+
(previousClick)="goToPreviousPage()"
|
|
10169
|
+
(nextClick)="goToNextPage()"
|
|
10170
|
+
(pageClick)="setCurrentPage($event)">
|
|
10171
|
+
</co-pagination-bar>
|
|
10059
10172
|
`,
|
|
10060
|
-
providers: [
|
|
10061
|
-
FormMasterService
|
|
10062
|
-
],
|
|
10173
|
+
providers: [FormMasterService],
|
|
10063
10174
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10064
10175
|
encapsulation: ViewEncapsulation.None
|
|
10065
10176
|
},] }
|
|
@@ -10067,7 +10178,8 @@ SimpleGridComponent.decorators = [
|
|
|
10067
10178
|
SimpleGridComponent.ctorParameters = () => [
|
|
10068
10179
|
{ type: IconCacheService },
|
|
10069
10180
|
{ type: ChangeDetectorRef },
|
|
10070
|
-
{ type: FormMasterService }
|
|
10181
|
+
{ type: FormMasterService },
|
|
10182
|
+
{ type: ExcelExportService }
|
|
10071
10183
|
];
|
|
10072
10184
|
SimpleGridComponent.propDecorators = {
|
|
10073
10185
|
headerCells: [{ type: ViewChildren, args: ['headerCell',] }],
|
|
@@ -14811,5 +14923,5 @@ HourSchedulingExpandableComponentModule.decorators = [
|
|
|
14811
14923
|
* Generated bundle index. Do not edit.
|
|
14812
14924
|
*/
|
|
14813
14925
|
|
|
14814
|
-
export { ArticleTileComponent, ArticleTileModule, BaseInputComponent, BaseInputDatePickerDirective, BaseModuleScreenConfigService, BaseModuleService, ButtonComponent, ButtonModule, CalendarComponent, CalendarModule, CardComponent, CardModule, Carousel3dComponent, Carousel3dModule, CarouselComponent, CarouselHammerConfig, CarouselModule, CheckmarkOverlayModule, ClickoutsideModule, CoDialogComponent, CoDialogModule, CoDialogWizardComponent, CoDialogWizardModule, CoDirection, CoOrientation, CollapsibleComponent, CollapsibleModule, ColorPickerComponent, ColorPickerModule, ColorSequenceService, ColumnAlign, ContentViewMode, CoreComponentsIcon, CoreComponentsTranslationModule, CoreComponentsTranslationService, CoreDialogModule, CoreDialogService, DoubleCalendarComponent, DoubleCalendarModule, FilterItemComponent, FilterItemMode, FilterItemModule, FilterItemViewmodel, FilterPipe, FilterPipeModule, FilterViewmodel, FormComponent, FormInputUserModelChangeListenerService, FormMasterService, FormModule, GridToolbarButtonComponent, GridToolbarButtonModule, GridToolbarComponent, GridToolbarModule, HourSchedulingComponent, HourSchedulingComponentModule, HourSchedulingExpandableComponent, HourSchedulingExpandableComponentModule, HourSchedulingExpandableTemplateComponent, IconCacheService, IconCollapseHandleComponent, IconCollapseHandleModule, IconComponent, IconModule, ImageComponent, ImageModule, InputCheckboxComponent, InputCheckboxModule, InputDatePickerComponent, InputDatePickerModule, InputDateRangePickerComponent, InputDateRangePickerModule, InputNumberPickerComponent, InputNumberPickerModule, InputRadioButtonComponent, InputRadioButtonModule, InputScannerComponent, InputScannerModule, InputSearchComponent, InputSearchModule, InputTextComponent, InputTextModule, InputTextareaComponent, InputTextareaModule, LevelIndicatorComponent, LevelIndicatorModule, ListOfIconsComponent, ListOfIconsModule, ListOfValuesComponent, ListOfValuesModule, ListOfValuesPopupComponent, LoaderComponent, LoaderModule, NgZoneWrapperService, ObserveVisibilityModule, OrientationOfDirection, OverlayModule, OverlayService, PaginationBarComponent, PaginationBarModule, PaginationComponent, PaginationModule, PopupButtonsComponent, PopupMessageDisplayComponent, PopupModule, PopupWindowShellComponent, PriceDisplayPipe, PriceDisplayPipeModule, PromptService, ResponsiveTextComponent, ResponsiveTextModule, SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, ScreenConfigurationDirective, ScreenConfigurationModule, SimpleGridColumnDirective, SimpleGridComponent, SimpleGridModule, TemplateWrapperDirective, TemplateWrapperModule, TextInputPopupComponent, TileComponent, TileModule, TileSelectComponent, TileSelectModule, TooltipDirectiveModule, ViewModeButtonsComponent, ViewModeButtonsModule, emailValidator, equalValidator, getValidatePasswordErrorString, maxStringLengthValidator, passwordValidator, precisionScaleValidator, requiredValidator, showHideDialog, InputBoolean as ɵa, RippleModule as ɵb,
|
|
14926
|
+
export { ArticleTileComponent, ArticleTileModule, BaseInputComponent, BaseInputDatePickerDirective, BaseModuleScreenConfigService, BaseModuleService, ButtonComponent, ButtonModule, CalendarComponent, CalendarModule, CardComponent, CardModule, Carousel3dComponent, Carousel3dModule, CarouselComponent, CarouselHammerConfig, CarouselModule, CheckmarkOverlayModule, ClickoutsideModule, CoDialogComponent, CoDialogModule, CoDialogWizardComponent, CoDialogWizardModule, CoDirection, CoOrientation, CollapsibleComponent, CollapsibleModule, ColorPickerComponent, ColorPickerModule, ColorSequenceService, ColumnAlign, ContentViewMode, CoreComponentsIcon, CoreComponentsTranslationModule, CoreComponentsTranslationService, CoreDialogModule, CoreDialogService, DoubleCalendarComponent, DoubleCalendarModule, FilterItemComponent, FilterItemMode, FilterItemModule, FilterItemViewmodel, FilterPipe, FilterPipeModule, FilterViewmodel, FormComponent, FormInputUserModelChangeListenerService, FormMasterService, FormModule, GridToolbarButtonComponent, GridToolbarButtonModule, GridToolbarComponent, GridToolbarModule, HourSchedulingComponent, HourSchedulingComponentModule, HourSchedulingExpandableComponent, HourSchedulingExpandableComponentModule, HourSchedulingExpandableTemplateComponent, IconCacheService, IconCollapseHandleComponent, IconCollapseHandleModule, IconComponent, IconModule, ImageComponent, ImageModule, InputCheckboxComponent, InputCheckboxModule, InputDatePickerComponent, InputDatePickerModule, InputDateRangePickerComponent, InputDateRangePickerModule, InputNumberPickerComponent, InputNumberPickerModule, InputRadioButtonComponent, InputRadioButtonModule, InputScannerComponent, InputScannerModule, InputSearchComponent, InputSearchModule, InputTextComponent, InputTextModule, InputTextareaComponent, InputTextareaModule, LevelIndicatorComponent, LevelIndicatorModule, ListOfIconsComponent, ListOfIconsModule, ListOfValuesComponent, ListOfValuesModule, ListOfValuesPopupComponent, LoaderComponent, LoaderModule, NgZoneWrapperService, ObserveVisibilityModule, OrientationOfDirection, OverlayModule, OverlayService, PaginationBarComponent, PaginationBarModule, PaginationComponent, PaginationModule, PopupButtonsComponent, PopupMessageDisplayComponent, PopupModule, PopupWindowShellComponent, PriceDisplayPipe, PriceDisplayPipeModule, PromptService, ResponsiveTextComponent, ResponsiveTextModule, SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, ScreenConfigurationDirective, ScreenConfigurationModule, SimpleGridColumnDirective, SimpleGridComponent, SimpleGridModule, TemplateWrapperDirective, TemplateWrapperModule, TextInputPopupComponent, TileComponent, TileModule, TileSelectComponent, TileSelectModule, TooltipDirectiveModule, ViewModeButtonsComponent, ViewModeButtonsModule, emailValidator, equalValidator, getValidatePasswordErrorString, maxStringLengthValidator, passwordValidator, precisionScaleValidator, requiredValidator, showHideDialog, InputBoolean as ɵa, RippleModule as ɵb, ObserveVisibilityDirective as ɵba, PaginationService as ɵbb, PaginatePipe as ɵbc, SimpleGridCellComponent as ɵbd, ListOfValuesMultiselectPopupComponent as ɵbe, ConfirmationDialogComponent as ɵbf, DialogBaseComponent as ɵbg, CoreDynamicComponentService as ɵbh, PrependPipeModule as ɵbi, PrependPipe as ɵbj, CheckmarkOverlayComponent as ɵbk, ScannerService as ɵbl, TooltipModule as ɵbm, TooltipComponent as ɵbn, TooltipDirective as ɵbo, HourSchedulingTestObjectComponent as ɵbp, MD_RIPPLE_GLOBAL_OPTIONS as ɵc, CoRippleDirective as ɵd, CoViewportRulerService as ɵe, CoScrollDispatcherService as ɵf, CoScrollableDirective as ɵg, StopClickModule as ɵh, StopClickDirective as ɵi, BaseModule as ɵj, AppendPipeModule as ɵk, AppendPipe as ɵl, ValidationErrorModule as ɵm, OverlayDirective as ɵn, OverlayParentDirective as ɵo, CoreLocalizePipe as ɵp, CoreDictionaryService as ɵq, ValidationErrorComponent as ɵr, CommitButtonsModule as ɵs, CommitButtonsComponent as ɵt, ClickOutsideDirective as ɵu, ClickOutsideMasterService as ɵv, CalendarTemplateComponent as ɵw, PopupShowerService as ɵx, BaseSimpleGridComponent as ɵy, ExcelExportService as ɵz };
|
|
14815
14927
|
//# sourceMappingURL=colijnit-corecomponents_v12.js.map
|