libey-ng-component-library 0.0.1 → 0.0.2
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/libey-ng-component-library.umd.js +266 -61
- package/bundles/libey-ng-component-library.umd.js.map +1 -1
- package/esm2015/lib/libey-ng-component-library.module.js +18 -16
- package/esm2015/lib/table/directives/libey-column.directive.js +32 -0
- package/esm2015/lib/table/libey-ng-table.component.js +183 -47
- package/esm2015/lib/table/libey-ng-table.module.js +21 -0
- package/esm2015/public-api.js +3 -1
- package/fesm2015/libey-ng-component-library.js +243 -60
- package/fesm2015/libey-ng-component-library.js.map +1 -1
- package/lib/libey-ng-component-library.module.d.ts +4 -3
- package/lib/table/directives/libey-column.directive.d.ts +15 -0
- package/lib/table/libey-ng-table.component.d.ts +56 -22
- package/lib/table/libey-ng-table.module.d.ts +10 -0
- package/package.json +6 -2
- package/public-api.d.ts +2 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Component, NgModule } from '@angular/core';
|
|
2
|
+
import { Injectable, Component, TemplateRef, Directive, Input, ContentChild, EventEmitter, ViewEncapsulation, Output, ContentChildren, ViewChild, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
|
-
import { DatePipe } from '@angular/common';
|
|
4
|
+
import { CommonModule, DatePipe } from '@angular/common';
|
|
5
|
+
import { FormsModule } from '@angular/forms';
|
|
5
6
|
|
|
6
7
|
class LibeyNgComponentLibraryService {
|
|
7
8
|
constructor() { }
|
|
@@ -39,82 +40,264 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
39
40
|
}]
|
|
40
41
|
}], ctorParameters: function () { return []; } });
|
|
41
42
|
|
|
43
|
+
class LibeyColumnDirective {
|
|
44
|
+
}
|
|
45
|
+
LibeyColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
46
|
+
LibeyColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: LibeyColumnDirective, selector: "libey-ng-column", inputs: { header: "header", property: "property", width: "width", arrayMap: "arrayMap", isArray: "isArray", expandable: "expandable", class: "class", childTableTemplate: "childTableTemplate" }, queries: [{ propertyName: "cellTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyColumnDirective, decorators: [{
|
|
48
|
+
type: Directive,
|
|
49
|
+
args: [{
|
|
50
|
+
selector: 'libey-ng-column'
|
|
51
|
+
}]
|
|
52
|
+
}], propDecorators: { header: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], property: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], width: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], arrayMap: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], isArray: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], expandable: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], class: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], childTableTemplate: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], cellTemplate: [{
|
|
69
|
+
type: ContentChild,
|
|
70
|
+
args: [TemplateRef]
|
|
71
|
+
}] } });
|
|
72
|
+
|
|
73
|
+
class DataKey {
|
|
74
|
+
}
|
|
42
75
|
class LibeyNgTableComponent {
|
|
43
|
-
constructor(
|
|
44
|
-
this.
|
|
45
|
-
this.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
];
|
|
53
|
-
this.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
{ width: "135px", text: "RUC", class: "color-sky-blue" },
|
|
79
|
-
{ width: "260px", text: "Razón Social", class: "color-sky-blue" },
|
|
80
|
-
{ width: "120px", text: "Último valor de compra S/IGV", class: "color-sky-blue" },
|
|
81
|
-
{ width: "115px", text: "Cód. EM", class: "color-sky-blue" },
|
|
82
|
-
{ width: "165px", text: "Fecha y hora ingreso EM", class: "color-sky-blue" }
|
|
83
|
-
];
|
|
76
|
+
constructor(cdr) {
|
|
77
|
+
this.cdr = cdr;
|
|
78
|
+
this.pageSize = 10;
|
|
79
|
+
this.totalSize = 0;
|
|
80
|
+
this.maxPageButtons = 5;
|
|
81
|
+
this.expandable = false;
|
|
82
|
+
this.viewPaginate = true;
|
|
83
|
+
this.headerfixed = false;
|
|
84
|
+
this.pageChange = new EventEmitter();
|
|
85
|
+
this.rowExpandable = [];
|
|
86
|
+
this.rowExpandableDetail = [];
|
|
87
|
+
this.currentPage = 1;
|
|
88
|
+
this.paginatedData = [];
|
|
89
|
+
this._data = [];
|
|
90
|
+
this.columnWidths = [];
|
|
91
|
+
this.resizingColumnIndex = null;
|
|
92
|
+
this.startX = 0;
|
|
93
|
+
this.startWidth = 0;
|
|
94
|
+
this.onResizeMove = (event) => {
|
|
95
|
+
if (this.resizingColumnIndex !== null) {
|
|
96
|
+
const diff = event.pageX - this.startX;
|
|
97
|
+
this.columnWidths[this.resizingColumnIndex] = Math.max(this.startWidth + diff, 50);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
this.onResizeEnd = () => {
|
|
101
|
+
this.resizingColumnIndex = null;
|
|
102
|
+
document.removeEventListener('mousemove', this.onResizeMove);
|
|
103
|
+
document.removeEventListener('mouseup', this.onResizeEnd);
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
set data(value) {
|
|
107
|
+
this._data = value;
|
|
108
|
+
}
|
|
109
|
+
get data() {
|
|
110
|
+
return this._data;
|
|
84
111
|
}
|
|
85
112
|
ngOnInit() {
|
|
113
|
+
this.updatePaginatedData();
|
|
114
|
+
}
|
|
115
|
+
ngAfterViewInit() {
|
|
116
|
+
this.initializeColumnWidths();
|
|
117
|
+
this.adjustTableWidth();
|
|
118
|
+
this.cdr.detectChanges();
|
|
119
|
+
}
|
|
120
|
+
initializeColumnWidths() {
|
|
121
|
+
var padding = 31;
|
|
122
|
+
var widthDefault = 150;
|
|
123
|
+
this.columnWidths = this.columns.map(column => column.width);
|
|
124
|
+
const containerWidth = this.tableContainer.nativeElement.offsetWidth;
|
|
125
|
+
const autoColumns = this.columns.filter(column => column.width == null);
|
|
126
|
+
const totalFixedWidth = this.columns.reduce((sum, column) => column.width != null ? (sum + this.getWidthValue(column.width)) : sum, 0);
|
|
127
|
+
const remainingWidth = containerWidth - (totalFixedWidth + (((this.columns.length - autoColumns.length) * padding) + (this.expandable ? 61 : 0)));
|
|
128
|
+
if (autoColumns.length > 0) {
|
|
129
|
+
var autoColumnWidth = 0;
|
|
130
|
+
if (remainingWidth < widthDefault)
|
|
131
|
+
autoColumnWidth = widthDefault;
|
|
132
|
+
else
|
|
133
|
+
autoColumnWidth = Math.max(0, remainingWidth / autoColumns.length);
|
|
134
|
+
autoColumns.forEach(column => column.width = autoColumnWidth - padding);
|
|
135
|
+
}
|
|
136
|
+
this.columnWidths = this.columns.map(column => column.width);
|
|
137
|
+
}
|
|
138
|
+
adjustTableWidth() {
|
|
139
|
+
const totalWidth = this.columns.reduce((sum, column) => sum + this.getWidthValue(column.width), 0);
|
|
140
|
+
this.tableElement.nativeElement.style.width = `${totalWidth}px`;
|
|
141
|
+
}
|
|
142
|
+
getWidthValue(width) {
|
|
143
|
+
return width === null ? 100 : width;
|
|
144
|
+
}
|
|
145
|
+
get totalPages() {
|
|
146
|
+
return Math.ceil(this.totalSize / this.pageSize);
|
|
147
|
+
}
|
|
148
|
+
getCellValue(item, column) {
|
|
149
|
+
const value = this.getNestedValue(item, column.property);
|
|
150
|
+
if (Array.isArray(value) && column.arrayMap) {
|
|
151
|
+
return value.map(v => this.getNestedValue(v, column.arrayMap)).join(', ');
|
|
152
|
+
}
|
|
153
|
+
return value;
|
|
154
|
+
}
|
|
155
|
+
getNestedValue(obj, path) {
|
|
156
|
+
return path.split('.').reduce((o, key) => {
|
|
157
|
+
if (o && typeof o === 'object' && key in o) {
|
|
158
|
+
return o[key];
|
|
159
|
+
}
|
|
160
|
+
return undefined;
|
|
161
|
+
}, obj);
|
|
162
|
+
}
|
|
163
|
+
updatePaginatedData() {
|
|
164
|
+
console.log(this.pageSize);
|
|
165
|
+
const start = (this.currentPage - 1) * this.pageSize;
|
|
166
|
+
const end = start + this.pageSize;
|
|
167
|
+
this.paginatedData = this.data.slice(start, end);
|
|
168
|
+
}
|
|
169
|
+
pageRange() {
|
|
170
|
+
const start = Math.max(1, this.currentPage - Math.floor(this.maxPageButtons / 2));
|
|
171
|
+
const end = Math.min(this.totalPages, start + this.maxPageButtons - 1);
|
|
172
|
+
return Array.from({ length: end - start + 1 }, (_, i) => start + i);
|
|
173
|
+
}
|
|
174
|
+
goToPage(page) {
|
|
175
|
+
this.currentPage = Math.max(1, Math.min(page, this.totalPages));
|
|
176
|
+
this.updatePaginatedData();
|
|
177
|
+
this.pageChange.emit(this.currentPage);
|
|
178
|
+
}
|
|
179
|
+
// hasChildren(row: any): boolean{
|
|
180
|
+
// return Array.isArray(row.child) && row.child.length > 0;
|
|
181
|
+
// }
|
|
182
|
+
toggleRow(index) {
|
|
183
|
+
this.rowExpandable[index] = !this.rowExpandable[index];
|
|
184
|
+
}
|
|
185
|
+
toggleRowDetail(key, indexData, propertyChild) {
|
|
186
|
+
var exist = this.rowExpandableDetail.find(x => x.key == key && x.dataKey == indexData);
|
|
187
|
+
this.rowExpandableDetail = this.rowExpandableDetail.filter(x => x.key != key && x.dataKey != indexData);
|
|
188
|
+
if (exist == null) {
|
|
189
|
+
var item = new DataKey();
|
|
190
|
+
item.key = key;
|
|
191
|
+
item.dataKey = indexData;
|
|
192
|
+
item.childTableTemplate = propertyChild;
|
|
193
|
+
// item.data = this.getNestedValue(item, propertyChild);
|
|
194
|
+
this.rowExpandableDetail.push(item);
|
|
195
|
+
console.log(this.rowExpandableDetail);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
getChildren(fila) {
|
|
199
|
+
return fila.hijos || [];
|
|
200
|
+
}
|
|
201
|
+
onResizeStart(index, event) {
|
|
202
|
+
this.resizingColumnIndex = index;
|
|
203
|
+
this.startX = event.pageX;
|
|
204
|
+
this.startWidth = this.columnWidths[index];
|
|
205
|
+
document.addEventListener('mousemove', this.onResizeMove);
|
|
206
|
+
document.addEventListener('mouseup', this.onResizeEnd);
|
|
207
|
+
}
|
|
208
|
+
existRowExpandableDetail(key, indexData) {
|
|
209
|
+
return this.rowExpandableDetail.filter(x => x.key == key && x.dataKey == indexData).length > 0;
|
|
210
|
+
}
|
|
211
|
+
viewRowExpandableDetail(indexData) {
|
|
212
|
+
return this.rowExpandableDetail.filter(x => x.dataKey == indexData).length > 0;
|
|
213
|
+
}
|
|
214
|
+
findRowExpandableDetail(indexData) {
|
|
215
|
+
var find = this.rowExpandableDetail.find(x => x.dataKey == indexData);
|
|
216
|
+
if (find)
|
|
217
|
+
return find.childTableTemplate;
|
|
218
|
+
else
|
|
219
|
+
return null;
|
|
86
220
|
}
|
|
87
221
|
}
|
|
88
|
-
LibeyNgTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgTableComponent, deps: [{ token:
|
|
89
|
-
LibeyNgTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LibeyNgTableComponent, selector: "libey-ng-table", ngImport: i0, template: "<div class=\"col-12 mb-5 table-scroll h-auto mh-600px\">\r\n <div class=\"div-header-sticky w-5125px mb-1\">\r\n <div class=\"d-flex\">\r\n <div *ngFor=\"let provider of providers\"\r\n [style.width]=\"provider.width\"\r\n [attr.appendTo]=\"provider.appendTo ? provider.appendTo : null\">\r\n <label>{{ provider.label }}</label>\r\n </div>\r\n </div>\r\n </div>\r\n <table class=\"table mb-0 p-0\">\r\n <thead class=\"div-table-header h-50px\">\r\n <tr style=\"vertical-align: middle;position: sticky !important;z-index: 10;top: 23px;\">\r\n <th *ngFor=\"let col of columns\" [style.width]=\"col.width\" class=\"table-header font-detalle3 py-0\">\r\n {{ col.text }}\r\n </th>\r\n </tr>\r\n </thead>\r\n <ng-container>\r\n <tbody>\r\n\r\n <ng-container *ngFor=\"let group of materialSupplier\">\r\n <tr style=\"border-bottom: 1px solid #EFEFEF !important;\">\r\n <td colspan=\"1\" class=\"table-body py-1 px-15\">\r\n <label class=\"align-middle\">{{ group.materialCode }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body py-1 px-15\">\r\n <label class=\"align-middle\">{{ group.materialDescription }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body competitionPricerow py-1 px-15\">\r\n <label class=\"align-middle\">{{ group.suggestedBillingProvider.businessName}}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body competitionPricerow py-1 px-15 text-end\">\r\n <label class=\"align-middle\">{{ group.suggestedBillingProvider.purchaseValue }}</label>\r\n </td>\r\n <ng-container *ngFor=\"let item of group.items.slice(0, 5)\">\r\n <td colspan=\"1\" class=\"table-body py-1 px-15\">\r\n <label class=\"align-middle\">{{ item.providerTaxIdentificationCode }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body py-1 px-15\">\r\n <label class=\"align-middle\">{{ item.businessName }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body py-1 px-15 text-end\">\r\n <label class=\"align-middle\">{{ item.purchaseValue }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body py-1 px-15\">\r\n <label class=\"align-middle\">{{ item.merchandiseMaterialDocumentCode }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body py-1\">\r\n <label class=\"align-middle\">{{ item.createdDateTime }}</label>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </ng-container>\r\n </table>\r\n</div>", styles: [""] });
|
|
222
|
+
LibeyNgTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
223
|
+
LibeyNgTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LibeyNgTableComponent, selector: "libey-ng-table", inputs: { data: "data", pageSize: "pageSize", totalSize: "totalSize", maxPageButtons: "maxPageButtons", height: "height", expandable: "expandable", viewPaginate: "viewPaginate", childTableTemplate: "childTableTemplate", headerfixed: "headerfixed", class: "class" }, outputs: { pageChange: "pageChange" }, queries: [{ propertyName: "columns", predicate: LibeyColumnDirective }], viewQueries: [{ propertyName: "tableContainer", first: true, predicate: ["tableContainer"], descendants: true }, { propertyName: "tableElement", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<div class=\"table-container\" #tableContainer [style.height]=\"height == null ? 'auto':(height + 'px')\">\r\n <!-- <table cdkDropList (cdkDropListDropped)=\"drop($event)\"> -->\r\n <table #table [ngClass]=\"class\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"expandable\" [ngClass]=\"headerfixed == true ? 'th-fixed':''\" style=\"width: 25px;\"></th>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <th [style.width]=\"columnWidths[i] == null ? 'auto':(columnWidths[i] + 'px')\" [ngClass]=\"headerfixed == true ? 'th-fixed':''\">\r\n {{ column.header }}\r\n <div class=\"resize-handle\" (mousedown)=\"onResizeStart(i, $event)\"></div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"paginatedData.length == 0\">\r\n <tr>\r\n <td [colSpan]=\"expandable ? (columns.length + 1) : (columns.length)\" class=\"text-center\">\r\n No existen datos disponibles\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"paginatedData.length != 0\">\r\n <ng-container *ngFor=\"let item of paginatedData; let a = index\">\r\n <tr>\r\n <td *ngIf=\"expandable\">\r\n <button (click)=\"toggleRow(a)\">\r\n <i [ngClass]=\"rowExpandable[a] ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </td>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <td [ngClass]=\"column.class\">\r\n <ng-container *ngIf=\"column.cellTemplate; else defaultCell\">\r\n <div style=\"display: flex; justify-content: space-between;\">\r\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: item }\"></ng-container>\r\n <button *ngIf=\"column.expandable\" (click)=\"toggleRowDetail(i, a, column.childTableTemplate)\">\r\n <i [ngClass]=\"existRowExpandableDetail(i, a) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultCell>\r\n <div style=\"display: flex; justify-content: space-between;\">\r\n {{ getCellValue(item, column) }}\r\n <button *ngIf=\"column.expandable\" (click)=\"toggleRowDetail(i, a, column.childTableTemplate)\">\r\n <i [ngClass]=\"existRowExpandableDetail(i, a) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n <tr *ngIf=\"viewRowExpandableDetail(a)\">\r\n <ng-container *ngTemplateOutlet=\"findRowExpandableDetail(a); context: { $implicit: item }\"></ng-container>\r\n </tr>\r\n <tr *ngIf=\"rowExpandable[a]\">\r\n <td [attr.colspan]=\"columns.length + (expandable ? 1 : 0)\">\r\n <ng-container [ngTemplateOutlet]=\"childTableTemplate\"\r\n [ngTemplateOutletContext]=\"{ parentRow: item }\">\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n</div>\r\n<div *ngIf=\"viewPaginate && paginatedData.length != 0\" class=\"pagination-controls\">\r\n <div class=\"d-align-center\">\r\n <label class=\"lbl-footer me-20px\"># Registros: {{this.totalSize}}</label>\r\n <label class=\"lbl-footer\"># Filas: {{this.pageSize}}</label>\r\n </div>\r\n <div>\r\n <button (click)=\"goToPage(1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-first-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(currentPage - 1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-previous-page\"></i>\r\n </button>\r\n <ng-container *ngFor=\"let page of pageRange()\">\r\n <button\r\n (click)=\"goToPage(page)\"\r\n [class.active]=\"currentPage === page\"\r\n [disabled]=\"currentPage === page\">\r\n {{ page }}\r\n </button>\r\n </ng-container>\r\n <button (click)=\"goToPage(currentPage + 1)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-next-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(totalPages)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-last-page\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.table-container{width:100%;overflow-x:auto}td,th{padding:5px 15px;text-align:left;position:relative;overflow:hidden}th{font-weight:500;color:#1087e8;border-top:1px solid #D6DEE5;background-color:#eef5fc;border-right:1px solid #fff}th:last-child{border-right:1px solid #D6DEE5}td{border:1px solid #D6DEE5;border-style:none solid solid none}th.sortable{cursor:pointer}.th-fixed{position:sticky!important;top:0!important;z-index:1!important}.th-fixed:after{content:\"\";position:absolute;left:0;bottom:0;width:100%}.table-actions{margin-bottom:10px;display:flex;justify-content:space-between}.table-pagination{margin-top:10px;display:flex;justify-content:space-between}.pagination-controls{border-radius:10px;justify-content:space-between;border:1px solid #D6DEE5;padding:5px 15px;display:flex;align-items:center;margin-top:10px;grid-gap:5px;gap:5px}button{font-size:14px;border:0px;padding:5px;cursor:pointer;background-color:transparent}button.active{font-weight:600;color:#224051}tr:first-child th:first-child{border-top-left-radius:10px;border-left:1px solid #D6DEE5}tr:first-child th:last-child{border-top-right-radius:10px;border-right:1px solid #D6DEE5}tr:last-child td:first-child{border-bottom-left-radius:10px}tr:last-child td:last-child{border-bottom-right-radius:10px}tr:first-child td{border-top-style:solid}tr td:first-child{border-left-style:solid}.d-align-center{display:flex!important;align-items:center!important}.lbl-footer{height:19px}.me-20px{margin-right:20px}.icon-first-page{background-repeat:no-repeat;display:block;width:12px;height:10px;background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0922 0.292893C10.4827 -0.0976311 11.1159 -0.0976311 11.5064 0.292893C11.8969 0.683417 11.8969 1.31658 11.5064 1.70711L8.21353 5L11.5064 8.29289C11.8969 8.68342 11.8969 9.31658 11.5064 9.70711C11.1159 10.0976 10.4827 10.0976 10.0922 9.70711L6.09221 5.70711C5.70169 5.31658 5.70169 4.68342 6.09221 4.29289L10.0922 0.292893ZM4.49211 0.292893C4.88264 -0.0976311 5.5158 -0.0976311 5.90633 0.292893C6.29685 0.683417 6.29685 1.31658 5.90633 1.70711L2.61343 5L5.90633 8.29289C6.29685 8.68342 6.29685 9.31658 5.90633 9.70711C5.5158 10.0976 4.88264 10.0976 4.49211 9.70711L0.492111 5.70711C0.101587 5.31658 0.101587 4.68342 0.492111 4.29289L4.49211 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\")}button:disabled .icon-first-page{background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.0922 0.292893C10.4827 -0.0976311 11.1159 -0.0976311 11.5064 0.292893C11.8969 0.683417 11.8969 1.31658 11.5064 1.70711L8.21353 5L11.5064 8.29289C11.8969 8.68342 11.8969 9.31658 11.5064 9.70711C11.1159 10.0976 10.4827 10.0976 10.0922 9.70711L6.09221 5.70711C5.70169 5.31658 5.70169 4.68342 6.09221 4.29289L10.0922 0.292893ZM4.49211 0.292893C4.88264 -0.0976311 5.5158 -0.0976311 5.90633 0.292893C6.29685 0.683417 6.29685 1.31658 5.90633 1.70711L2.61343 5L5.90633 8.29289C6.29685 8.68342 6.29685 9.31658 5.90633 9.70711C5.5158 10.0976 4.88264 10.0976 4.49211 9.70711L0.492111 5.70711C0.101587 5.31658 0.101587 4.68342 0.492111 4.29289L4.49211 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\")}.icon-previous-page{background-repeat:no-repeat;display:block;width:7px;height:10px;background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.90681 0.292893C6.29734 0.683417 6.29734 1.31658 5.90681 1.70711L2.61392 5L5.90681 8.29289C6.29734 8.68342 6.29734 9.31658 5.90681 9.70711C5.51629 10.0976 4.88312 10.0976 4.4926 9.70711L0.4926 5.70711C0.102076 5.31658 0.102076 4.68342 0.4926 4.29289L4.4926 0.292893C4.88312 -0.0976311 5.51629 -0.0976311 5.90681 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\")}button:disabled .icon-previous-page{background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.90681 0.292893C6.29734 0.683417 6.29734 1.31658 5.90681 1.70711L2.61392 5L5.90681 8.29289C6.29734 8.68342 6.29734 9.31658 5.90681 9.70711C5.51629 10.0976 4.88312 10.0976 4.4926 9.70711L0.4926 5.70711C0.102076 5.31658 0.102076 4.68342 0.4926 4.29289L4.4926 0.292893C4.88312 -0.0976311 5.51629 -0.0976311 5.90681 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\")}.icon-next-page{background-repeat:no-repeat;display:block;width:7px;height:10px;background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.4926 0.292893C0.102076 0.683417 0.102076 1.31658 0.4926 1.70711L3.78549 5L0.4926 8.29289C0.102076 8.68342 0.102076 9.31658 0.4926 9.70711C0.883124 10.0976 1.51629 10.0976 1.90681 9.70711L5.90681 5.70711C6.29734 5.31658 6.29734 4.68342 5.90681 4.29289L1.90681 0.292893C1.51629 -0.0976311 0.883124 -0.0976311 0.4926 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\")}button:disabled .icon-next-page{background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.4926 0.292893C0.102076 0.683417 0.102076 1.31658 0.4926 1.70711L3.78549 5L0.4926 8.29289C0.102076 8.68342 0.102076 9.31658 0.4926 9.70711C0.883124 10.0976 1.51629 10.0976 1.90681 9.70711L5.90681 5.70711C6.29734 5.31658 6.29734 4.68342 5.90681 4.29289L1.90681 0.292893C1.51629 -0.0976311 0.883124 -0.0976311 0.4926 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\")}.icon-last-page{background-repeat:no-repeat;display:block;width:12px;height:10px;background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.10701 0.292893C1.71648 -0.0976311 1.08332 -0.0976311 0.692796 0.292893C0.302271 0.683417 0.302271 1.31658 0.692796 1.70711L3.98569 5L0.692796 8.29289C0.302271 8.68342 0.302271 9.31658 0.692796 9.70711C1.08332 10.0976 1.71648 10.0976 2.10701 9.70711L6.10701 5.70711C6.49753 5.31658 6.49753 4.68342 6.10701 4.29289L2.10701 0.292893ZM7.70711 0.292893C7.31658 -0.0976311 6.68342 -0.0976311 6.29289 0.292893C5.90237 0.683417 5.90237 1.31658 6.29289 1.70711L9.58579 5L6.29289 8.29289C5.90237 8.68342 5.90237 9.31658 6.29289 9.70711C6.68342 10.0976 7.31658 10.0976 7.70711 9.70711L11.7071 5.70711C12.0976 5.31658 12.0976 4.68342 11.7071 4.29289L7.70711 0.292893Z' fill='%2338E8C6'/%3E%3C/svg%3E%0A\")}button:disabled .icon-last-page{background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.10701 0.292893C1.71648 -0.0976311 1.08332 -0.0976311 0.692796 0.292893C0.302271 0.683417 0.302271 1.31658 0.692796 1.70711L3.98569 5L0.692796 8.29289C0.302271 8.68342 0.302271 9.31658 0.692796 9.70711C1.08332 10.0976 1.71648 10.0976 2.10701 9.70711L6.10701 5.70711C6.49753 5.31658 6.49753 4.68342 6.10701 4.29289L2.10701 0.292893ZM7.70711 0.292893C7.31658 -0.0976311 6.68342 -0.0976311 6.29289 0.292893C5.90237 0.683417 5.90237 1.31658 6.29289 1.70711L9.58579 5L6.29289 8.29289C5.90237 8.68342 5.90237 9.31658 6.29289 9.70711C6.68342 10.0976 7.31658 10.0976 7.70711 9.70711L11.7071 5.70711C12.0976 5.31658 12.0976 4.68342 11.7071 4.29289L7.70711 0.292893Z' fill='%23D0D0D0'/%3E%3C/svg%3E%0A\")}.resize-handle{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;background-color:transparent}::-webkit-scrollbar{width:.7rem;height:.7rem}::-webkit-scrollbar-thumb{background-color:#d9d9d9!important;border-radius:20px!important;border:3px solid #d9d9d9!important}.icon-arrow-up{background-repeat:no-repeat;display:block;width:12px;height:8px;background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 19 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.347794 9.61517C0.825615 10.1134 1.6169 10.13 2.11517 9.65221L9.07106 2.98186L16.0269 9.65221C16.5252 10.13 17.3165 10.1134 17.7943 9.61517C18.2721 9.11689 18.2556 8.32561 17.7573 7.84779L9.93623 0.347793C9.45266 -0.115931 8.68946 -0.115931 8.20589 0.347793L0.38483 7.84779C-0.113445 8.32561 -0.130027 9.11689 0.347794 9.61517Z' fill='%23224051'/%3E%3C/svg%3E%0A\")}.icon-arrow-down{background-repeat:no-repeat;display:block;width:12px;height:8px;background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 18 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.6234 0.387653C17.1213 -0.129218 16.3073 -0.129218 15.8051 0.387653L9 7.39295L2.19485 0.387652C1.69275 -0.129219 0.878679 -0.129219 0.376577 0.387651C-0.125527 0.904522 -0.125527 1.74253 0.376577 2.25941L8.09086 10.2006C8.59296 10.7175 9.40703 10.7175 9.90914 10.2006L17.6234 2.25941C18.1255 1.74254 18.1255 0.904523 17.6234 0.387653Z' fill='%23224051'/%3E%3C/svg%3E%0A\")}.text-center{text-align:center!important}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
90
224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgTableComponent, decorators: [{
|
|
91
225
|
type: Component,
|
|
92
226
|
args: [{
|
|
93
227
|
selector: 'libey-ng-table',
|
|
94
228
|
templateUrl: './libey-ng-table.component.html',
|
|
95
|
-
styleUrls: ['./libey-ng-table.component.css']
|
|
229
|
+
styleUrls: ['./libey-ng-table.component.css'],
|
|
230
|
+
encapsulation: ViewEncapsulation.None
|
|
96
231
|
}]
|
|
97
|
-
}], ctorParameters: function () { return [{ type:
|
|
232
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
233
|
+
type: Input
|
|
234
|
+
}], pageSize: [{
|
|
235
|
+
type: Input
|
|
236
|
+
}], totalSize: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], maxPageButtons: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], height: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], expandable: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], viewPaginate: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], childTableTemplate: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], headerfixed: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}], class: [{
|
|
251
|
+
type: Input
|
|
252
|
+
}], pageChange: [{
|
|
253
|
+
type: Output
|
|
254
|
+
}], columns: [{
|
|
255
|
+
type: ContentChildren,
|
|
256
|
+
args: [LibeyColumnDirective]
|
|
257
|
+
}], tableContainer: [{
|
|
258
|
+
type: ViewChild,
|
|
259
|
+
args: ['tableContainer']
|
|
260
|
+
}], tableElement: [{
|
|
261
|
+
type: ViewChild,
|
|
262
|
+
args: ['table']
|
|
263
|
+
}] } });
|
|
264
|
+
|
|
265
|
+
// table.module.ts
|
|
266
|
+
class LibeyNgTableModule {
|
|
267
|
+
}
|
|
268
|
+
LibeyNgTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
269
|
+
LibeyNgTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgTableModule, declarations: [LibeyNgTableComponent, LibeyColumnDirective], imports: [CommonModule, FormsModule], exports: [LibeyNgTableComponent, LibeyColumnDirective] });
|
|
270
|
+
LibeyNgTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgTableModule, imports: [[CommonModule, FormsModule]] });
|
|
271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgTableModule, decorators: [{
|
|
272
|
+
type: NgModule,
|
|
273
|
+
args: [{
|
|
274
|
+
declarations: [LibeyNgTableComponent, LibeyColumnDirective],
|
|
275
|
+
imports: [CommonModule, FormsModule],
|
|
276
|
+
exports: [LibeyNgTableComponent, LibeyColumnDirective]
|
|
277
|
+
}]
|
|
278
|
+
}] });
|
|
98
279
|
|
|
99
280
|
class LibeyNgComponentLibraryModule {
|
|
100
281
|
}
|
|
101
282
|
LibeyNgComponentLibraryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
102
|
-
LibeyNgComponentLibraryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
LibeyNgComponentLibraryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, providers: [DatePipe], imports: [[
|
|
283
|
+
LibeyNgComponentLibraryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, imports: [CommonModule,
|
|
284
|
+
FormsModule,
|
|
285
|
+
LibeyNgTableModule], exports: [LibeyNgTableModule] });
|
|
286
|
+
LibeyNgComponentLibraryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, providers: [DatePipe], imports: [[
|
|
287
|
+
CommonModule,
|
|
288
|
+
FormsModule,
|
|
289
|
+
LibeyNgTableModule
|
|
290
|
+
], LibeyNgTableModule] });
|
|
106
291
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibeyNgComponentLibraryModule, decorators: [{
|
|
107
292
|
type: NgModule,
|
|
108
293
|
args: [{
|
|
109
|
-
declarations: [
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
exports: [
|
|
115
|
-
LibeyNgComponentLibraryComponent,
|
|
116
|
-
LibeyNgTableComponent
|
|
294
|
+
declarations: [],
|
|
295
|
+
imports: [
|
|
296
|
+
CommonModule,
|
|
297
|
+
FormsModule,
|
|
298
|
+
LibeyNgTableModule
|
|
117
299
|
],
|
|
300
|
+
exports: [LibeyNgTableModule],
|
|
118
301
|
providers: [DatePipe]
|
|
119
302
|
}]
|
|
120
303
|
}] });
|
|
@@ -127,5 +310,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
127
310
|
* Generated bundle index. Do not edit.
|
|
128
311
|
*/
|
|
129
312
|
|
|
130
|
-
export { LibeyNgComponentLibraryComponent, LibeyNgComponentLibraryModule, LibeyNgComponentLibraryService, LibeyNgTableComponent };
|
|
313
|
+
export { LibeyColumnDirective, LibeyNgComponentLibraryComponent, LibeyNgComponentLibraryModule, LibeyNgComponentLibraryService, LibeyNgTableComponent, LibeyNgTableModule };
|
|
131
314
|
//# sourceMappingURL=libey-ng-component-library.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libey-ng-component-library.js","sources":["../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.service.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.component.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.html","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.module.ts","../../../projects/libey-ng-component-library/src/public-api.ts","../../../projects/libey-ng-component-library/src/libey-ng-component-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LibeyNgComponentLibraryService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-libey-ngComponent-library',\n template: `\n <p>\n libey-ng-component-library works!\n </p>\n `,\n styles: [\n ]\n})\nexport class LibeyNgComponentLibraryComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\n@Component({\r\n selector: 'libey-ng-table',\r\n templateUrl: './libey-ng-table.component.html',\r\n styleUrls: ['./libey-ng-table.component.css']\r\n})\r\nexport class LibeyNgTableComponent implements OnInit {\r\n \r\n constructor(private datepipe: DatePipe) { }\r\n\r\n providers = [\r\n { width: \"1150px\", class: \"bg-white\", label: \"\", appendTo: \"container\" },\r\n { width: \"793px\", class: \"div-cabecera-tariff\", label: \"PROVEEDOR FACTURADOR N° 1\" },\r\n { width: \"792px\", class: \"div-cabecera-patient\", label: \"PROVEEDOR FACTURADOR N° 2\" },\r\n { width: \"792px\", class: \"div-cabecera-insurance\", label: \"PROVEEDOR FACTURADOR N° 3\" },\r\n { width: \"792px\", class: \"div-header-text bg-purple\", label: \"PROVEEDOR FACTURADOR N° 4\" },\r\n { width: \"793px\", class: \"div-administrative-data me-0\", label: \"PROVEEDOR FACTURADOR N° 5\" }\r\n ];\r\n\r\n columns = [\r\n { width: \"135px\", text: \"Cód. producto\", class: \"color-sky-blue\" },\r\n { width: \"500px\", text: \"Descrip. producto\", class: \"color-sky-blue\" },\r\n { width: \"385px\", text: \"Proveedor facturador sugerido\", class: \"competitionPrice\" },\r\n { width: \"130px\", text: \"Último valor de compra S/IGV sugerido\", class: \"competitionPrice\" },\r\n\r\n { width: \"135px\", text: \"RUC\", class: \"color-sky-blue\" },\r\n { width: \"260px\", text: \"Razón Social\", class: \"color-sky-blue\" },\r\n { width: \"120px\", text: \"Último valor de compra S/IGV\", class: \"color-sky-blue\" },\r\n { width: \"115px\", text: \"Cód. EM\", class: \"color-sky-blue\" },\r\n { width: \"165px\", text: \"Fecha y hora ingreso EM\", class: \"color-sky-blue\" },\r\n\r\n { width: \"135px\", text: \"RUC\", class: \"color-sky-blue\" },\r\n { width: \"260px\", text: \"Razón Social\", class: \"color-sky-blue\" },\r\n { width: \"120px\", text: \"Último valor de compra S/IGV\", class: \"color-sky-blue\" },\r\n { width: \"115px\", text: \"Cód. EM\", class: \"color-sky-blue\" },\r\n { width: \"165px\", text: \"Fecha y hora ingreso EM\", class: \"color-sky-blue\" },\r\n\r\n { width: \"135px\", text: \"RUC\", class: \"color-sky-blue\" },\r\n { width: \"260px\", text: \"Razón Social\", class: \"color-sky-blue\" },\r\n { width: \"120px\", text: \"Último valor de compra S/IGV\", class: \"color-sky-blue\" },\r\n { width: \"115px\", text: \"Cód. EM\", class: \"color-sky-blue\" },\r\n { width: \"165px\", text: \"Fecha y hora ingreso EM\", class: \"color-sky-blue\" },\r\n\r\n { width: \"135px\", text: \"RUC\", class: \"color-sky-blue\" },\r\n { width: \"260px\", text: \"Razón Social\", class: \"color-sky-blue\" },\r\n { width: \"120px\", text: \"Último valor de compra S/IGV\", class: \"color-sky-blue\" },\r\n { width: \"115px\", text: \"Cód. EM\", class: \"color-sky-blue\" },\r\n { width: \"165px\", text: \"Fecha y hora ingreso EM\", class: \"color-sky-blue\" },\r\n\r\n { width: \"135px\", text: \"RUC\", class: \"color-sky-blue\" },\r\n { width: \"260px\", text: \"Razón Social\", class: \"color-sky-blue\" },\r\n { width: \"120px\", text: \"Último valor de compra S/IGV\", class: \"color-sky-blue\" },\r\n { width: \"115px\", text: \"Cód. EM\", class: \"color-sky-blue\" },\r\n { width: \"165px\", text: \"Fecha y hora ingreso EM\", class: \"color-sky-blue\" }\r\n ];\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"col-12 mb-5 table-scroll h-auto mh-600px\">\r\n <div class=\"div-header-sticky w-5125px mb-1\">\r\n <div class=\"d-flex\">\r\n <div *ngFor=\"let provider of providers\"\r\n [style.width]=\"provider.width\"\r\n [attr.appendTo]=\"provider.appendTo ? provider.appendTo : null\">\r\n <label>{{ provider.label }}</label>\r\n </div>\r\n </div>\r\n </div>\r\n <table class=\"table mb-0 p-0\">\r\n <thead class=\"div-table-header h-50px\">\r\n <tr style=\"vertical-align: middle;position: sticky !important;z-index: 10;top: 23px;\">\r\n <th *ngFor=\"let col of columns\" [style.width]=\"col.width\" class=\"table-header font-detalle3 py-0\">\r\n {{ col.text }}\r\n </th>\r\n </tr>\r\n </thead>\r\n <ng-container>\r\n <tbody>\r\n\r\n <ng-container *ngFor=\"let group of materialSupplier\">\r\n <tr style=\"border-bottom: 1px solid #EFEFEF !important;\">\r\n <td colspan=\"1\" class=\"table-body py-1 px-15\">\r\n <label class=\"align-middle\">{{ group.materialCode }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body py-1 px-15\">\r\n <label class=\"align-middle\">{{ group.materialDescription }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body competitionPricerow py-1 px-15\">\r\n <label class=\"align-middle\">{{ group.suggestedBillingProvider.businessName}}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body competitionPricerow py-1 px-15 text-end\">\r\n <label class=\"align-middle\">{{ group.suggestedBillingProvider.purchaseValue }}</label>\r\n </td>\r\n <ng-container *ngFor=\"let item of group.items.slice(0, 5)\">\r\n <td colspan=\"1\" class=\"table-body py-1 px-15\">\r\n <label class=\"align-middle\">{{ item.providerTaxIdentificationCode }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body py-1 px-15\">\r\n <label class=\"align-middle\">{{ item.businessName }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body py-1 px-15 text-end\">\r\n <label class=\"align-middle\">{{ item.purchaseValue }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body py-1 px-15\">\r\n <label class=\"align-middle\">{{ item.merchandiseMaterialDocumentCode }}</label>\r\n </td>\r\n <td colspan=\"1\" class=\"table-body py-1\">\r\n <label class=\"align-middle\">{{ item.createdDateTime }}</label>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </ng-container>\r\n </table>\r\n</div>","import { NgModule } from '@angular/core';\nimport { LibeyNgComponentLibraryComponent } from './libey-ng-component-library.component';\nimport { LibeyNgTableComponent } from './table/libey-ng-table.component';\nimport { CommonModule, DatePipe } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [\n LibeyNgComponentLibraryComponent,\n LibeyNgTableComponent,\n ],\n imports: [\n ],\n exports: [\n LibeyNgComponentLibraryComponent,\n LibeyNgTableComponent\n ],\n providers: [DatePipe]\n})\nexport class LibeyNgComponentLibraryModule { }\n","/*\n * Public API Surface of libey-ng-component-library\n */\n\nexport * from './lib/libey-ng-component-library.service';\nexport * from './lib/libey-ng-component-library.component';\nexport * from './lib/libey-ng-component-library.module';\nexport * from './lib/table/libey-ng-table.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libey-ng-component-library.js","sources":["../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.service.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.component.ts","../../../projects/libey-ng-component-library/src/lib/table/directives/libey-column.directive.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.html","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.module.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.module.ts","../../../projects/libey-ng-component-library/src/public-api.ts","../../../projects/libey-ng-component-library/src/libey-ng-component-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LibeyNgComponentLibraryService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-libey-ngComponent-library',\n template: `\n <p>\n libey-ng-component-library works!\n </p>\n `,\n styles: [\n ]\n})\nexport class LibeyNgComponentLibraryComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'libey-ng-column'\r\n})\r\nexport class LibeyColumnDirective {\r\n @Input() header!: string;\r\n @Input() property!: string;\r\n @Input() width!: number;\r\n @Input() arrayMap?: string;\r\n @Input() isArray?: boolean;\r\n @Input() expandable?: boolean;\r\n @Input() class?: string;\r\n @Input() childTableTemplate: TemplateRef<any>;\r\n @ContentChild(TemplateRef) cellTemplate!: TemplateRef<any>;\r\n}","import { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, OnInit, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { LibeyColumnDirective } from './directives/libey-column.directive';\r\ninterface IDataKey {\r\n key: number;\r\n dataKey: number;\r\n childTableTemplate: TemplateRef<any>;\r\n data: any[]\r\n}\r\n\r\nclass DataKey implements IDataKey {\r\n key: number;\r\n dataKey: number;\r\n childTableTemplate: TemplateRef<any>;\r\n data: any[]\r\n}\r\n\r\n@Component({\r\n selector: 'libey-ng-table',\r\n templateUrl: './libey-ng-table.component.html',\r\n styleUrls: ['./libey-ng-table.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class LibeyNgTableComponent implements OnInit, AfterViewInit {\r\n @Input() set data(value: any[]) {\r\n this._data = value;\r\n }\r\n get data(): any[] {\r\n return this._data;\r\n }\r\n @Input() pageSize: number = 10;\r\n @Input() totalSize: number = 0;\r\n @Input() maxPageButtons: number = 5;\r\n @Input() height: number;\r\n @Input() expandable: boolean = false;\r\n @Input() viewPaginate: boolean = true;\r\n @Input() childTableTemplate!: TemplateRef<any>;\r\n @Input() headerfixed: boolean = false;\r\n @Input() class: string;\r\n @Output() pageChange = new EventEmitter<number>();\r\n \r\n @ContentChildren(LibeyColumnDirective) columns!: QueryList<LibeyColumnDirective>;\r\n\r\n rowExpandable: boolean[] = [];\r\n rowExpandableDetail: IDataKey[] = [];\r\n currentPage: number = 1;\r\n paginatedData: any[] = [];\r\n private _data: any[] = [];\r\n columnWidths: number[] = [];\r\n resizingColumnIndex: number | null = null;\r\n startX: number = 0;\r\n startWidth: number = 0;\r\n @ViewChild('tableContainer') tableContainer!: ElementRef;\r\n @ViewChild('table') tableElement!: ElementRef;\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n ngOnInit(): void {\r\n this.updatePaginatedData();\r\n }\r\n ngAfterViewInit() {\r\n this.initializeColumnWidths();\r\n this.adjustTableWidth()\r\n this.cdr.detectChanges();\r\n }\r\n\r\n initializeColumnWidths() {\r\n var padding = 31\r\n var widthDefault = 150\r\n this.columnWidths = this.columns.map(column => column.width);\r\n const containerWidth = this.tableContainer.nativeElement.offsetWidth;\r\n const autoColumns = this.columns.filter(column => column.width == null);\r\n const totalFixedWidth = this.columns.reduce((sum, column) =>\r\n column.width != null ? (sum + this.getWidthValue(column.width)) : sum, 0);\r\n const remainingWidth = containerWidth - (totalFixedWidth + (((this.columns.length - autoColumns.length) * padding)+ (this.expandable ? 61 : 0)));\r\n\r\n if (autoColumns.length > 0) {\r\n var autoColumnWidth = 0;\r\n if(remainingWidth < widthDefault)\r\n autoColumnWidth = widthDefault;\r\n else\r\n autoColumnWidth = Math.max(0, remainingWidth / autoColumns.length);\r\n autoColumns.forEach(column => column.width = autoColumnWidth- padding);\r\n }\r\n this.columnWidths = this.columns.map(column => column.width);\r\n }\r\n adjustTableWidth() {\r\n const totalWidth = this.columns.reduce((sum, column) => sum + this.getWidthValue(column.width), 0);\r\n this.tableElement.nativeElement.style.width = `${totalWidth}px`;\r\n }\r\n getWidthValue(width: number): number {\r\n return width === null ? 100 : width;\r\n }\r\n\r\n get totalPages(): number {\r\n return Math.ceil(this.totalSize / this.pageSize);\r\n }\r\n\r\n getCellValue(item: any, column: LibeyColumnDirective): string {\r\n const value = this.getNestedValue(item, column.property);\r\n if (Array.isArray(value) && column.arrayMap) {\r\n return value.map(v => this.getNestedValue(v, column.arrayMap!)).join(', ');\r\n }\r\n return value;\r\n }\r\n\r\n private getNestedValue(obj: any, path: string): any {\r\n return path.split('.').reduce((o, key) => {\r\n if (o && typeof o === 'object' && key in o) {\r\n return o[key];\r\n }\r\n return undefined;\r\n }, obj);\r\n }\r\n\r\n private updatePaginatedData(): void {\r\n console.log(this.pageSize);\r\n const start = (this.currentPage - 1) * this.pageSize;\r\n const end = start + this.pageSize;\r\n this.paginatedData = this.data.slice(start, end);\r\n }\r\n pageRange(): number[] {\r\n const start = Math.max(1, this.currentPage - Math.floor(this.maxPageButtons / 2));\r\n const end = Math.min(this.totalPages, start + this.maxPageButtons - 1);\r\n return Array.from({length: end - start + 1}, (_, i) => start + i);\r\n }\r\n goToPage(page: number): void {\r\n this.currentPage = Math.max(1, Math.min(page, this.totalPages));\r\n this.updatePaginatedData();\r\n this.pageChange.emit(this.currentPage);\r\n }\r\n // hasChildren(row: any): boolean{\r\n // return Array.isArray(row.child) && row.child.length > 0;\r\n // }\r\n toggleRow(index: number){\r\n this.rowExpandable[index] = !this.rowExpandable[index];\r\n }\r\n toggleRowDetail(key: number, indexData: number, propertyChild: TemplateRef<any>){\r\n var exist = this.rowExpandableDetail.find(x => x.key == key && x.dataKey == indexData);\r\n this.rowExpandableDetail = this.rowExpandableDetail.filter(x => x.key != key && x.dataKey != indexData);\r\n if(exist == null){\r\n var item = new DataKey();\r\n item.key = key;\r\n item.dataKey = indexData;\r\n item.childTableTemplate = propertyChild;\r\n // item.data = this.getNestedValue(item, propertyChild);\r\n this.rowExpandableDetail.push(item);\r\n console.log(this.rowExpandableDetail);\r\n }\r\n }\r\n getChildren(fila: any): any[] {\r\n return fila.hijos || [];\r\n }\r\n onResizeStart(index: number, event: MouseEvent) {\r\n this.resizingColumnIndex = index;\r\n this.startX = event.pageX;\r\n this.startWidth = this.columnWidths[index];\r\n document.addEventListener('mousemove', this.onResizeMove);\r\n document.addEventListener('mouseup', this.onResizeEnd);\r\n }\r\n onResizeMove = (event: MouseEvent) => {\r\n if (this.resizingColumnIndex !== null) {\r\n const diff = event.pageX - this.startX;\r\n this.columnWidths[this.resizingColumnIndex] = Math.max(this.startWidth + diff, 50);\r\n\r\n }\r\n }\r\n onResizeEnd = () => {\r\n this.resizingColumnIndex = null;\r\n document.removeEventListener('mousemove', this.onResizeMove);\r\n document.removeEventListener('mouseup', this.onResizeEnd);\r\n }\r\n existRowExpandableDetail(key: number, indexData: number) : boolean{\r\n return this.rowExpandableDetail.filter(x => x.key == key && x.dataKey == indexData).length > 0;\r\n }\r\n viewRowExpandableDetail(indexData: number) :boolean{\r\n return this.rowExpandableDetail.filter(x => x.dataKey == indexData).length > 0;\r\n }\r\n findRowExpandableDetail(indexData: number) :TemplateRef<any>{\r\n var find = this.rowExpandableDetail.find(x => x.dataKey == indexData);\r\n if(find)\r\n return find.childTableTemplate; \r\n else\r\n return null;\r\n }\r\n}\r\n","<div class=\"table-container\" #tableContainer [style.height]=\"height == null ? 'auto':(height + 'px')\">\r\n <!-- <table cdkDropList (cdkDropListDropped)=\"drop($event)\"> -->\r\n <table #table [ngClass]=\"class\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"expandable\" [ngClass]=\"headerfixed == true ? 'th-fixed':''\" style=\"width: 25px;\"></th>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <th [style.width]=\"columnWidths[i] == null ? 'auto':(columnWidths[i] + 'px')\" [ngClass]=\"headerfixed == true ? 'th-fixed':''\">\r\n {{ column.header }}\r\n <div class=\"resize-handle\" (mousedown)=\"onResizeStart(i, $event)\"></div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"paginatedData.length == 0\">\r\n <tr>\r\n <td [colSpan]=\"expandable ? (columns.length + 1) : (columns.length)\" class=\"text-center\">\r\n No existen datos disponibles\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"paginatedData.length != 0\">\r\n <ng-container *ngFor=\"let item of paginatedData; let a = index\">\r\n <tr>\r\n <td *ngIf=\"expandable\">\r\n <button (click)=\"toggleRow(a)\">\r\n <i [ngClass]=\"rowExpandable[a] ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </td>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <td [ngClass]=\"column.class\">\r\n <ng-container *ngIf=\"column.cellTemplate; else defaultCell\">\r\n <div style=\"display: flex; justify-content: space-between;\">\r\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: item }\"></ng-container>\r\n <button *ngIf=\"column.expandable\" (click)=\"toggleRowDetail(i, a, column.childTableTemplate)\">\r\n <i [ngClass]=\"existRowExpandableDetail(i, a) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultCell>\r\n <div style=\"display: flex; justify-content: space-between;\">\r\n {{ getCellValue(item, column) }}\r\n <button *ngIf=\"column.expandable\" (click)=\"toggleRowDetail(i, a, column.childTableTemplate)\">\r\n <i [ngClass]=\"existRowExpandableDetail(i, a) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n <tr *ngIf=\"viewRowExpandableDetail(a)\">\r\n <ng-container *ngTemplateOutlet=\"findRowExpandableDetail(a); context: { $implicit: item }\"></ng-container>\r\n </tr>\r\n <tr *ngIf=\"rowExpandable[a]\">\r\n <td [attr.colspan]=\"columns.length + (expandable ? 1 : 0)\">\r\n <ng-container [ngTemplateOutlet]=\"childTableTemplate\"\r\n [ngTemplateOutletContext]=\"{ parentRow: item }\">\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n</div>\r\n<div *ngIf=\"viewPaginate && paginatedData.length != 0\" class=\"pagination-controls\">\r\n <div class=\"d-align-center\">\r\n <label class=\"lbl-footer me-20px\"># Registros: {{this.totalSize}}</label>\r\n <label class=\"lbl-footer\"># Filas: {{this.pageSize}}</label>\r\n </div>\r\n <div>\r\n <button (click)=\"goToPage(1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-first-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(currentPage - 1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-previous-page\"></i>\r\n </button>\r\n <ng-container *ngFor=\"let page of pageRange()\">\r\n <button\r\n (click)=\"goToPage(page)\"\r\n [class.active]=\"currentPage === page\"\r\n [disabled]=\"currentPage === page\">\r\n {{ page }}\r\n </button>\r\n </ng-container>\r\n <button (click)=\"goToPage(currentPage + 1)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-next-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(totalPages)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-last-page\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n","// table.module.ts\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LibeyColumnDirective } from './directives/libey-column.directive';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LibeyNgTableComponent } from './libey-ng-table.component';\r\n\r\n@NgModule({\r\n declarations: [LibeyNgTableComponent, LibeyColumnDirective],\r\n imports: [CommonModule,FormsModule],\r\n exports: [LibeyNgTableComponent, LibeyColumnDirective]\r\n})\r\nexport class LibeyNgTableModule { }","import { NgModule } from '@angular/core';\nimport { LibeyNgComponentLibraryComponent } from './libey-ng-component-library.component';\nimport { LibeyNgTableComponent } from './table/libey-ng-table.component';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { LibeyNgTableModule } from './table/libey-ng-table.module';\n\n\n\n@NgModule({\n declarations: [\n ],\n imports: [\n CommonModule,\n FormsModule,\n LibeyNgTableModule\n ],\n exports: [LibeyNgTableModule],\n providers: [DatePipe]\n})\nexport class LibeyNgComponentLibraryModule { }\n","/*\n * Public API Surface of libey-ng-component-library\n */\n\nexport * from './lib/libey-ng-component-library.service';\nexport * from './lib/libey-ng-component-library.component';\nexport * from './lib/libey-ng-component-library.module';\nexport * from './lib/table/libey-ng-table.module';\nexport * from './lib/table/libey-ng-table.component';\nexport * from './lib/table/directives/libey-column.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "
|
|
3
|
-
import * as i2 from "
|
|
2
|
+
import * as i1 from "@angular/common";
|
|
3
|
+
import * as i2 from "@angular/forms";
|
|
4
|
+
import * as i3 from "./table/libey-ng-table.module";
|
|
4
5
|
export declare class LibeyNgComponentLibraryModule {
|
|
5
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<LibeyNgComponentLibraryModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<LibeyNgComponentLibraryModule, [typeof i1.
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<LibeyNgComponentLibraryModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i3.LibeyNgTableModule], [typeof i3.LibeyNgTableModule]>;
|
|
7
8
|
static ɵinj: i0.ɵɵInjectorDeclaration<LibeyNgComponentLibraryModule>;
|
|
8
9
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class LibeyColumnDirective {
|
|
4
|
+
header: string;
|
|
5
|
+
property: string;
|
|
6
|
+
width: number;
|
|
7
|
+
arrayMap?: string;
|
|
8
|
+
isArray?: boolean;
|
|
9
|
+
expandable?: boolean;
|
|
10
|
+
class?: string;
|
|
11
|
+
childTableTemplate: TemplateRef<any>;
|
|
12
|
+
cellTemplate: TemplateRef<any>;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibeyColumnDirective, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<LibeyColumnDirective, "libey-ng-column", never, { "header": "header"; "property": "property"; "width": "width"; "arrayMap": "arrayMap"; "isArray": "isArray"; "expandable": "expandable"; "class": "class"; "childTableTemplate": "childTableTemplate"; }, {}, ["cellTemplate"]>;
|
|
15
|
+
}
|
|
@@ -1,26 +1,60 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnInit, QueryList, TemplateRef } from '@angular/core';
|
|
2
|
+
import { LibeyColumnDirective } from './directives/libey-column.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
4
|
+
interface IDataKey {
|
|
5
|
+
key: number;
|
|
6
|
+
dataKey: number;
|
|
7
|
+
childTableTemplate: TemplateRef<any>;
|
|
8
|
+
data: any[];
|
|
9
|
+
}
|
|
10
|
+
export declare class LibeyNgTableComponent implements OnInit, AfterViewInit {
|
|
11
|
+
private cdr;
|
|
12
|
+
set data(value: any[]);
|
|
13
|
+
get data(): any[];
|
|
14
|
+
pageSize: number;
|
|
15
|
+
totalSize: number;
|
|
16
|
+
maxPageButtons: number;
|
|
17
|
+
height: number;
|
|
18
|
+
expandable: boolean;
|
|
19
|
+
viewPaginate: boolean;
|
|
20
|
+
childTableTemplate: TemplateRef<any>;
|
|
21
|
+
headerfixed: boolean;
|
|
22
|
+
class: string;
|
|
23
|
+
pageChange: EventEmitter<number>;
|
|
24
|
+
columns: QueryList<LibeyColumnDirective>;
|
|
25
|
+
rowExpandable: boolean[];
|
|
26
|
+
rowExpandableDetail: IDataKey[];
|
|
27
|
+
currentPage: number;
|
|
28
|
+
paginatedData: any[];
|
|
29
|
+
private _data;
|
|
30
|
+
columnWidths: number[];
|
|
31
|
+
resizingColumnIndex: number | null;
|
|
32
|
+
startX: number;
|
|
33
|
+
startWidth: number;
|
|
34
|
+
tableContainer: ElementRef;
|
|
35
|
+
tableElement: ElementRef;
|
|
36
|
+
constructor(cdr: ChangeDetectorRef);
|
|
23
37
|
ngOnInit(): void;
|
|
38
|
+
ngAfterViewInit(): void;
|
|
39
|
+
initializeColumnWidths(): void;
|
|
40
|
+
adjustTableWidth(): void;
|
|
41
|
+
getWidthValue(width: number): number;
|
|
42
|
+
get totalPages(): number;
|
|
43
|
+
getCellValue(item: any, column: LibeyColumnDirective): string;
|
|
44
|
+
private getNestedValue;
|
|
45
|
+
private updatePaginatedData;
|
|
46
|
+
pageRange(): number[];
|
|
47
|
+
goToPage(page: number): void;
|
|
48
|
+
toggleRow(index: number): void;
|
|
49
|
+
toggleRowDetail(key: number, indexData: number, propertyChild: TemplateRef<any>): void;
|
|
50
|
+
getChildren(fila: any): any[];
|
|
51
|
+
onResizeStart(index: number, event: MouseEvent): void;
|
|
52
|
+
onResizeMove: (event: MouseEvent) => void;
|
|
53
|
+
onResizeEnd: () => void;
|
|
54
|
+
existRowExpandableDetail(key: number, indexData: number): boolean;
|
|
55
|
+
viewRowExpandableDetail(indexData: number): boolean;
|
|
56
|
+
findRowExpandableDetail(indexData: number): TemplateRef<any>;
|
|
24
57
|
static ɵfac: i0.ɵɵFactoryDeclaration<LibeyNgTableComponent, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LibeyNgTableComponent, "libey-ng-table", never, {}, {},
|
|
58
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibeyNgTableComponent, "libey-ng-table", never, { "data": "data"; "pageSize": "pageSize"; "totalSize": "totalSize"; "maxPageButtons": "maxPageButtons"; "height": "height"; "expandable": "expandable"; "viewPaginate": "viewPaginate"; "childTableTemplate": "childTableTemplate"; "headerfixed": "headerfixed"; "class": "class"; }, { "pageChange": "pageChange"; }, ["columns"], never>;
|
|
26
59
|
}
|
|
60
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./libey-ng-table.component";
|
|
3
|
+
import * as i2 from "./directives/libey-column.directive";
|
|
4
|
+
import * as i3 from "@angular/common";
|
|
5
|
+
import * as i4 from "@angular/forms";
|
|
6
|
+
export declare class LibeyNgTableModule {
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibeyNgTableModule, never>;
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<LibeyNgTableModule, [typeof i1.LibeyNgTableComponent, typeof i2.LibeyColumnDirective], [typeof i3.CommonModule, typeof i4.FormsModule], [typeof i1.LibeyNgTableComponent, typeof i2.LibeyColumnDirective]>;
|
|
9
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<LibeyNgTableModule>;
|
|
10
|
+
}
|