mis-crystal-design-system 18.0.10 → 18.0.11
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/esm2022/table/public_api.mjs +4 -3
- package/esm2022/table/sort-icons.directive.mjs +139 -0
- package/esm2022/table/table.component.mjs +113 -76
- package/esm2022/table/table.module.mjs +25 -4
- package/fesm2022/mis-crystal-design-system-table.mjs +273 -80
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/package.json +13 -13
- package/table/public_api.d.ts +3 -2
- package/table/sort-icons.directive.d.ts +36 -0
- package/table/table.component.d.ts +10 -1
- 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';
|
|
@@ -407,6 +407,143 @@ class TableFilterComponent {
|
|
|
407
407
|
}] }); })();
|
|
408
408
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableFilterComponent, { className: "TableFilterComponent" }); })();
|
|
409
409
|
|
|
410
|
+
class SortIconsDirective {
|
|
411
|
+
constructor(el, renderer) {
|
|
412
|
+
this.el = el;
|
|
413
|
+
this.renderer = renderer;
|
|
414
|
+
// Convert inputs to signals
|
|
415
|
+
this.column = input();
|
|
416
|
+
this.activeSort = input();
|
|
417
|
+
this.activeSorts = input();
|
|
418
|
+
this.multiColumnSort = input(false);
|
|
419
|
+
// Convert output to signal
|
|
420
|
+
this.sortChange = output();
|
|
421
|
+
this.multiSortChange = output();
|
|
422
|
+
// Internal state as signals
|
|
423
|
+
this.currentDirection = signal('');
|
|
424
|
+
}
|
|
425
|
+
ngOnInit() {
|
|
426
|
+
// Create a container for the icons
|
|
427
|
+
const container = this.renderer.createElement('div');
|
|
428
|
+
this.renderer?.setStyle(container, 'display', 'inline-flex');
|
|
429
|
+
this.renderer?.setStyle(container, 'align-items', 'center');
|
|
430
|
+
const iconContainer = this.renderer.createElement('div');
|
|
431
|
+
this.renderer?.setStyle(iconContainer, 'display', 'inline-flex');
|
|
432
|
+
this.renderer?.setStyle(iconContainer, 'flex-direction', 'column');
|
|
433
|
+
this.renderer?.setStyle(iconContainer, 'align-items', 'center');
|
|
434
|
+
this.upIcon = this.renderer.createElement('img');
|
|
435
|
+
this.renderer?.setAttribute(this.upIcon, 'src', this.column()?.sortAscIcon);
|
|
436
|
+
this.renderer?.setStyle(this.upIcon, 'opacity', '0.5');
|
|
437
|
+
this.renderer?.setStyle(this.upIcon, 'transition', 'opacity 0.3s ease');
|
|
438
|
+
this.renderer?.setStyle(this.upIcon, 'width', '9px');
|
|
439
|
+
this.renderer?.setStyle(this.upIcon, 'cursor', 'pointer');
|
|
440
|
+
this.renderer?.listen(this.upIcon, 'click', () => this.setSortDirection('ASC'));
|
|
441
|
+
this.downIcon = this.renderer.createElement('img');
|
|
442
|
+
this.renderer?.setAttribute(this.downIcon, 'src', this.column()?.sortDescIcon);
|
|
443
|
+
this.renderer?.setStyle(this.downIcon, 'opacity', '0.5');
|
|
444
|
+
this.renderer?.setStyle(this.downIcon, 'transition', 'opacity 0.3s ease');
|
|
445
|
+
this.renderer?.setStyle(this.downIcon, 'width', '9px');
|
|
446
|
+
this.renderer?.setStyle(this.downIcon, 'cursor', 'pointer');
|
|
447
|
+
this.renderer?.listen(this.downIcon, 'click', () => this.setSortDirection('DESC'));
|
|
448
|
+
this.renderer?.appendChild(iconContainer, this.upIcon);
|
|
449
|
+
this.renderer?.appendChild(iconContainer, this.downIcon);
|
|
450
|
+
this.renderer?.appendChild(container, iconContainer);
|
|
451
|
+
if (this.multiColumnSort()) {
|
|
452
|
+
this.sortOrderElement = this.renderer.createElement('span');
|
|
453
|
+
this.renderer?.setStyle(this.sortOrderElement, 'font-size', '12px');
|
|
454
|
+
this.renderer?.setStyle(this.sortOrderElement, 'font-weight', 'bold');
|
|
455
|
+
this.renderer?.setStyle(this.sortOrderElement, 'color', '#000');
|
|
456
|
+
this.renderer?.appendChild(container, this.sortOrderElement);
|
|
457
|
+
}
|
|
458
|
+
this.renderer?.appendChild(this.el.nativeElement, container);
|
|
459
|
+
this.updateIconStyles();
|
|
460
|
+
}
|
|
461
|
+
ngOnChanges(changes) {
|
|
462
|
+
if (changes['activeSort'] || changes['activeSorts']) {
|
|
463
|
+
this.updateIconStyles();
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
setSortDirection(direction) {
|
|
467
|
+
if (this.multiColumnSort()) {
|
|
468
|
+
this.handleMultiColumnSort(direction);
|
|
469
|
+
}
|
|
470
|
+
else {
|
|
471
|
+
this.handleSingleColumnSort(direction);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
handleSingleColumnSort(direction) {
|
|
475
|
+
if (this.currentDirection() === direction) {
|
|
476
|
+
this.currentDirection.set(''); // Reset sorting if the same direction is clicked
|
|
477
|
+
}
|
|
478
|
+
else {
|
|
479
|
+
this.currentDirection.set(direction);
|
|
480
|
+
}
|
|
481
|
+
this.sortChange.emit({
|
|
482
|
+
column: this.column()?.data || '',
|
|
483
|
+
direction: this.currentDirection()
|
|
484
|
+
});
|
|
485
|
+
this.updateIconStyles();
|
|
486
|
+
}
|
|
487
|
+
handleMultiColumnSort(direction) {
|
|
488
|
+
const existingSortIndex = this.activeSorts().findIndex(sort => sort.column === this.column()?.data);
|
|
489
|
+
if (existingSortIndex !== -1) {
|
|
490
|
+
if (this.activeSorts()[existingSortIndex].direction !== direction) {
|
|
491
|
+
this.activeSorts()[existingSortIndex].direction = direction;
|
|
492
|
+
}
|
|
493
|
+
else {
|
|
494
|
+
return;
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
this.activeSorts().push({
|
|
499
|
+
column: this.column()?.data || '',
|
|
500
|
+
direction
|
|
501
|
+
});
|
|
502
|
+
}
|
|
503
|
+
this.multiSortChange.emit([...this.activeSorts()]);
|
|
504
|
+
this.updateIconStyles();
|
|
505
|
+
}
|
|
506
|
+
updateIconStyles() {
|
|
507
|
+
if (this.multiColumnSort()) {
|
|
508
|
+
this.updateMultiColumnIconStyles();
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
this.updateSingleColumnIconStyles();
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
updateSingleColumnIconStyles() {
|
|
515
|
+
const isActiveColumn = this.activeSort()?.column === this.column()?.data;
|
|
516
|
+
setTimeout(() => {
|
|
517
|
+
this.renderer?.setStyle(this.upIcon, 'opacity', isActiveColumn && this.currentDirection() === 'ASC' ? '1' : '0.5');
|
|
518
|
+
this.renderer?.setStyle(this.downIcon, 'opacity', isActiveColumn && this.currentDirection() === 'DESC' ? '1' : '0.5');
|
|
519
|
+
}, 0);
|
|
520
|
+
}
|
|
521
|
+
updateMultiColumnIconStyles() {
|
|
522
|
+
const columnSort = this.activeSorts().find(sort => sort.column === this.column()?.data);
|
|
523
|
+
setTimeout(() => {
|
|
524
|
+
this.renderer?.setStyle(this.upIcon, 'opacity', columnSort?.direction === 'ASC' ? '1' : '0.5');
|
|
525
|
+
this.renderer?.setStyle(this.downIcon, 'opacity', columnSort?.direction === 'DESC' ? '1' : '0.5');
|
|
526
|
+
if (this.sortOrderElement) {
|
|
527
|
+
const sortIndex = this.activeSorts().findIndex(sort => sort.column === this.column()?.data);
|
|
528
|
+
if (sortIndex !== -1) {
|
|
529
|
+
this.renderer?.setProperty(this.sortOrderElement, 'textContent', (sortIndex + 1).toString());
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
this.renderer?.setProperty(this.sortOrderElement, 'textContent', '');
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
}, 0);
|
|
536
|
+
}
|
|
537
|
+
static { this.ɵfac = function SortIconsDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SortIconsDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
|
|
538
|
+
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] }); }
|
|
539
|
+
}
|
|
540
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SortIconsDirective, [{
|
|
541
|
+
type: Directive,
|
|
542
|
+
args: [{
|
|
543
|
+
selector: '[appSortIcons]',
|
|
544
|
+
}]
|
|
545
|
+
}], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], null); })();
|
|
546
|
+
|
|
410
547
|
const _c0 = ["filter"];
|
|
411
548
|
const _c1 = ["table"];
|
|
412
549
|
const _c2 = ["colHeaderRef"];
|
|
@@ -434,7 +571,7 @@ function TableComponent_mis_table_filter_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
434
571
|
i0.ɵɵproperty("containerStyles", ctx_r1.filterContainerStyles)("filtersData", ctx_r1.filterData);
|
|
435
572
|
} }
|
|
436
573
|
function TableComponent_div_5_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
437
|
-
i0.ɵɵelementStart(0, "p",
|
|
574
|
+
i0.ɵɵelementStart(0, "p", 17);
|
|
438
575
|
i0.ɵɵtext(1);
|
|
439
576
|
i0.ɵɵelementEnd();
|
|
440
577
|
} if (rf & 2) {
|
|
@@ -443,16 +580,16 @@ function TableComponent_div_5_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
443
580
|
i0.ɵɵtextInterpolate1(" ", (colHeader_r4 == null ? null : colHeader_r4.data) || " ", " ");
|
|
444
581
|
} }
|
|
445
582
|
function TableComponent_div_5_span_3_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
446
|
-
i0.ɵɵelement(0, "span",
|
|
583
|
+
i0.ɵɵelement(0, "span", 22);
|
|
447
584
|
} }
|
|
448
585
|
function TableComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
449
586
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
450
|
-
i0.ɵɵelementStart(0, "span",
|
|
587
|
+
i0.ɵɵelementStart(0, "span", 18);
|
|
451
588
|
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",
|
|
589
|
+
i0.ɵɵtemplate(1, TableComponent_div_5_span_3_span_1_Template, 1, 0, "span", 19);
|
|
453
590
|
i0.ɵɵnamespaceSVG();
|
|
454
|
-
i0.ɵɵelementStart(2, "svg",
|
|
455
|
-
i0.ɵɵelement(3, "path",
|
|
591
|
+
i0.ɵɵelementStart(2, "svg", 20);
|
|
592
|
+
i0.ɵɵelement(3, "path", 21);
|
|
456
593
|
i0.ɵɵelementEnd()();
|
|
457
594
|
} if (rf & 2) {
|
|
458
595
|
const colHeader_r4 = i0.ɵɵnextContext().$implicit;
|
|
@@ -460,9 +597,19 @@ function TableComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
460
597
|
i0.ɵɵadvance();
|
|
461
598
|
i0.ɵɵproperty("ngIf", (ctx_r1.appliedFilters[colHeader_r4.data] == null ? null : ctx_r1.appliedFilters[colHeader_r4.data].length) > 0);
|
|
462
599
|
} }
|
|
463
|
-
function
|
|
464
|
-
|
|
465
|
-
i0.ɵɵ
|
|
600
|
+
function TableComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
601
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
602
|
+
i0.ɵɵelementStart(0, "span", 23);
|
|
603
|
+
i0.ɵɵlistener("sortChange", function TableComponent_div_5_span_4_Template_span_sortChange_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSortChange($event)); });
|
|
604
|
+
i0.ɵɵelementEnd();
|
|
605
|
+
} if (rf & 2) {
|
|
606
|
+
const colHeader_r4 = i0.ɵɵnextContext().$implicit;
|
|
607
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
608
|
+
i0.ɵɵproperty("column", colHeader_r4)("activeSort", ctx_r1.currentSort)("activeSorts", ctx_r1.multiColumnSort)("multiColumnSort", ctx_r1.config.multiColumnSort);
|
|
609
|
+
} }
|
|
610
|
+
function TableComponent_div_5_5_ng_template_0_Template(rf, ctx) { }
|
|
611
|
+
function TableComponent_div_5_5_Template(rf, ctx) { if (rf & 1) {
|
|
612
|
+
i0.ɵɵtemplate(0, TableComponent_div_5_5_ng_template_0_Template, 0, 0, "ng-template", 24);
|
|
466
613
|
} if (rf & 2) {
|
|
467
614
|
const colHeader_r4 = i0.ɵɵnextContext().$implicit;
|
|
468
615
|
i0.ɵɵproperty("customComponent", colHeader_r4 == null ? null : colHeader_r4.componentRef)("data", colHeader_r4.data);
|
|
@@ -471,63 +618,65 @@ function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
471
618
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
472
619
|
i0.ɵɵelementStart(0, "div", 12, 2);
|
|
473
620
|
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, TableComponent_div_5_span_3_Template, 4, 1, "span", 14)(4,
|
|
621
|
+
i0.ɵɵtemplate(2, TableComponent_div_5_p_2_Template, 2, 1, "p", 13)(3, TableComponent_div_5_span_3_Template, 4, 1, "span", 14)(4, TableComponent_div_5_span_4_Template, 1, 4, "span", 15)(5, TableComponent_div_5_5_Template, 1, 2, null, 16);
|
|
475
622
|
i0.ɵɵelementEnd();
|
|
476
623
|
} if (rf & 2) {
|
|
477
624
|
const colHeader_r4 = ctx.$implicit;
|
|
478
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(
|
|
625
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(5, _c5, (colHeader_r4 == null ? null : colHeader_r4.style == null ? null : colHeader_r4.style.width) || "", colHeader_r4.action ? "pointer" : "default", (colHeader_r4 == null ? null : colHeader_r4.style == null ? null : colHeader_r4.style.justifyContent) ? colHeader_r4 == null ? null : colHeader_r4.style == null ? null : colHeader_r4.style.justifyContent : colHeader_r4.type === "number" ? "flex-end" : "space-between"));
|
|
479
626
|
i0.ɵɵadvance(2);
|
|
480
627
|
i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) !== "custom");
|
|
481
628
|
i0.ɵɵadvance();
|
|
482
629
|
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
630
|
i0.ɵɵadvance();
|
|
631
|
+
i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.isSortable) && !(colHeader_r4 == null ? null : colHeader_r4.filters));
|
|
632
|
+
i0.ɵɵadvance();
|
|
484
633
|
i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) === "custom");
|
|
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", 32);
|
|
488
637
|
i0.ɵɵtext(1);
|
|
489
638
|
i0.ɵɵelementEnd();
|
|
490
639
|
} if (rf & 2) {
|
|
491
|
-
const
|
|
492
|
-
const
|
|
493
|
-
const
|
|
640
|
+
const ctx_r12 = i0.ɵɵnextContext();
|
|
641
|
+
const col_r11 = ctx_r12.$implicit;
|
|
642
|
+
const i_r12 = ctx_r12.index;
|
|
494
643
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
495
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(3, _c11, (ctx_r1.config == null ? null : ctx_r1.config.colConfig[
|
|
644
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(3, _c11, (ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].style == null ? null : ctx_r1.config.colConfig[i_r12].style.color) ? ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].style == null ? null : ctx_r1.config.colConfig[i_r12].style.color : ""))("ngClass", i0.ɵɵpureFunction1(5, _c12, !!(ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].style == null ? null : ctx_r1.config.colConfig[i_r12].style.textEllipsis)));
|
|
496
645
|
i0.ɵɵadvance();
|
|
497
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
646
|
+
i0.ɵɵtextInterpolate1(" ", col_r11, " ");
|
|
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", 24);
|
|
502
651
|
} if (rf & 2) {
|
|
503
|
-
const
|
|
504
|
-
const
|
|
505
|
-
const
|
|
652
|
+
const ctx_r12 = i0.ɵɵnextContext();
|
|
653
|
+
const col_r11 = ctx_r12.$implicit;
|
|
654
|
+
const i_r12 = ctx_r12.index;
|
|
506
655
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
507
|
-
i0.ɵɵproperty("customComponent", ctx_r1.config.colConfig[
|
|
656
|
+
i0.ɵɵproperty("customComponent", ctx_r1.config.colConfig[i_r12].componentRef)("data", col_r11);
|
|
508
657
|
} }
|
|
509
658
|
function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
510
|
-
const
|
|
511
|
-
i0.ɵɵelementStart(0, "div",
|
|
512
|
-
i0.ɵɵlistener("click", function TableComponent_div_7_div_2_Template_div_click_0_listener() { const
|
|
513
|
-
i0.ɵɵelementStart(1, "div",
|
|
514
|
-
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_p_2_Template, 2, 7, "p",
|
|
659
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
660
|
+
i0.ɵɵelementStart(0, "div", 29);
|
|
661
|
+
i0.ɵɵlistener("click", function TableComponent_div_7_div_2_Template_div_click_0_listener() { const ctx_r9 = i0.ɵɵrestoreView(_r9); const col_r11 = ctx_r9.$implicit; const i_r12 = ctx_r9.index; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView((ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].action) ? ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].action(col_r11) : null); });
|
|
662
|
+
i0.ɵɵelementStart(1, "div", 30);
|
|
663
|
+
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_p_2_Template, 2, 7, "p", 31)(3, TableComponent_div_7_div_2_3_Template, 1, 2, null, 16);
|
|
515
664
|
i0.ɵɵelementEnd()();
|
|
516
665
|
} if (rf & 2) {
|
|
517
|
-
const
|
|
666
|
+
const i_r12 = ctx.index;
|
|
518
667
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
519
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(7, _c8, (ctx_r1.config == null ? null : ctx_r1.config.colConfig[
|
|
668
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(7, _c8, (ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].style == null ? null : ctx_r1.config.colConfig[i_r12].style.width) || (ctx_r1.config == null ? null : ctx_r1.config.colHeaderConfig[i_r12] == null ? null : ctx_r1.config.colHeaderConfig[i_r12].style == null ? null : ctx_r1.config.colHeaderConfig[i_r12].style.width) || ""))("ngClass", i0.ɵɵpureFunction1(9, _c9, ctx_r1.config.cellHover));
|
|
520
669
|
i0.ɵɵadvance();
|
|
521
|
-
i0.ɵɵstyleMap(ctx_r1.config.colConfig[
|
|
522
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(11, _c10, (ctx_r1.config.colConfig[
|
|
670
|
+
i0.ɵɵstyleMap(ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].style);
|
|
671
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(11, _c10, (ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].action) ? "pointer" : "default", (ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].style == null ? null : ctx_r1.config.colConfig[i_r12].style.justifyContent) ? ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].style == null ? null : ctx_r1.config.colConfig[i_r12].style.justifyContent : (ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].type) === "number" ? "flex-end" : "space-between"));
|
|
523
672
|
i0.ɵɵadvance();
|
|
524
|
-
i0.ɵɵproperty("ngIf", (ctx_r1.config.colConfig[
|
|
673
|
+
i0.ɵɵproperty("ngIf", (ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].type) !== "custom");
|
|
525
674
|
i0.ɵɵadvance();
|
|
526
|
-
i0.ɵɵproperty("ngIf", (ctx_r1.config.colConfig[
|
|
675
|
+
i0.ɵɵproperty("ngIf", (ctx_r1.config.colConfig[i_r12] == null ? null : ctx_r1.config.colConfig[i_r12].type) === "custom");
|
|
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", 34);
|
|
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", 34);
|
|
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", 35);
|
|
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", 33);
|
|
708
|
+
i0.ɵɵtemplate(1, TableComponent_div_7_div_3_ng_container_1_Template, 3, 2, "ng-container", 16)(2, TableComponent_div_7_div_3_ng_container_2_Template, 3, 2, "ng-container", 16)(3, TableComponent_div_7_div_3_ng_container_3_Template, 2, 2, "ng-container", 16);
|
|
560
709
|
i0.ɵɵelementEnd();
|
|
561
710
|
} if (rf & 2) {
|
|
562
711
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -568,40 +717,40 @@ function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
568
717
|
i0.ɵɵproperty("ngIf", !ctx_r1.subTableDataLoading && ctx_r1.subTableData.length > 0);
|
|
569
718
|
} }
|
|
570
719
|
function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
571
|
-
const
|
|
572
|
-
i0.ɵɵelementStart(0, "div",
|
|
573
|
-
i0.ɵɵlistener("click", function TableComponent_div_7_Template_div_click_1_listener() { const
|
|
574
|
-
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_Template, 4, 14, "div",
|
|
720
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
721
|
+
i0.ɵɵelementStart(0, "div", 25)(1, "div", 26);
|
|
722
|
+
i0.ɵɵlistener("click", function TableComponent_div_7_Template_div_click_1_listener() { const i_r8 = i0.ɵɵrestoreView(_r7).index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selectRow(i_r8)); });
|
|
723
|
+
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_Template, 4, 14, "div", 27);
|
|
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", 28);
|
|
577
726
|
i0.ɵɵelementEnd();
|
|
578
727
|
} if (rf & 2) {
|
|
579
|
-
const
|
|
580
|
-
const
|
|
728
|
+
const row_r14 = ctx.$implicit;
|
|
729
|
+
const i_r8 = ctx.index;
|
|
581
730
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
582
731
|
i0.ɵɵadvance();
|
|
583
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(4, _c6, ctx_r1.config.cellHover,
|
|
732
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(4, _c6, ctx_r1.config.cellHover, i_r8 === ctx_r1.activeRowIndex))("ngStyle", i0.ɵɵpureFunction1(7, _c7, (ctx_r1.config == null ? null : ctx_r1.config.rowConfig == null ? null : ctx_r1.config.rowConfig.height) ? ctx_r1.config.rowConfig.height : "44px"));
|
|
584
733
|
i0.ɵɵadvance();
|
|
585
|
-
i0.ɵɵproperty("ngForOf",
|
|
734
|
+
i0.ɵɵproperty("ngForOf", row_r14);
|
|
586
735
|
i0.ɵɵadvance();
|
|
587
|
-
i0.ɵɵproperty("ngIf", (ctx_r1.config == null ? null : ctx_r1.config.canExpand) && ctx_r1.expandedIndex ===
|
|
736
|
+
i0.ɵɵproperty("ngIf", (ctx_r1.config == null ? null : ctx_r1.config.canExpand) && ctx_r1.expandedIndex === i_r8);
|
|
588
737
|
} }
|
|
589
738
|
function TableComponent_div_8_div_7_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
590
|
-
const
|
|
591
|
-
i0.ɵɵelementStart(0, "span",
|
|
592
|
-
i0.ɵɵlistener("click", function TableComponent_div_8_div_7_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(
|
|
739
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
740
|
+
i0.ɵɵelementStart(0, "span", 46);
|
|
741
|
+
i0.ɵɵlistener("click", function TableComponent_div_8_div_7_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r16); const pageNumber_r17 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.updateSelectedPage(pageNumber_r17)); });
|
|
593
742
|
i0.ɵɵtext(1);
|
|
594
743
|
i0.ɵɵelementEnd();
|
|
595
744
|
} if (rf & 2) {
|
|
596
|
-
const
|
|
745
|
+
const pageNumber_r17 = i0.ɵɵnextContext().$implicit;
|
|
597
746
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
598
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c14,
|
|
747
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c14, pageNumber_r17 == (ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage)));
|
|
599
748
|
i0.ɵɵadvance();
|
|
600
|
-
i0.ɵɵtextInterpolate(
|
|
749
|
+
i0.ɵɵtextInterpolate(pageNumber_r17);
|
|
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", 47)(1, "div", 34);
|
|
753
|
+
i0.ɵɵelement(2, "span", 48)(3, "span", 48)(4, "span", 49);
|
|
605
754
|
i0.ɵɵelementEnd()();
|
|
606
755
|
} if (rf & 2) {
|
|
607
756
|
i0.ɵɵadvance();
|
|
@@ -613,33 +762,33 @@ 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", 44)(2, TableComponent_div_8_div_7_span_2_Template, 5, 6, "span", 45);
|
|
617
766
|
i0.ɵɵelementEnd();
|
|
618
767
|
} if (rf & 2) {
|
|
619
|
-
const
|
|
768
|
+
const pageNumber_r17 = ctx.$implicit;
|
|
620
769
|
i0.ɵɵadvance();
|
|
621
|
-
i0.ɵɵproperty("ngIf",
|
|
770
|
+
i0.ɵɵproperty("ngIf", pageNumber_r17 != 0);
|
|
622
771
|
i0.ɵɵadvance();
|
|
623
|
-
i0.ɵɵproperty("ngIf",
|
|
772
|
+
i0.ɵɵproperty("ngIf", pageNumber_r17 == 0);
|
|
624
773
|
} }
|
|
625
774
|
function TableComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
626
|
-
const
|
|
627
|
-
i0.ɵɵelementStart(0, "div",
|
|
775
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
776
|
+
i0.ɵɵelementStart(0, "div", 36)(1, "p", 37);
|
|
628
777
|
i0.ɵɵtext(2);
|
|
629
778
|
i0.ɵɵelementEnd();
|
|
630
|
-
i0.ɵɵelementStart(3, "div",
|
|
631
|
-
i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_4_listener() { i0.ɵɵrestoreView(
|
|
779
|
+
i0.ɵɵelementStart(3, "div", 38)(4, "span", 39);
|
|
780
|
+
i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r15); 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", 40);
|
|
783
|
+
i0.ɵɵelement(6, "path", 41);
|
|
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", 42);
|
|
637
786
|
i0.ɵɵnamespaceHTML();
|
|
638
|
-
i0.ɵɵelementStart(8, "span",
|
|
639
|
-
i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_8_listener() { i0.ɵɵrestoreView(
|
|
787
|
+
i0.ɵɵelementStart(8, "span", 39);
|
|
788
|
+
i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_8_listener() { i0.ɵɵrestoreView(_r15); 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", 40);
|
|
791
|
+
i0.ɵɵelement(10, "path", 43);
|
|
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) {
|
|
@@ -816,6 +969,24 @@ class TableComponent {
|
|
|
816
969
|
'font-size': fontSize
|
|
817
970
|
};
|
|
818
971
|
}
|
|
972
|
+
onSortChange(sortState) {
|
|
973
|
+
this.currentSort = sortState;
|
|
974
|
+
if (this.config.multiColumnSort) {
|
|
975
|
+
const index = this.multiColumnSort.findIndex(sort => sort.column === sortState.column);
|
|
976
|
+
if (index !== -1) {
|
|
977
|
+
if (sortState.direction === null) {
|
|
978
|
+
this.multiColumnSort.splice(index, 1);
|
|
979
|
+
}
|
|
980
|
+
else {
|
|
981
|
+
this.multiColumnSort[index] = sortState;
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
else if (sortState.direction !== null) {
|
|
985
|
+
this.multiColumnSort.push(sortState);
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
this.sortChange.emit(sortState);
|
|
989
|
+
}
|
|
819
990
|
static { this.ɵfac = function TableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableComponent)(i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
|
|
820
991
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["mis-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
|
|
821
992
|
i0.ɵɵviewQuery(_c0, 5);
|
|
@@ -826,11 +997,11 @@ class TableComponent {
|
|
|
826
997
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
|
|
827
998
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
|
|
828
999
|
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", 3, "click", "ngStyle"], ["class", "col-header-text", 4, "ngIf"], ["class", "filter-icon", 3, "click", 4, "ngIf"], [4, "ngIf"], [1, "col-header-text"], [1, "filter-icon", 3, "click"], ["id", "filter-active", 4, "ngIf"], ["fill", "none", "height", "10", "viewBox", "0 0 13 10", "width", "13", "xmlns", "http://www.w3.org/2000/svg"], ["clip-rule", "evenodd", "d", "M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z", "fill", "#181F33", "fill-rule", "evenodd"], ["id", "filter-active"], ["customTableCell", "", 3, "customComponent", "data"], [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) {
|
|
1000
|
+
} }, 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"], ["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", 3, "click", "ngStyle"], ["class", "col-header-text", 4, "ngIf"], ["class", "filter-icon", 3, "click", 4, "ngIf"], ["appSortIcons", "", "class", "sort-icon", 3, "column", "activeSort", "activeSorts", "multiColumnSort", "sortChange", 4, "ngIf"], [4, "ngIf"], [1, "col-header-text"], [1, "filter-icon", 3, "click"], ["id", "filter-active", 4, "ngIf"], ["fill", "none", "height", "10", "viewBox", "0 0 13 10", "width", "13", "xmlns", "http://www.w3.org/2000/svg"], ["clip-rule", "evenodd", "d", "M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z", "fill", "#181F33", "fill-rule", "evenodd"], ["id", "filter-active"], ["appSortIcons", "", 1, "sort-icon", 3, "sortChange", "column", "activeSort", "activeSorts", "multiColumnSort"], ["customTableCell", "", 3, "customComponent", "data"], [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
1001
|
i0.ɵɵelementStart(0, "div", 3);
|
|
831
1002
|
i0.ɵɵtemplate(1, TableComponent_mis_table_filter_1_Template, 2, 2, "mis-table-filter", 4);
|
|
832
1003
|
i0.ɵɵelementStart(2, "div", 5, 0)(4, "div", 6);
|
|
833
|
-
i0.ɵɵtemplate(5, TableComponent_div_5_Template,
|
|
1004
|
+
i0.ɵɵtemplate(5, TableComponent_div_5_Template, 6, 9, "div", 7);
|
|
834
1005
|
i0.ɵɵelementEnd();
|
|
835
1006
|
i0.ɵɵelementStart(6, "div", 8);
|
|
836
1007
|
i0.ɵɵtemplate(7, TableComponent_div_7_Template, 4, 9, "div", 9);
|
|
@@ -851,11 +1022,11 @@ class TableComponent {
|
|
|
851
1022
|
i0.ɵɵproperty("ngForOf", ctx.tableData);
|
|
852
1023
|
i0.ɵɵadvance();
|
|
853
1024
|
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}"] }); }
|
|
1025
|
+
} }, 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}.sort-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.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
1026
|
}
|
|
856
1027
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
857
1028
|
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"] }]
|
|
1029
|
+
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 <span *ngIf=\"colHeader?.isSortable && !colHeader?.filters\" appSortIcons\n [column]=\"colHeader\"\n [activeSort]=\"currentSort\"\n [activeSorts]=\"multiColumnSort\"\n [multiColumnSort]=\"config.multiColumnSort\"\n (sortChange)=\"onSortChange($event)\"\n class=\"sort-icon\">\n </span>\n <ng-template *ngIf=\"colHeader?.type === 'custom'\" customTableCell [customComponent]=\"colHeader?.componentRef\" [data]=\"colHeader.data\"></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}.sort-icon{display:flex;justify-content:center;align-items:center}.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
1030
|
}], () => [{ type: i0.Renderer2 }], { filtersUpdated: [{
|
|
860
1031
|
type: Output
|
|
861
1032
|
}], filter: [{
|
|
@@ -884,6 +1055,8 @@ class TableComponent {
|
|
|
884
1055
|
}], table: [{
|
|
885
1056
|
type: ViewChild,
|
|
886
1057
|
args: ["table"]
|
|
1058
|
+
}], sortChange: [{
|
|
1059
|
+
type: Output
|
|
887
1060
|
}] }); })();
|
|
888
1061
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableComponent, { className: "TableComponent" }); })();
|
|
889
1062
|
|
|
@@ -898,16 +1071,36 @@ class TableModule {
|
|
|
898
1071
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableModule, [{
|
|
899
1072
|
type: NgModule,
|
|
900
1073
|
args: [{
|
|
901
|
-
declarations: [
|
|
1074
|
+
declarations: [
|
|
1075
|
+
TableComponent,
|
|
1076
|
+
SubTableComponent,
|
|
1077
|
+
TableFilterComponent,
|
|
1078
|
+
CustomTableCellDirective,
|
|
1079
|
+
SortIconsDirective
|
|
1080
|
+
],
|
|
902
1081
|
imports: [CommonModule, CheckboxModule, ScrollingModule],
|
|
903
|
-
exports: [
|
|
1082
|
+
exports: [
|
|
1083
|
+
TableComponent,
|
|
1084
|
+
SubTableComponent,
|
|
1085
|
+
TableFilterComponent,
|
|
1086
|
+
CustomTableCellDirective,
|
|
1087
|
+
SortIconsDirective
|
|
1088
|
+
]
|
|
904
1089
|
}]
|
|
905
1090
|
}], null, null); })();
|
|
906
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TableModule, { declarations: [TableComponent,
|
|
1091
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TableModule, { declarations: [TableComponent,
|
|
1092
|
+
SubTableComponent,
|
|
1093
|
+
TableFilterComponent,
|
|
1094
|
+
CustomTableCellDirective,
|
|
1095
|
+
SortIconsDirective], imports: [CommonModule, CheckboxModule, ScrollingModule], exports: [TableComponent,
|
|
1096
|
+
SubTableComponent,
|
|
1097
|
+
TableFilterComponent,
|
|
1098
|
+
CustomTableCellDirective,
|
|
1099
|
+
SortIconsDirective] }); })();
|
|
907
1100
|
|
|
908
1101
|
/**
|
|
909
1102
|
* Generated bundle index. Do not edit.
|
|
910
1103
|
*/
|
|
911
1104
|
|
|
912
|
-
export { CustomTableCellDirective, SubTableComponent, TableComponent, TableFilterComponent, TableModule };
|
|
1105
|
+
export { CustomTableCellDirective, SortIconsDirective, SubTableComponent, TableComponent, TableFilterComponent, TableModule };
|
|
913
1106
|
//# sourceMappingURL=mis-crystal-design-system-table.mjs.map
|