mis-crystal-design-system 18.0.7-test → 18.0.8-test-1
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/assets/icons/sort-asc.svg +5 -0
- package/assets/icons/sort-desc.svg +5 -0
- package/assets/icons/sprite.svg +12 -0
- package/assets/sort-asc.svg +5 -0
- package/assets/sort-desc.svg +5 -0
- package/esm2022/table/public_api.mjs +5 -3
- package/esm2022/table/sort-icons.directive.mjs +153 -0
- package/esm2022/table/table.component.mjs +77 -51
- package/esm2022/table/table.config.mjs +6 -0
- package/esm2022/table/table.module.mjs +25 -4
- package/fesm2022/mis-crystal-design-system-table.mjs +256 -55
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/package.json +7 -7
- package/table/filter/filter.component.d.ts +1 -1
- package/table/public_api.d.ts +4 -2
- package/table/sort-icons.directive.d.ts +35 -0
- package/table/table.component.d.ts +11 -1
- package/table/table.config.d.ts +2 -0
- package/table/table.module.d.ts +5 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Input, Component, ViewChild, EventEmitter, Output, ViewChildren, NgModule } from '@angular/core';
|
|
2
|
+
import { Directive, Input, Component, ViewChild, EventEmitter, Output, input, output, signal, ViewChildren, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2 from '@angular/cdk/scrolling';
|
|
@@ -7,6 +7,12 @@ import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
|
7
7
|
import * as i2$1 from 'mis-crystal-design-system/checkbox';
|
|
8
8
|
import { CheckboxModule } from 'mis-crystal-design-system/checkbox';
|
|
9
9
|
|
|
10
|
+
const DEFAULT_TABLE_CONFIG = {
|
|
11
|
+
sortAscIcon: 'assets/sort-asc.svg',
|
|
12
|
+
sortDescIcon: 'assets/sort-desc.svg',
|
|
13
|
+
multiColumnSort: false
|
|
14
|
+
};
|
|
15
|
+
|
|
10
16
|
class CustomTableCellDirective {
|
|
11
17
|
set customComponent(value) {
|
|
12
18
|
this.component = value;
|
|
@@ -407,6 +413,157 @@ class TableFilterComponent {
|
|
|
407
413
|
}] }); })();
|
|
408
414
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableFilterComponent, { className: "TableFilterComponent" }); })();
|
|
409
415
|
|
|
416
|
+
class SortIconsDirective {
|
|
417
|
+
constructor(el, renderer) {
|
|
418
|
+
this.el = el;
|
|
419
|
+
this.renderer = renderer;
|
|
420
|
+
// Convert inputs to signals
|
|
421
|
+
this.column = input('');
|
|
422
|
+
this.activeSort = input();
|
|
423
|
+
this.activeSorts = input();
|
|
424
|
+
this.multiColumnSort = input(false);
|
|
425
|
+
// Convert output to signal
|
|
426
|
+
this.sortChange = output();
|
|
427
|
+
this.multiSortChange = output();
|
|
428
|
+
// Internal state as signals
|
|
429
|
+
this.currentDirection = signal('');
|
|
430
|
+
this.columnNumber = signal(0);
|
|
431
|
+
// Assets
|
|
432
|
+
this.SORT_ASCENDING = 'assets/sort-asc.svg';
|
|
433
|
+
this.SORT_DESCENDING = 'assets/sort-desc.svg';
|
|
434
|
+
}
|
|
435
|
+
ngOnInit() {
|
|
436
|
+
// Get column number from data-column attribute
|
|
437
|
+
const columnAttr = this.el.nativeElement.getAttribute('data-column');
|
|
438
|
+
if (columnAttr) {
|
|
439
|
+
this.columnNumber.set(parseInt(columnAttr, 10));
|
|
440
|
+
}
|
|
441
|
+
// Create a container for the icons
|
|
442
|
+
const container = this.renderer.createElement('div');
|
|
443
|
+
this.renderer?.setStyle(container, 'display', 'inline-flex');
|
|
444
|
+
this.renderer?.setStyle(container, 'align-items', 'center');
|
|
445
|
+
this.renderer?.setStyle(container, 'gap', '0.5rem');
|
|
446
|
+
const iconContainer = this.renderer.createElement('div');
|
|
447
|
+
this.renderer?.setStyle(iconContainer, 'display', 'inline-flex');
|
|
448
|
+
this.renderer?.setStyle(iconContainer, 'flex-direction', 'column');
|
|
449
|
+
this.renderer?.setStyle(iconContainer, 'align-items', 'center');
|
|
450
|
+
this.renderer?.setStyle(iconContainer, 'gap', '5px');
|
|
451
|
+
this.upIcon = this.renderer.createElement('img');
|
|
452
|
+
this.renderer?.setAttribute(this.upIcon, 'src', this.SORT_ASCENDING);
|
|
453
|
+
this.renderer?.setStyle(this.upIcon, 'opacity', '0.5');
|
|
454
|
+
this.renderer?.setStyle(this.upIcon, 'transition', 'opacity 0.3s ease');
|
|
455
|
+
this.renderer?.setStyle(this.upIcon, 'width', '9px');
|
|
456
|
+
this.renderer?.setStyle(this.upIcon, 'cursor', 'pointer');
|
|
457
|
+
this.renderer?.listen(this.upIcon, 'click', () => this.setSortDirection('ASC'));
|
|
458
|
+
this.downIcon = this.renderer.createElement('img');
|
|
459
|
+
this.renderer?.setAttribute(this.downIcon, 'src', this.SORT_DESCENDING);
|
|
460
|
+
this.renderer?.setStyle(this.downIcon, 'opacity', '0.5');
|
|
461
|
+
this.renderer?.setStyle(this.downIcon, 'transition', 'opacity 0.3s ease');
|
|
462
|
+
this.renderer?.setStyle(this.downIcon, 'width', '9px');
|
|
463
|
+
this.renderer?.setStyle(this.downIcon, 'cursor', 'pointer');
|
|
464
|
+
this.renderer?.listen(this.downIcon, 'click', () => this.setSortDirection('DESC'));
|
|
465
|
+
this.renderer?.appendChild(iconContainer, this.upIcon);
|
|
466
|
+
this.renderer?.appendChild(iconContainer, this.downIcon);
|
|
467
|
+
this.renderer?.appendChild(container, iconContainer);
|
|
468
|
+
if (this.multiColumnSort()) {
|
|
469
|
+
this.sortOrderElement = this.renderer.createElement('span');
|
|
470
|
+
this.renderer?.setStyle(this.sortOrderElement, 'font-size', '12px');
|
|
471
|
+
this.renderer?.setStyle(this.sortOrderElement, 'font-weight', 'bold');
|
|
472
|
+
this.renderer?.setStyle(this.sortOrderElement, 'color', '#000');
|
|
473
|
+
this.renderer?.appendChild(container, this.sortOrderElement);
|
|
474
|
+
}
|
|
475
|
+
this.renderer?.appendChild(this.el.nativeElement, container);
|
|
476
|
+
this.updateIconStyles();
|
|
477
|
+
}
|
|
478
|
+
ngOnChanges(changes) {
|
|
479
|
+
if (changes['activeSort'] || changes['activeSorts']) {
|
|
480
|
+
this.updateIconStyles();
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
setSortDirection(direction) {
|
|
484
|
+
if (this.multiColumnSort()) {
|
|
485
|
+
this.handleMultiColumnSort(direction);
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
this.handleSingleColumnSort(direction);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
handleSingleColumnSort(direction) {
|
|
492
|
+
if (this.currentDirection() === direction) {
|
|
493
|
+
this.currentDirection.set(''); // Reset sorting if the same direction is clicked
|
|
494
|
+
}
|
|
495
|
+
else {
|
|
496
|
+
this.currentDirection.set(direction);
|
|
497
|
+
}
|
|
498
|
+
this.sortChange.emit({
|
|
499
|
+
column: this.column(),
|
|
500
|
+
direction: this.currentDirection(),
|
|
501
|
+
columnNumber: this.columnNumber()
|
|
502
|
+
});
|
|
503
|
+
this.updateIconStyles();
|
|
504
|
+
}
|
|
505
|
+
handleMultiColumnSort(direction) {
|
|
506
|
+
const existingSortIndex = this.activeSorts().findIndex(sort => sort.column === this.column());
|
|
507
|
+
if (existingSortIndex !== -1) {
|
|
508
|
+
if (this.activeSorts()[existingSortIndex].direction !== direction) {
|
|
509
|
+
this.activeSorts()[existingSortIndex].direction = direction;
|
|
510
|
+
this.activeSorts()[existingSortIndex].columnNumber = this.columnNumber();
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
return;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
this.activeSorts().push({
|
|
518
|
+
column: this.column(),
|
|
519
|
+
direction,
|
|
520
|
+
columnNumber: this.columnNumber()
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
this.multiSortChange.emit([...this.activeSorts()]);
|
|
524
|
+
this.updateIconStyles();
|
|
525
|
+
}
|
|
526
|
+
updateIconStyles() {
|
|
527
|
+
if (this.multiColumnSort()) {
|
|
528
|
+
this.updateMultiColumnIconStyles();
|
|
529
|
+
}
|
|
530
|
+
else {
|
|
531
|
+
this.updateSingleColumnIconStyles();
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
updateSingleColumnIconStyles() {
|
|
535
|
+
const isActiveColumn = this.activeSort()?.column === this.column();
|
|
536
|
+
setTimeout(() => {
|
|
537
|
+
this.renderer?.setStyle(this.upIcon, 'opacity', isActiveColumn && this.currentDirection() === 'ASC' ? '1' : '0.5');
|
|
538
|
+
this.renderer?.setStyle(this.downIcon, 'opacity', isActiveColumn && this.currentDirection() === 'DESC' ? '1' : '0.5');
|
|
539
|
+
}, 0);
|
|
540
|
+
}
|
|
541
|
+
updateMultiColumnIconStyles() {
|
|
542
|
+
const columnSort = this.activeSorts().find(sort => sort.column === this.column());
|
|
543
|
+
setTimeout(() => {
|
|
544
|
+
this.renderer?.setStyle(this.upIcon, 'opacity', columnSort?.direction === 'ASC' ? '1' : '0.5');
|
|
545
|
+
this.renderer?.setStyle(this.downIcon, 'opacity', columnSort?.direction === 'DESC' ? '1' : '0.5');
|
|
546
|
+
if (this.sortOrderElement) {
|
|
547
|
+
const sortIndex = this.activeSorts().findIndex(sort => sort.column === this.column());
|
|
548
|
+
if (sortIndex !== -1) {
|
|
549
|
+
this.renderer?.setProperty(this.sortOrderElement, 'textContent', (sortIndex + 1).toString());
|
|
550
|
+
}
|
|
551
|
+
else {
|
|
552
|
+
this.renderer?.setProperty(this.sortOrderElement, 'textContent', '');
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}, 0);
|
|
556
|
+
}
|
|
557
|
+
static { this.ɵfac = function SortIconsDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SortIconsDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
|
|
558
|
+
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SortIconsDirective, selectors: [["", "appSortIcons", ""]], inputs: { column: [1, "column"], activeSort: [1, "activeSort"], activeSorts: [1, "activeSorts"], multiColumnSort: [1, "multiColumnSort"] }, outputs: { sortChange: "sortChange", multiSortChange: "multiSortChange" }, features: [i0.ɵɵNgOnChangesFeature] }); }
|
|
559
|
+
}
|
|
560
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SortIconsDirective, [{
|
|
561
|
+
type: Directive,
|
|
562
|
+
args: [{
|
|
563
|
+
selector: '[appSortIcons]',
|
|
564
|
+
}]
|
|
565
|
+
}], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], null); })();
|
|
566
|
+
|
|
410
567
|
const _c0 = ["filter"];
|
|
411
568
|
const _c1 = ["table"];
|
|
412
569
|
const _c2 = ["colHeaderRef"];
|
|
@@ -442,36 +599,28 @@ function TableComponent_div_5_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
442
599
|
i0.ɵɵadvance();
|
|
443
600
|
i0.ɵɵtextInterpolate1(" ", (colHeader_r4 == null ? null : colHeader_r4.data) || " ", " ");
|
|
444
601
|
} }
|
|
445
|
-
function
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
function TableComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
449
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
450
|
-
i0.ɵɵelementStart(0, "span", 17);
|
|
451
|
-
i0.ɵɵlistener("click", function TableComponent_div_5_span_3_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const colHeader_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.filterData = colHeader_r4.filters; ctx_r1.toggleFilter(colHeader_r4.data); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
452
|
-
i0.ɵɵtemplate(1, TableComponent_div_5_span_3_span_1_Template, 1, 0, "span", 18);
|
|
453
|
-
i0.ɵɵnamespaceSVG();
|
|
454
|
-
i0.ɵɵelementStart(2, "svg", 19);
|
|
455
|
-
i0.ɵɵelement(3, "path", 20);
|
|
456
|
-
i0.ɵɵelementEnd()();
|
|
602
|
+
function TableComponent_div_5_3_ng_template_0_Template(rf, ctx) { }
|
|
603
|
+
function TableComponent_div_5_3_Template(rf, ctx) { if (rf & 1) {
|
|
604
|
+
i0.ɵɵtemplate(0, TableComponent_div_5_3_ng_template_0_Template, 0, 0, "ng-template", 17);
|
|
457
605
|
} if (rf & 2) {
|
|
458
606
|
const colHeader_r4 = i0.ɵɵnextContext().$implicit;
|
|
459
|
-
|
|
460
|
-
i0.ɵɵadvance();
|
|
461
|
-
i0.ɵɵproperty("ngIf", (ctx_r1.appliedFilters[colHeader_r4.data] == null ? null : ctx_r1.appliedFilters[colHeader_r4.data].length) > 0);
|
|
607
|
+
i0.ɵɵproperty("customComponent", colHeader_r4 == null ? null : colHeader_r4.componentRef)("data", colHeader_r4.data);
|
|
462
608
|
} }
|
|
463
|
-
function
|
|
464
|
-
|
|
465
|
-
i0.ɵɵ
|
|
609
|
+
function TableComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
610
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
611
|
+
i0.ɵɵelementStart(0, "span", 18);
|
|
612
|
+
i0.ɵɵlistener("sortChange", function TableComponent_div_5_span_4_Template_span_sortChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSortChange($event)); });
|
|
613
|
+
i0.ɵɵelementEnd();
|
|
466
614
|
} if (rf & 2) {
|
|
467
615
|
const colHeader_r4 = i0.ɵɵnextContext().$implicit;
|
|
468
|
-
|
|
616
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
617
|
+
i0.ɵɵproperty("column", colHeader_r4.data)("activeSort", ctx_r1.currentSort)("activeSorts", ctx_r1.multiColumnSort)("multiColumnSort", ctx_r1.config.multiColumnSort);
|
|
469
618
|
} }
|
|
470
619
|
function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
471
620
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
472
621
|
i0.ɵɵelementStart(0, "div", 12, 2);
|
|
473
622
|
i0.ɵɵlistener("click", function TableComponent_div_5_Template_div_click_0_listener() { const colHeader_r4 = i0.ɵɵrestoreView(_r3).$implicit; return i0.ɵɵresetView((colHeader_r4 == null ? null : colHeader_r4.action) ? colHeader_r4 == null ? null : colHeader_r4.action(colHeader_r4) : null); });
|
|
474
|
-
i0.ɵɵtemplate(2, TableComponent_div_5_p_2_Template, 2, 1, "p", 13)(3,
|
|
623
|
+
i0.ɵɵtemplate(2, TableComponent_div_5_p_2_Template, 2, 1, "p", 13)(3, TableComponent_div_5_3_Template, 1, 2, null, 14)(4, TableComponent_div_5_span_4_Template, 1, 4, "span", 15);
|
|
475
624
|
i0.ɵɵelementEnd();
|
|
476
625
|
} if (rf & 2) {
|
|
477
626
|
const colHeader_r4 = ctx.$implicit;
|
|
@@ -479,12 +628,12 @@ function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
479
628
|
i0.ɵɵadvance(2);
|
|
480
629
|
i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) !== "custom");
|
|
481
630
|
i0.ɵɵadvance();
|
|
482
|
-
i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) !== "custom" && (colHeader_r4 == null ? null : colHeader_r4.filters) && (colHeader_r4 == null ? null : colHeader_r4.filters == null ? null : colHeader_r4.filters.length) > 0);
|
|
483
|
-
i0.ɵɵadvance();
|
|
484
631
|
i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) === "custom");
|
|
632
|
+
i0.ɵɵadvance();
|
|
633
|
+
i0.ɵɵproperty("ngIf", colHeader_r4 == null ? null : colHeader_r4.isSortable);
|
|
485
634
|
} }
|
|
486
635
|
function TableComponent_div_7_div_2_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
487
|
-
i0.ɵɵelementStart(0, "p",
|
|
636
|
+
i0.ɵɵelementStart(0, "p", 26);
|
|
488
637
|
i0.ɵɵtext(1);
|
|
489
638
|
i0.ɵɵelementEnd();
|
|
490
639
|
} if (rf & 2) {
|
|
@@ -498,7 +647,7 @@ function TableComponent_div_7_div_2_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
498
647
|
} }
|
|
499
648
|
function TableComponent_div_7_div_2_3_ng_template_0_Template(rf, ctx) { }
|
|
500
649
|
function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
|
|
501
|
-
i0.ɵɵtemplate(0, TableComponent_div_7_div_2_3_ng_template_0_Template, 0, 0, "ng-template",
|
|
650
|
+
i0.ɵɵtemplate(0, TableComponent_div_7_div_2_3_ng_template_0_Template, 0, 0, "ng-template", 17);
|
|
502
651
|
} if (rf & 2) {
|
|
503
652
|
const ctx_r11 = i0.ɵɵnextContext();
|
|
504
653
|
const col_r10 = ctx_r11.$implicit;
|
|
@@ -508,10 +657,10 @@ function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
508
657
|
} }
|
|
509
658
|
function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
510
659
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
511
|
-
i0.ɵɵelementStart(0, "div",
|
|
660
|
+
i0.ɵɵelementStart(0, "div", 23);
|
|
512
661
|
i0.ɵɵlistener("click", function TableComponent_div_7_div_2_Template_div_click_0_listener() { const ctx_r8 = i0.ɵɵrestoreView(_r8); const col_r10 = ctx_r8.$implicit; const i_r11 = ctx_r8.index; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView((ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r11] == null ? null : ctx_r1.config.colConfig[i_r11].action) ? ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r11] == null ? null : ctx_r1.config.colConfig[i_r11].action(col_r10) : null); });
|
|
513
|
-
i0.ɵɵelementStart(1, "div",
|
|
514
|
-
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_p_2_Template, 2, 7, "p",
|
|
662
|
+
i0.ɵɵelementStart(1, "div", 24);
|
|
663
|
+
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_p_2_Template, 2, 7, "p", 25)(3, TableComponent_div_7_div_2_3_Template, 1, 2, null, 14);
|
|
515
664
|
i0.ɵɵelementEnd()();
|
|
516
665
|
} if (rf & 2) {
|
|
517
666
|
const i_r11 = ctx.index;
|
|
@@ -527,7 +676,7 @@ function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
527
676
|
} }
|
|
528
677
|
function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
529
678
|
i0.ɵɵelementContainerStart(0);
|
|
530
|
-
i0.ɵɵelementStart(1, "div",
|
|
679
|
+
i0.ɵɵelementStart(1, "div", 28);
|
|
531
680
|
i0.ɵɵtext(2, " Loading... ");
|
|
532
681
|
i0.ɵɵelementEnd();
|
|
533
682
|
i0.ɵɵelementContainerEnd();
|
|
@@ -537,7 +686,7 @@ function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf &
|
|
|
537
686
|
} }
|
|
538
687
|
function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
539
688
|
i0.ɵɵelementContainerStart(0);
|
|
540
|
-
i0.ɵɵelementStart(1, "div",
|
|
689
|
+
i0.ɵɵelementStart(1, "div", 28);
|
|
541
690
|
i0.ɵɵtext(2, " No Data Available... ");
|
|
542
691
|
i0.ɵɵelementEnd();
|
|
543
692
|
i0.ɵɵelementContainerEnd();
|
|
@@ -547,7 +696,7 @@ function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf &
|
|
|
547
696
|
} }
|
|
548
697
|
function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
549
698
|
i0.ɵɵelementContainerStart(0);
|
|
550
|
-
i0.ɵɵelement(1, "sub-table",
|
|
699
|
+
i0.ɵɵelement(1, "sub-table", 29);
|
|
551
700
|
i0.ɵɵelementContainerEnd();
|
|
552
701
|
} if (rf & 2) {
|
|
553
702
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
@@ -555,8 +704,8 @@ function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf &
|
|
|
555
704
|
i0.ɵɵproperty("config", ctx_r1.subTableconfig)("tableData", ctx_r1.subTableData);
|
|
556
705
|
} }
|
|
557
706
|
function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
558
|
-
i0.ɵɵelementStart(0, "div",
|
|
559
|
-
i0.ɵɵtemplate(1, TableComponent_div_7_div_3_ng_container_1_Template, 3, 2, "ng-container",
|
|
707
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
708
|
+
i0.ɵɵtemplate(1, TableComponent_div_7_div_3_ng_container_1_Template, 3, 2, "ng-container", 14)(2, TableComponent_div_7_div_3_ng_container_2_Template, 3, 2, "ng-container", 14)(3, TableComponent_div_7_div_3_ng_container_3_Template, 2, 2, "ng-container", 14);
|
|
560
709
|
i0.ɵɵelementEnd();
|
|
561
710
|
} if (rf & 2) {
|
|
562
711
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -569,11 +718,11 @@ function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
569
718
|
} }
|
|
570
719
|
function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
571
720
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
572
|
-
i0.ɵɵelementStart(0, "div",
|
|
721
|
+
i0.ɵɵelementStart(0, "div", 19)(1, "div", 20);
|
|
573
722
|
i0.ɵɵlistener("click", function TableComponent_div_7_Template_div_click_1_listener() { const i_r7 = i0.ɵɵrestoreView(_r6).index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selectRow(i_r7)); });
|
|
574
|
-
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_Template, 4, 14, "div",
|
|
723
|
+
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_Template, 4, 14, "div", 21);
|
|
575
724
|
i0.ɵɵelementEnd();
|
|
576
|
-
i0.ɵɵtemplate(3, TableComponent_div_7_div_3_Template, 4, 3, "div",
|
|
725
|
+
i0.ɵɵtemplate(3, TableComponent_div_7_div_3_Template, 4, 3, "div", 22);
|
|
577
726
|
i0.ɵɵelementEnd();
|
|
578
727
|
} if (rf & 2) {
|
|
579
728
|
const row_r13 = ctx.$implicit;
|
|
@@ -588,7 +737,7 @@ function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
588
737
|
} }
|
|
589
738
|
function TableComponent_div_8_div_7_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
590
739
|
const _r15 = i0.ɵɵgetCurrentView();
|
|
591
|
-
i0.ɵɵelementStart(0, "span",
|
|
740
|
+
i0.ɵɵelementStart(0, "span", 40);
|
|
592
741
|
i0.ɵɵlistener("click", function TableComponent_div_8_div_7_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r15); const pageNumber_r16 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.updateSelectedPage(pageNumber_r16)); });
|
|
593
742
|
i0.ɵɵtext(1);
|
|
594
743
|
i0.ɵɵelementEnd();
|
|
@@ -600,8 +749,8 @@ function TableComponent_div_8_div_7_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
600
749
|
i0.ɵɵtextInterpolate(pageNumber_r16);
|
|
601
750
|
} }
|
|
602
751
|
function TableComponent_div_8_div_7_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
603
|
-
i0.ɵɵelementStart(0, "span",
|
|
604
|
-
i0.ɵɵelement(2, "span",
|
|
752
|
+
i0.ɵɵelementStart(0, "span", 41)(1, "div", 28);
|
|
753
|
+
i0.ɵɵelement(2, "span", 42)(3, "span", 42)(4, "span", 43);
|
|
605
754
|
i0.ɵɵelementEnd()();
|
|
606
755
|
} if (rf & 2) {
|
|
607
756
|
i0.ɵɵadvance();
|
|
@@ -613,7 +762,7 @@ function TableComponent_div_8_div_7_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
613
762
|
} }
|
|
614
763
|
function TableComponent_div_8_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
615
764
|
i0.ɵɵelementStart(0, "div");
|
|
616
|
-
i0.ɵɵtemplate(1, TableComponent_div_8_div_7_span_1_Template, 2, 4, "span",
|
|
765
|
+
i0.ɵɵtemplate(1, TableComponent_div_8_div_7_span_1_Template, 2, 4, "span", 38)(2, TableComponent_div_8_div_7_span_2_Template, 5, 6, "span", 39);
|
|
617
766
|
i0.ɵɵelementEnd();
|
|
618
767
|
} if (rf & 2) {
|
|
619
768
|
const pageNumber_r16 = ctx.$implicit;
|
|
@@ -624,22 +773,22 @@ function TableComponent_div_8_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
624
773
|
} }
|
|
625
774
|
function TableComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
626
775
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
627
|
-
i0.ɵɵelementStart(0, "div",
|
|
776
|
+
i0.ɵɵelementStart(0, "div", 30)(1, "p", 31);
|
|
628
777
|
i0.ɵɵtext(2);
|
|
629
778
|
i0.ɵɵelementEnd();
|
|
630
|
-
i0.ɵɵelementStart(3, "div",
|
|
779
|
+
i0.ɵɵelementStart(3, "div", 32)(4, "span", 33);
|
|
631
780
|
i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.updateSelectedPage((ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage) - 1)); });
|
|
632
781
|
i0.ɵɵnamespaceSVG();
|
|
633
|
-
i0.ɵɵelementStart(5, "svg",
|
|
634
|
-
i0.ɵɵelement(6, "path",
|
|
782
|
+
i0.ɵɵelementStart(5, "svg", 34);
|
|
783
|
+
i0.ɵɵelement(6, "path", 35);
|
|
635
784
|
i0.ɵɵelementEnd()();
|
|
636
|
-
i0.ɵɵtemplate(7, TableComponent_div_8_div_7_Template, 3, 2, "div",
|
|
785
|
+
i0.ɵɵtemplate(7, TableComponent_div_8_div_7_Template, 3, 2, "div", 36);
|
|
637
786
|
i0.ɵɵnamespaceHTML();
|
|
638
|
-
i0.ɵɵelementStart(8, "span",
|
|
787
|
+
i0.ɵɵelementStart(8, "span", 33);
|
|
639
788
|
i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_8_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.updateSelectedPage((ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage) + 1)); });
|
|
640
789
|
i0.ɵɵnamespaceSVG();
|
|
641
|
-
i0.ɵɵelementStart(9, "svg",
|
|
642
|
-
i0.ɵɵelement(10, "path",
|
|
790
|
+
i0.ɵɵelementStart(9, "svg", 34);
|
|
791
|
+
i0.ɵɵelement(10, "path", 37);
|
|
643
792
|
i0.ɵɵelementEnd()()()();
|
|
644
793
|
} if (rf & 2) {
|
|
645
794
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -665,6 +814,10 @@ class TableComponent {
|
|
|
665
814
|
this.pageSelected = new EventEmitter();
|
|
666
815
|
this.tableData = [];
|
|
667
816
|
this.subTableData = [];
|
|
817
|
+
// Sorting related properties
|
|
818
|
+
this.currentSort = null;
|
|
819
|
+
this.multiColumnSort = [];
|
|
820
|
+
this.sortChange = new EventEmitter();
|
|
668
821
|
}
|
|
669
822
|
// Function to handle row click
|
|
670
823
|
selectRow(index) {
|
|
@@ -672,6 +825,13 @@ class TableComponent {
|
|
|
672
825
|
!!this.config.rowConfig.action && this.config.rowConfig.action(index);
|
|
673
826
|
}
|
|
674
827
|
ngOnInit() {
|
|
828
|
+
// Merge default config with provided config
|
|
829
|
+
this.config = {
|
|
830
|
+
...DEFAULT_TABLE_CONFIG,
|
|
831
|
+
...this.config
|
|
832
|
+
};
|
|
833
|
+
console.log("Table Config:", this.config);
|
|
834
|
+
console.log("Table Data:", this.tableData);
|
|
675
835
|
this.tableLength = !!this.tableData ? this.tableData.length : 0;
|
|
676
836
|
this.initializeFilters();
|
|
677
837
|
if (this.config.paginationConfig) {
|
|
@@ -816,6 +976,25 @@ class TableComponent {
|
|
|
816
976
|
'font-size': fontSize
|
|
817
977
|
};
|
|
818
978
|
}
|
|
979
|
+
onSortChange(sortState) {
|
|
980
|
+
this.currentSort = sortState;
|
|
981
|
+
if (this.config.multiColumnSort) {
|
|
982
|
+
const index = this.multiColumnSort.findIndex(sort => sort.column === sortState.column);
|
|
983
|
+
if (index !== -1) {
|
|
984
|
+
if (sortState.direction === null) {
|
|
985
|
+
this.multiColumnSort.splice(index, 1);
|
|
986
|
+
}
|
|
987
|
+
else {
|
|
988
|
+
this.multiColumnSort[index] = sortState;
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
else if (sortState.direction !== null) {
|
|
992
|
+
this.multiColumnSort.push(sortState);
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
console.log("Multi Column Sort:", sortState);
|
|
996
|
+
this.sortChange.emit(sortState);
|
|
997
|
+
}
|
|
819
998
|
static { this.ɵfac = function TableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableComponent)(i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
|
|
820
999
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["mis-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
|
|
821
1000
|
i0.ɵɵviewQuery(_c0, 5);
|
|
@@ -826,7 +1005,7 @@ class TableComponent {
|
|
|
826
1005
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
|
|
827
1006
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
|
|
828
1007
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.colHeaders = _t);
|
|
829
|
-
} }, inputs: { config: [0, "tableConfig", "config"], subTableconfig: "subTableconfig", tableDataLoading: "tableDataLoading", expandedIndex: "expandedIndex", tableData: "tableData", subTableData: "subTableData", subTableDataLoading: "subTableDataLoading" }, outputs: { filtersUpdated: "filtersUpdated", pageSelected: "pageSelected" }, features: [i0.ɵɵNgOnChangesFeature], decls: 9, vars: 15, consts: [["table", ""], ["filter", ""], ["colHeaderRef", ""], ["id", "main-container", 3, "ngStyle"], [3, "containerStyles", "filtersData", "filtersApplied", 4, "ngIf"], ["id", "table-container", 3, "ngClass"], ["id", "col-headers-container", 3, "ngStyle"], ["class", "col-header", 3, "ngStyle", "click", 4, "ngFor", "ngForOf"], ["id", "data-container"], ["class", "row-wrapper", 4, "ngFor", "ngForOf"], ["id", "pagination-container", 4, "ngIf"], [3, "filtersApplied", "containerStyles", "filtersData"], [1, "col-header",
|
|
1008
|
+
} }, inputs: { config: [0, "tableConfig", "config"], subTableconfig: "subTableconfig", tableDataLoading: "tableDataLoading", expandedIndex: "expandedIndex", tableData: "tableData", subTableData: "subTableData", subTableDataLoading: "subTableDataLoading" }, outputs: { filtersUpdated: "filtersUpdated", pageSelected: "pageSelected", sortChange: "sortChange" }, features: [i0.ɵɵNgOnChangesFeature], decls: 9, vars: 15, consts: [["table", ""], ["filter", ""], ["colHeaderRef", ""], ["id", "main-container", 3, "ngStyle"], [3, "containerStyles", "filtersData", "filtersApplied", 4, "ngIf"], ["id", "table-container", 3, "ngClass"], ["id", "col-headers-container", 3, "ngStyle"], ["style", "border: 1px solid red;", "class", "col-header", 3, "ngStyle", "click", 4, "ngFor", "ngForOf"], ["id", "data-container"], ["class", "row-wrapper", 4, "ngFor", "ngForOf"], ["id", "pagination-container", 4, "ngIf"], [3, "filtersApplied", "containerStyles", "filtersData"], [1, "col-header", 2, "border", "1px solid red", 3, "click", "ngStyle"], ["class", "col-header-text", 4, "ngIf"], [4, "ngIf"], ["appSortIcons", "", 3, "column", "activeSort", "activeSorts", "multiColumnSort", "sortChange", 4, "ngIf"], [1, "col-header-text"], ["customTableCell", "", 3, "customComponent", "data"], ["appSortIcons", "", 3, "sortChange", "column", "activeSort", "activeSorts", "multiColumnSort"], [1, "row-wrapper"], [1, "t-row", 3, "click", "ngClass", "ngStyle"], ["class", "t-col-container", 3, "ngStyle", "ngClass", "click", 4, "ngFor", "ngForOf"], ["class", "sub-row", 4, "ngIf"], [1, "t-col-container", 3, "click", "ngStyle", "ngClass"], [1, "t-col", 3, "ngStyle"], ["class", "t-col-text", 3, "ngStyle", "ngClass", 4, "ngIf"], [1, "t-col-text", 3, "ngStyle", "ngClass"], [1, "sub-row"], [3, "ngStyle"], [3, "config", "tableData"], ["id", "pagination-container"], ["id", "pagination-text"], ["id", "pages-container"], [1, "page", 3, "click"], ["fill", "none", "height", "10", "viewBox", "0 0 7 10", "width", "7", "xmlns", "http://www.w3.org/2000/svg"], ["clip-rule", "evenodd", "d", "M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z", "fill", "#181F33", "fill-rule", "evenodd"], [4, "ngFor", "ngForOf"], ["clip-rule", "evenodd", "d", "M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z", "fill", "#181F33", "fill-rule", "evenodd"], ["class", "page", 3, "ngClass", "click", 4, "ngIf"], ["class", "page-seperator", 4, "ngIf"], [1, "page", 3, "click", "ngClass"], [1, "page-seperator"], [1, "dot", 3, "ngStyle"], [1, "dot"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
830
1009
|
i0.ɵɵelementStart(0, "div", 3);
|
|
831
1010
|
i0.ɵɵtemplate(1, TableComponent_mis_table_filter_1_Template, 2, 2, "mis-table-filter", 4);
|
|
832
1011
|
i0.ɵɵelementStart(2, "div", 5, 0)(4, "div", 6);
|
|
@@ -851,11 +1030,11 @@ class TableComponent {
|
|
|
851
1030
|
i0.ɵɵproperty("ngForOf", ctx.tableData);
|
|
852
1031
|
i0.ɵɵadvance();
|
|
853
1032
|
i0.ɵɵproperty("ngIf", (ctx.config == null ? null : ctx.config.paginationConfig) && (ctx.tableLength >= ctx.config.paginationConfig.rowsPerPage || (ctx.config.paginationConfig == null ? null : ctx.config.paginationConfig.selectedPage) !== 1));
|
|
854
|
-
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, SubTableComponent, TableFilterComponent, CustomTableCellDirective], styles: ["#main-container[_ngcontent-%COMP%]{font-family:Lato,sans-serif;position:relative}.no-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:0}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:15px}#table-container[_ngcontent-%COMP%]{height:inherit;overflow-y:auto}.scroll-horizontally[_ngcontent-%COMP%]{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container[_ngcontent-%COMP%]{display:flex;align-items:center;position:sticky;background-color:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header[_ngcontent-%COMP%]{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text[_ngcontent-%COMP%]{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.filter-icon[_ngcontent-%COMP%]{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active[_ngcontent-%COMP%]{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:4px;right:4px}.sub-row[_ngcontent-%COMP%]{height:auto;border-bottom:none}.loader[_ngcontent-%COMP%] .mat-progress-spinner circle, .mat-spinner[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{stroke:#0937b2}.t-row[_ngcontent-%COMP%]{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row[_ngcontent-%COMP%]:hover{background-color:#e7eefd}.active-row[_ngcontent-%COMP%]{background-color:#e6f6fd}.t-col-container[_ngcontent-%COMP%]{padding:0 16px;overflow-wrap:anywhere}.t-row-hover[_ngcontent-%COMP%]:hover{background-color:#0000}.t-col-container-hover[_ngcontent-%COMP%]:hover{background-color:#e6ebf7}.t-col-container-hover[_ngcontent-%COMP%]:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover[_ngcontent-%COMP%]{border-right:1px solid #e0e0e0}.t-col[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%}.t-col-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container[_ngcontent-%COMP%]{display:flex;margin-right:32px}.page[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;margin-right:8px;cursor:pointer}.page-seperator[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot[_ngcontent-%COMP%]{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active[_ngcontent-%COMP%]{color:#0937b2;border:1px solid #0937b2}"] }); }
|
|
1033
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, SubTableComponent, TableFilterComponent, CustomTableCellDirective, SortIconsDirective], styles: ["#main-container[_ngcontent-%COMP%]{font-family:Lato,sans-serif;position:relative}.no-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:0}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:15px}#table-container[_ngcontent-%COMP%]{height:inherit;overflow-y:auto}.scroll-horizontally[_ngcontent-%COMP%]{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container[_ngcontent-%COMP%]{display:flex;align-items:center;position:sticky;background-color:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header[_ngcontent-%COMP%]{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text[_ngcontent-%COMP%]{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.filter-icon[_ngcontent-%COMP%]{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active[_ngcontent-%COMP%]{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:4px;right:4px}.sub-row[_ngcontent-%COMP%]{height:auto;border-bottom:none}.loader[_ngcontent-%COMP%] .mat-progress-spinner circle, .mat-spinner[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{stroke:#0937b2}.t-row[_ngcontent-%COMP%]{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row[_ngcontent-%COMP%]:hover{background-color:#e7eefd}.active-row[_ngcontent-%COMP%]{background-color:#e6f6fd}.t-col-container[_ngcontent-%COMP%]{padding:0 16px;overflow-wrap:anywhere}.t-row-hover[_ngcontent-%COMP%]:hover{background-color:#0000}.t-col-container-hover[_ngcontent-%COMP%]:hover{background-color:#e6ebf7}.t-col-container-hover[_ngcontent-%COMP%]:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover[_ngcontent-%COMP%]{border-right:1px solid #e0e0e0}.t-col[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%}.t-col-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container[_ngcontent-%COMP%]{display:flex;margin-right:32px}.page[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;margin-right:8px;cursor:pointer}.page-seperator[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot[_ngcontent-%COMP%]{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active[_ngcontent-%COMP%]{color:#0937b2;border:1px solid #0937b2}.sort-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;margin-left:4px;cursor:pointer}.sort-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:16px;height:16px;transition:opacity .2s ease}.sort-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]:hover{opacity:.8}"] }); }
|
|
855
1034
|
}
|
|
856
1035
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
857
1036
|
type: Component,
|
|
858
|
-
args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': config.canScrollHorizontally ? 'auto' : 'unset'\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter\"\n [containerStyles]=\"filterContainerStyles\"\n [filtersData]=\"filterData\"\n ></mis-table-filter>\n <div\n #table\n id=\"table-container\"\n [ngClass]=\"{ 'no-scrollbar': expandedIndex < 0, scrollbar: !(expandedIndex < 0), 'scroll-horizontally': config.canScrollHorizontally }\"\n >\n <div\n [ngStyle]=\"getColHeadersRowStyles()\"\n id=\"col-headers-container\"\n >\n <div\n #colHeaderRef\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config?.colHeaderConfig\"\n class=\"col-header\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent\n ? colHeader?.style?.justifyContent\n : colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p *ngIf=\"colHeader?.type !== 'custom'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <span\n (click)=\"filterData = colHeader.filters; toggleFilter(colHeader.data); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type !== 'custom' && colHeader?.filters && colHeader?.filters?.length > 0\"\n class=\"filter-icon\"\n >\n <span *ngIf=\"appliedFilters[colHeader.data]?.length > 0\" id=\"filter-active\"></span>\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 13 10\" width=\"13\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <ng-template\n *ngIf=\"colHeader?.type === 'custom'\"\n [customComponent]=\"colHeader?.componentRef\"\n [data]=\"colHeader.data\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n <div id=\"data-container\">\n <div class=\"row-wrapper\" *ngFor=\"let row of tableData; let i = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': config.cellHover, 'active-row': i === activeRowIndex }\"\n [ngStyle]=\"{ 'min-height': config?.rowConfig?.height ? config.rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n >\n <div\n (click)=\"config?.colConfig[i]?.action ? config?.colConfig[i]?.action(col) : null\"\n *ngFor=\"let col of row; let i = index\"\n [ngStyle]=\"{\n width: config?.colConfig[i]?.style?.width || config?.colHeaderConfig[i]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n [ngClass]=\"{ 't-col-container-hover': config.cellHover }\"\n >\n <div\n class=\"t-col\"\n [style]=\"config.colConfig[i]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: config.colConfig[i]?.action ? 'pointer' : 'default',\n 'justify-content': config.colConfig[i]?.style?.justifyContent\n ? config.colConfig[i]?.style?.justifyContent\n : config.colConfig[i]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p\n *ngIf=\"config.colConfig[i]?.type !== 'custom'\"\n [ngStyle]=\"{\n color: config?.colConfig[i]?.style?.color ? config?.colConfig[i]?.style?.color : ''\n }\"\n [ngClass]=\"{'text-ellipsis': !!config?.colConfig[i]?.style?.textEllipsis}\"\n class=\"t-col-text\"\n >\n {{ col }}\n </p>\n <ng-template\n *ngIf=\"config.colConfig[i]?.type === 'custom'\"\n [customComponent]=\"config.colConfig[i].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n </div>\n <div *ngIf=\"config?.canExpand && expandedIndex === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n Loading...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length === 0\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n No Data Available...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length > 0\">\n <sub-table [config]=\"subTableconfig\" [tableData]=\"subTableData\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"config?.paginationConfig && (tableLength >= config.paginationConfig.rowsPerPage || config.paginationConfig?.selectedPage !== 1)\"\n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + 1 }}-{{\n (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + tableLength\n }}\n of {{ config.paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage - 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <div *ngFor=\"let pageNumber of pages\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == config.paginationConfig?.selectedPage }\"\n class=\"page\"\n >{{ pageNumber }}</span\n >\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div [ngStyle]=\"{ display: 'flex' }\">\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\"></span>\n </div> \n </span>\n </div>\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage + 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif;position:relative}.no-scrollbar::-webkit-scrollbar{width:0}.scrollbar::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:15px}#table-container{height:inherit;overflow-y:auto}.scroll-horizontally{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container{display:flex;align-items:center;position:sticky;background-color:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:4px;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#0937b2}.t-row{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row:hover{background-color:#e7eefd}.active-row{background-color:#e6f6fd}.t-col-container{padding:0 16px;overflow-wrap:anywhere}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:#e6ebf7}.t-col-container-hover:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover{border-right:1px solid #e0e0e0}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container{display:flex;margin-right:32px}.page{display:flex;justify-content:center;align-items:center;border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;margin-right:8px;cursor:pointer}.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active{color:#0937b2;border:1px solid #0937b2}\n"] }]
|
|
1037
|
+
args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': config.canScrollHorizontally ? 'auto' : 'unset'\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter\"\n [containerStyles]=\"filterContainerStyles\"\n [filtersData]=\"filterData\"\n ></mis-table-filter>\n <div\n #table\n id=\"table-container\"\n [ngClass]=\"{ 'no-scrollbar': expandedIndex < 0, scrollbar: !(expandedIndex < 0), 'scroll-horizontally': config.canScrollHorizontally }\"\n >\n <div\n [ngStyle]=\"getColHeadersRowStyles()\"\n id=\"col-headers-container\"\n >\n <div\n style=\"border: 1px solid red;\"\n\n #colHeaderRef\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config?.colHeaderConfig\"\n class=\"col-header\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent\n ? colHeader?.style?.justifyContent\n : colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p *ngIf=\"colHeader?.type !== 'custom'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <ng-template *ngIf=\"colHeader?.type === 'custom'\" customTableCell [customComponent]=\"colHeader?.componentRef\" [data]=\"colHeader.data\"></ng-template>\n <span *ngIf=\"colHeader?.isSortable\" appSortIcons\n [column]=\"colHeader.data\"\n [activeSort]=\"currentSort\"\n [activeSorts]=\"multiColumnSort\"\n [multiColumnSort]=\"config.multiColumnSort\"\n (sortChange)=\"onSortChange($event)\">\n </span>\n </div>\n </div>\n <div id=\"data-container\">\n <div class=\"row-wrapper\" *ngFor=\"let row of tableData; let i = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': config.cellHover, 'active-row': i === activeRowIndex }\"\n [ngStyle]=\"{ 'min-height': config?.rowConfig?.height ? config.rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n >\n <div\n (click)=\"config?.colConfig[i]?.action ? config?.colConfig[i]?.action(col) : null\"\n *ngFor=\"let col of row; let i = index\"\n [ngStyle]=\"{\n width: config?.colConfig[i]?.style?.width || config?.colHeaderConfig[i]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n [ngClass]=\"{ 't-col-container-hover': config.cellHover }\"\n >\n <div\n class=\"t-col\"\n [style]=\"config.colConfig[i]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: config.colConfig[i]?.action ? 'pointer' : 'default',\n 'justify-content': config.colConfig[i]?.style?.justifyContent\n ? config.colConfig[i]?.style?.justifyContent\n : config.colConfig[i]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p\n *ngIf=\"config.colConfig[i]?.type !== 'custom'\"\n [ngStyle]=\"{\n color: config?.colConfig[i]?.style?.color ? config?.colConfig[i]?.style?.color : ''\n }\"\n [ngClass]=\"{'text-ellipsis': !!config?.colConfig[i]?.style?.textEllipsis}\"\n class=\"t-col-text\"\n >\n {{ col }}\n </p>\n <ng-template\n *ngIf=\"config.colConfig[i]?.type === 'custom'\"\n [customComponent]=\"config.colConfig[i].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n </div>\n </div>\n </div>\n <div *ngIf=\"config?.canExpand && expandedIndex === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n Loading...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length === 0\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n No Data Available...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading && subTableData.length > 0\">\n <sub-table [config]=\"subTableconfig\" [tableData]=\"subTableData\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"config?.paginationConfig && (tableLength >= config.paginationConfig.rowsPerPage || config.paginationConfig?.selectedPage !== 1)\"\n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + 1 }}-{{\n (config.paginationConfig?.selectedPage - 1) * config.paginationConfig.rowsPerPage + tableLength\n }}\n of {{ config.paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage - 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <div *ngFor=\"let pageNumber of pages\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == config.paginationConfig?.selectedPage }\"\n class=\"page\"\n >{{ pageNumber }}</span\n >\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div [ngStyle]=\"{ display: 'flex' }\">\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\"></span>\n </div> \n </span>\n </div>\n <span (click)=\"updateSelectedPage(config.paginationConfig?.selectedPage + 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif;position:relative}.no-scrollbar::-webkit-scrollbar{width:0}.scrollbar::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:15px}#table-container{height:inherit;overflow-y:auto}.scroll-horizontally{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container{display:flex;align-items:center;position:sticky;background-color:#fff;width:100%;z-index:1;min-height:44px;border-bottom:1px solid #e0e0e0;top:0;left:0;right:0}.col-header{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:#16cbbc;border-radius:50%;position:absolute;top:4px;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#0937b2}.t-row{display:flex;min-height:44px;background-color:#fff;width:100%;border-bottom:1px solid #e0e0e0}.t-row:hover{background-color:#e7eefd}.active-row{background-color:#e6f6fd}.t-col-container{padding:0 16px;overflow-wrap:anywhere}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:#e6ebf7}.t-col-container-hover:first-child{border-left:1px solid #e0e0e0}.t-col-container-hover{border-right:1px solid #e0e0e0}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:#6a737d;margin:0 96px 0 0}#pages-container{display:flex;margin-right:32px}.page{display:flex;justify-content:center;align-items:center;border:1px solid #6a737d;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d;margin-right:8px;cursor:pointer}.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:#6a737d}.page-active{color:#0937b2;border:1px solid #0937b2}.sort-icon{display:inline-flex;align-items:center;margin-left:4px;cursor:pointer}.sort-icon img{width:16px;height:16px;transition:opacity .2s ease}.sort-icon img:hover{opacity:.8}\n"] }]
|
|
859
1038
|
}], () => [{ type: i0.Renderer2 }], { filtersUpdated: [{
|
|
860
1039
|
type: Output
|
|
861
1040
|
}], filter: [{
|
|
@@ -884,6 +1063,8 @@ class TableComponent {
|
|
|
884
1063
|
}], table: [{
|
|
885
1064
|
type: ViewChild,
|
|
886
1065
|
args: ["table"]
|
|
1066
|
+
}], sortChange: [{
|
|
1067
|
+
type: Output
|
|
887
1068
|
}] }); })();
|
|
888
1069
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableComponent, { className: "TableComponent" }); })();
|
|
889
1070
|
|
|
@@ -898,16 +1079,36 @@ class TableModule {
|
|
|
898
1079
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableModule, [{
|
|
899
1080
|
type: NgModule,
|
|
900
1081
|
args: [{
|
|
901
|
-
declarations: [
|
|
1082
|
+
declarations: [
|
|
1083
|
+
TableComponent,
|
|
1084
|
+
SubTableComponent,
|
|
1085
|
+
TableFilterComponent,
|
|
1086
|
+
CustomTableCellDirective,
|
|
1087
|
+
SortIconsDirective
|
|
1088
|
+
],
|
|
902
1089
|
imports: [CommonModule, CheckboxModule, ScrollingModule],
|
|
903
|
-
exports: [
|
|
1090
|
+
exports: [
|
|
1091
|
+
TableComponent,
|
|
1092
|
+
SubTableComponent,
|
|
1093
|
+
TableFilterComponent,
|
|
1094
|
+
CustomTableCellDirective,
|
|
1095
|
+
SortIconsDirective
|
|
1096
|
+
]
|
|
904
1097
|
}]
|
|
905
1098
|
}], null, null); })();
|
|
906
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TableModule, { declarations: [TableComponent,
|
|
1099
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TableModule, { declarations: [TableComponent,
|
|
1100
|
+
SubTableComponent,
|
|
1101
|
+
TableFilterComponent,
|
|
1102
|
+
CustomTableCellDirective,
|
|
1103
|
+
SortIconsDirective], imports: [CommonModule, CheckboxModule, ScrollingModule], exports: [TableComponent,
|
|
1104
|
+
SubTableComponent,
|
|
1105
|
+
TableFilterComponent,
|
|
1106
|
+
CustomTableCellDirective,
|
|
1107
|
+
SortIconsDirective] }); })();
|
|
907
1108
|
|
|
908
1109
|
/**
|
|
909
1110
|
* Generated bundle index. Do not edit.
|
|
910
1111
|
*/
|
|
911
1112
|
|
|
912
|
-
export { CustomTableCellDirective, SubTableComponent, TableComponent, TableFilterComponent, TableModule };
|
|
1113
|
+
export { CustomTableCellDirective, DEFAULT_TABLE_CONFIG, SortIconsDirective, SubTableComponent, TableComponent, TableFilterComponent, TableModule };
|
|
913
1114
|
//# sourceMappingURL=mis-crystal-design-system-table.mjs.map
|