mis-crystal-design-system 18.0.6 → 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/dropdown/dropdown.module.d.ts +1 -1
- package/esm2022/dropdown/dropdown.module.mjs +2 -2
- package/esm2022/table/public_api.mjs +5 -3
- package/esm2022/table/sort-icons.directive.mjs +153 -0
- package/esm2022/table/table.component.mjs +89 -62
- package/esm2022/table/table.config.mjs +6 -0
- package/esm2022/table/table.module.mjs +25 -4
- package/fesm2022/mis-crystal-design-system-dropdown.mjs +1 -2
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +268 -66
- 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
- package/button/button.directive.scss +0 -69
- package/drawer/drawer.scss +0 -20
- package/input/mis-input.component.scss +0 -180
- package/modal/modal.scss +0 -9
- package/styles/fonts/icomoon.eot +0 -0
- package/styles/fonts/icomoon.svg +0 -315
- package/styles/fonts/icomoon.ttf +0 -0
- package/styles/fonts/icomoon.woff +0 -0
- package/styles/mis-borders-backgrounds.scss +0 -764
- package/styles/mis-color-constants.scss +0 -149
- package/styles/mis-flex.scss +0 -321
- package/styles/mis-fonts.scss +0 -124
- package/styles/mis-icons.scss +0 -1054
- package/styles/mis-mixins.scss +0 -46
- package/styles/mis-old-icon-styles.scss +0 -498
- package/styles/mis-spacing-sizing.scss +0 -2590
- package/styles/mis-typography.scss +0 -462
|
@@ -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"];
|
|
@@ -419,10 +576,11 @@ const _c8 = a0 => ({ width: a0 });
|
|
|
419
576
|
const _c9 = a0 => ({ "t-col-container-hover": a0 });
|
|
420
577
|
const _c10 = (a0, a1) => ({ width: "100%", cursor: a0, "justify-content": a1 });
|
|
421
578
|
const _c11 = a0 => ({ color: a0 });
|
|
422
|
-
const _c12 =
|
|
423
|
-
const _c13 =
|
|
424
|
-
const _c14 =
|
|
425
|
-
const _c15 = () => ({
|
|
579
|
+
const _c12 = a0 => ({ "text-ellipsis": a0 });
|
|
580
|
+
const _c13 = () => ({ display: "flex", justifyContent: "center", alignItems: "center", padding: "16px" });
|
|
581
|
+
const _c14 = a0 => ({ "page-active": a0 });
|
|
582
|
+
const _c15 = () => ({ display: "flex" });
|
|
583
|
+
const _c16 = () => ({ "margin-right": "4px" });
|
|
426
584
|
function TableComponent_mis_table_filter_1_Template(rf, ctx) { if (rf & 1) {
|
|
427
585
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
428
586
|
i0.ɵɵelementStart(0, "mis-table-filter", 11, 1);
|
|
@@ -441,36 +599,28 @@ function TableComponent_div_5_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
441
599
|
i0.ɵɵadvance();
|
|
442
600
|
i0.ɵɵtextInterpolate1(" ", (colHeader_r4 == null ? null : colHeader_r4.data) || " ", " ");
|
|
443
601
|
} }
|
|
444
|
-
function
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
function TableComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
448
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
449
|
-
i0.ɵɵelementStart(0, "span", 17);
|
|
450
|
-
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()); });
|
|
451
|
-
i0.ɵɵtemplate(1, TableComponent_div_5_span_3_span_1_Template, 1, 0, "span", 18);
|
|
452
|
-
i0.ɵɵnamespaceSVG();
|
|
453
|
-
i0.ɵɵelementStart(2, "svg", 19);
|
|
454
|
-
i0.ɵɵelement(3, "path", 20);
|
|
455
|
-
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);
|
|
456
605
|
} if (rf & 2) {
|
|
457
606
|
const colHeader_r4 = i0.ɵɵnextContext().$implicit;
|
|
458
|
-
|
|
459
|
-
i0.ɵɵadvance();
|
|
460
|
-
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);
|
|
461
608
|
} }
|
|
462
|
-
function
|
|
463
|
-
|
|
464
|
-
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();
|
|
465
614
|
} if (rf & 2) {
|
|
466
615
|
const colHeader_r4 = i0.ɵɵnextContext().$implicit;
|
|
467
|
-
|
|
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);
|
|
468
618
|
} }
|
|
469
619
|
function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
470
620
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
471
621
|
i0.ɵɵelementStart(0, "div", 12, 2);
|
|
472
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); });
|
|
473
|
-
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);
|
|
474
624
|
i0.ɵɵelementEnd();
|
|
475
625
|
} if (rf & 2) {
|
|
476
626
|
const colHeader_r4 = ctx.$implicit;
|
|
@@ -478,12 +628,12 @@ function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
478
628
|
i0.ɵɵadvance(2);
|
|
479
629
|
i0.ɵɵproperty("ngIf", (colHeader_r4 == null ? null : colHeader_r4.type) !== "custom");
|
|
480
630
|
i0.ɵɵadvance();
|
|
481
|
-
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);
|
|
482
|
-
i0.ɵɵadvance();
|
|
483
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);
|
|
484
634
|
} }
|
|
485
635
|
function TableComponent_div_7_div_2_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
486
|
-
i0.ɵɵelementStart(0, "p",
|
|
636
|
+
i0.ɵɵelementStart(0, "p", 26);
|
|
487
637
|
i0.ɵɵtext(1);
|
|
488
638
|
i0.ɵɵelementEnd();
|
|
489
639
|
} if (rf & 2) {
|
|
@@ -491,13 +641,13 @@ function TableComponent_div_7_div_2_p_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
491
641
|
const col_r10 = ctx_r11.$implicit;
|
|
492
642
|
const i_r11 = ctx_r11.index;
|
|
493
643
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
494
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(
|
|
644
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(3, _c11, (ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r11] == null ? null : ctx_r1.config.colConfig[i_r11].style == null ? null : ctx_r1.config.colConfig[i_r11].style.color) ? ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r11] == null ? null : ctx_r1.config.colConfig[i_r11].style == null ? null : ctx_r1.config.colConfig[i_r11].style.color : ""))("ngClass", i0.ɵɵpureFunction1(5, _c12, !!(ctx_r1.config == null ? null : ctx_r1.config.colConfig[i_r11] == null ? null : ctx_r1.config.colConfig[i_r11].style == null ? null : ctx_r1.config.colConfig[i_r11].style.textEllipsis)));
|
|
495
645
|
i0.ɵɵadvance();
|
|
496
646
|
i0.ɵɵtextInterpolate1(" ", col_r10, " ");
|
|
497
647
|
} }
|
|
498
648
|
function TableComponent_div_7_div_2_3_ng_template_0_Template(rf, ctx) { }
|
|
499
649
|
function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
|
|
500
|
-
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);
|
|
501
651
|
} if (rf & 2) {
|
|
502
652
|
const ctx_r11 = i0.ɵɵnextContext();
|
|
503
653
|
const col_r10 = ctx_r11.$implicit;
|
|
@@ -507,10 +657,10 @@ function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
507
657
|
} }
|
|
508
658
|
function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
509
659
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
510
|
-
i0.ɵɵelementStart(0, "div",
|
|
660
|
+
i0.ɵɵelementStart(0, "div", 23);
|
|
511
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); });
|
|
512
|
-
i0.ɵɵelementStart(1, "div",
|
|
513
|
-
i0.ɵɵtemplate(2, TableComponent_div_7_div_2_p_2_Template, 2,
|
|
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);
|
|
514
664
|
i0.ɵɵelementEnd()();
|
|
515
665
|
} if (rf & 2) {
|
|
516
666
|
const i_r11 = ctx.index;
|
|
@@ -526,27 +676,27 @@ function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
526
676
|
} }
|
|
527
677
|
function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
528
678
|
i0.ɵɵelementContainerStart(0);
|
|
529
|
-
i0.ɵɵelementStart(1, "div",
|
|
679
|
+
i0.ɵɵelementStart(1, "div", 28);
|
|
530
680
|
i0.ɵɵtext(2, " Loading... ");
|
|
531
681
|
i0.ɵɵelementEnd();
|
|
532
682
|
i0.ɵɵelementContainerEnd();
|
|
533
683
|
} if (rf & 2) {
|
|
534
684
|
i0.ɵɵadvance();
|
|
535
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1,
|
|
685
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1, _c13));
|
|
536
686
|
} }
|
|
537
687
|
function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
538
688
|
i0.ɵɵelementContainerStart(0);
|
|
539
|
-
i0.ɵɵelementStart(1, "div",
|
|
689
|
+
i0.ɵɵelementStart(1, "div", 28);
|
|
540
690
|
i0.ɵɵtext(2, " No Data Available... ");
|
|
541
691
|
i0.ɵɵelementEnd();
|
|
542
692
|
i0.ɵɵelementContainerEnd();
|
|
543
693
|
} if (rf & 2) {
|
|
544
694
|
i0.ɵɵadvance();
|
|
545
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1,
|
|
695
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(1, _c13));
|
|
546
696
|
} }
|
|
547
697
|
function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
548
698
|
i0.ɵɵelementContainerStart(0);
|
|
549
|
-
i0.ɵɵelement(1, "sub-table",
|
|
699
|
+
i0.ɵɵelement(1, "sub-table", 29);
|
|
550
700
|
i0.ɵɵelementContainerEnd();
|
|
551
701
|
} if (rf & 2) {
|
|
552
702
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
@@ -554,8 +704,8 @@ function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf &
|
|
|
554
704
|
i0.ɵɵproperty("config", ctx_r1.subTableconfig)("tableData", ctx_r1.subTableData);
|
|
555
705
|
} }
|
|
556
706
|
function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
557
|
-
i0.ɵɵelementStart(0, "div",
|
|
558
|
-
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);
|
|
559
709
|
i0.ɵɵelementEnd();
|
|
560
710
|
} if (rf & 2) {
|
|
561
711
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -568,11 +718,11 @@ function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
568
718
|
} }
|
|
569
719
|
function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
570
720
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
571
|
-
i0.ɵɵelementStart(0, "div",
|
|
721
|
+
i0.ɵɵelementStart(0, "div", 19)(1, "div", 20);
|
|
572
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)); });
|
|
573
|
-
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);
|
|
574
724
|
i0.ɵɵelementEnd();
|
|
575
|
-
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);
|
|
576
726
|
i0.ɵɵelementEnd();
|
|
577
727
|
} if (rf & 2) {
|
|
578
728
|
const row_r13 = ctx.$implicit;
|
|
@@ -587,32 +737,32 @@ function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
587
737
|
} }
|
|
588
738
|
function TableComponent_div_8_div_7_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
589
739
|
const _r15 = i0.ɵɵgetCurrentView();
|
|
590
|
-
i0.ɵɵelementStart(0, "span",
|
|
740
|
+
i0.ɵɵelementStart(0, "span", 40);
|
|
591
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)); });
|
|
592
742
|
i0.ɵɵtext(1);
|
|
593
743
|
i0.ɵɵelementEnd();
|
|
594
744
|
} if (rf & 2) {
|
|
595
745
|
const pageNumber_r16 = i0.ɵɵnextContext().$implicit;
|
|
596
746
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
597
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2,
|
|
747
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c14, pageNumber_r16 == (ctx_r1.config.paginationConfig == null ? null : ctx_r1.config.paginationConfig.selectedPage)));
|
|
598
748
|
i0.ɵɵadvance();
|
|
599
749
|
i0.ɵɵtextInterpolate(pageNumber_r16);
|
|
600
750
|
} }
|
|
601
751
|
function TableComponent_div_8_div_7_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
602
|
-
i0.ɵɵelementStart(0, "span",
|
|
603
|
-
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);
|
|
604
754
|
i0.ɵɵelementEnd()();
|
|
605
755
|
} if (rf & 2) {
|
|
606
756
|
i0.ɵɵadvance();
|
|
607
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(3,
|
|
757
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(3, _c15));
|
|
608
758
|
i0.ɵɵadvance();
|
|
609
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(4,
|
|
759
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(4, _c16));
|
|
610
760
|
i0.ɵɵadvance();
|
|
611
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(5,
|
|
761
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(5, _c16));
|
|
612
762
|
} }
|
|
613
763
|
function TableComponent_div_8_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
614
764
|
i0.ɵɵelementStart(0, "div");
|
|
615
|
-
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);
|
|
616
766
|
i0.ɵɵelementEnd();
|
|
617
767
|
} if (rf & 2) {
|
|
618
768
|
const pageNumber_r16 = ctx.$implicit;
|
|
@@ -623,22 +773,22 @@ function TableComponent_div_8_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
623
773
|
} }
|
|
624
774
|
function TableComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
625
775
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
626
|
-
i0.ɵɵelementStart(0, "div",
|
|
776
|
+
i0.ɵɵelementStart(0, "div", 30)(1, "p", 31);
|
|
627
777
|
i0.ɵɵtext(2);
|
|
628
778
|
i0.ɵɵelementEnd();
|
|
629
|
-
i0.ɵɵelementStart(3, "div",
|
|
779
|
+
i0.ɵɵelementStart(3, "div", 32)(4, "span", 33);
|
|
630
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)); });
|
|
631
781
|
i0.ɵɵnamespaceSVG();
|
|
632
|
-
i0.ɵɵelementStart(5, "svg",
|
|
633
|
-
i0.ɵɵelement(6, "path",
|
|
782
|
+
i0.ɵɵelementStart(5, "svg", 34);
|
|
783
|
+
i0.ɵɵelement(6, "path", 35);
|
|
634
784
|
i0.ɵɵelementEnd()();
|
|
635
|
-
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);
|
|
636
786
|
i0.ɵɵnamespaceHTML();
|
|
637
|
-
i0.ɵɵelementStart(8, "span",
|
|
787
|
+
i0.ɵɵelementStart(8, "span", 33);
|
|
638
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)); });
|
|
639
789
|
i0.ɵɵnamespaceSVG();
|
|
640
|
-
i0.ɵɵelementStart(9, "svg",
|
|
641
|
-
i0.ɵɵelement(10, "path",
|
|
790
|
+
i0.ɵɵelementStart(9, "svg", 34);
|
|
791
|
+
i0.ɵɵelement(10, "path", 37);
|
|
642
792
|
i0.ɵɵelementEnd()()()();
|
|
643
793
|
} if (rf & 2) {
|
|
644
794
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -664,6 +814,10 @@ class TableComponent {
|
|
|
664
814
|
this.pageSelected = new EventEmitter();
|
|
665
815
|
this.tableData = [];
|
|
666
816
|
this.subTableData = [];
|
|
817
|
+
// Sorting related properties
|
|
818
|
+
this.currentSort = null;
|
|
819
|
+
this.multiColumnSort = [];
|
|
820
|
+
this.sortChange = new EventEmitter();
|
|
667
821
|
}
|
|
668
822
|
// Function to handle row click
|
|
669
823
|
selectRow(index) {
|
|
@@ -671,6 +825,13 @@ class TableComponent {
|
|
|
671
825
|
!!this.config.rowConfig.action && this.config.rowConfig.action(index);
|
|
672
826
|
}
|
|
673
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);
|
|
674
835
|
this.tableLength = !!this.tableData ? this.tableData.length : 0;
|
|
675
836
|
this.initializeFilters();
|
|
676
837
|
if (this.config.paginationConfig) {
|
|
@@ -815,6 +976,25 @@ class TableComponent {
|
|
|
815
976
|
'font-size': fontSize
|
|
816
977
|
};
|
|
817
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
|
+
}
|
|
818
998
|
static { this.ɵfac = function TableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableComponent)(i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
|
|
819
999
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["mis-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
|
|
820
1000
|
i0.ɵɵviewQuery(_c0, 5);
|
|
@@ -825,7 +1005,7 @@ class TableComponent {
|
|
|
825
1005
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
|
|
826
1006
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
|
|
827
1007
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.colHeaders = _t);
|
|
828
|
-
} }, 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) {
|
|
829
1009
|
i0.ɵɵelementStart(0, "div", 3);
|
|
830
1010
|
i0.ɵɵtemplate(1, TableComponent_mis_table_filter_1_Template, 2, 2, "mis-table-filter", 4);
|
|
831
1011
|
i0.ɵɵelementStart(2, "div", 5, 0)(4, "div", 6);
|
|
@@ -850,11 +1030,11 @@ class TableComponent {
|
|
|
850
1030
|
i0.ɵɵproperty("ngForOf", ctx.tableData);
|
|
851
1031
|
i0.ɵɵadvance();
|
|
852
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));
|
|
853
|
-
} }, 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}#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}"] }); }
|
|
854
1034
|
}
|
|
855
1035
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
856
1036
|
type: Component,
|
|
857
|
-
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 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}#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"] }]
|
|
858
1038
|
}], () => [{ type: i0.Renderer2 }], { filtersUpdated: [{
|
|
859
1039
|
type: Output
|
|
860
1040
|
}], filter: [{
|
|
@@ -883,6 +1063,8 @@ class TableComponent {
|
|
|
883
1063
|
}], table: [{
|
|
884
1064
|
type: ViewChild,
|
|
885
1065
|
args: ["table"]
|
|
1066
|
+
}], sortChange: [{
|
|
1067
|
+
type: Output
|
|
886
1068
|
}] }); })();
|
|
887
1069
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableComponent, { className: "TableComponent" }); })();
|
|
888
1070
|
|
|
@@ -897,16 +1079,36 @@ class TableModule {
|
|
|
897
1079
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableModule, [{
|
|
898
1080
|
type: NgModule,
|
|
899
1081
|
args: [{
|
|
900
|
-
declarations: [
|
|
1082
|
+
declarations: [
|
|
1083
|
+
TableComponent,
|
|
1084
|
+
SubTableComponent,
|
|
1085
|
+
TableFilterComponent,
|
|
1086
|
+
CustomTableCellDirective,
|
|
1087
|
+
SortIconsDirective
|
|
1088
|
+
],
|
|
901
1089
|
imports: [CommonModule, CheckboxModule, ScrollingModule],
|
|
902
|
-
exports: [
|
|
1090
|
+
exports: [
|
|
1091
|
+
TableComponent,
|
|
1092
|
+
SubTableComponent,
|
|
1093
|
+
TableFilterComponent,
|
|
1094
|
+
CustomTableCellDirective,
|
|
1095
|
+
SortIconsDirective
|
|
1096
|
+
]
|
|
903
1097
|
}]
|
|
904
1098
|
}], null, null); })();
|
|
905
|
-
(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] }); })();
|
|
906
1108
|
|
|
907
1109
|
/**
|
|
908
1110
|
* Generated bundle index. Do not edit.
|
|
909
1111
|
*/
|
|
910
1112
|
|
|
911
|
-
export { CustomTableCellDirective, SubTableComponent, TableComponent, TableFilterComponent, TableModule };
|
|
1113
|
+
export { CustomTableCellDirective, DEFAULT_TABLE_CONFIG, SortIconsDirective, SubTableComponent, TableComponent, TableFilterComponent, TableModule };
|
|
912
1114
|
//# sourceMappingURL=mis-crystal-design-system-table.mjs.map
|