mis-crystal-design-system 17.0.2 → 17.0.4

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.
Files changed (80) hide show
  1. package/analytics/analytics.service.d.ts +1 -1
  2. package/async-search-dropdown/async-dropdown.component.d.ts +4 -1
  3. package/esm2022/analytics/analytics.service.mjs +3 -3
  4. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +27 -9
  5. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +2 -1
  6. package/esm2022/filter/filter-panel/filter-panel.component.mjs +22 -22
  7. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +29 -15
  8. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +5 -5
  9. package/esm2022/slider/slider.component.mjs +2 -2
  10. package/esm2022/table/actions-cell/actions-cell.component.mjs +389 -0
  11. package/esm2022/table/public_api.mjs +5 -3
  12. package/esm2022/table/sort-icons.directive.mjs +139 -0
  13. package/esm2022/table/table.component.mjs +286 -109
  14. package/esm2022/table/table.module.mjs +41 -6
  15. package/esm2022/toast/public_api.mjs +3 -1
  16. package/esm2022/toast/toast.component.mjs +73 -16
  17. package/esm2022/toast/toast.constants.mjs +7 -0
  18. package/esm2022/toast/toast.data.service.mjs +1 -1
  19. package/esm2022/toast/toast.interface.mjs +2 -0
  20. package/esm2022/toast/toast.service.mjs +14 -7
  21. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
  22. package/fesm2022/mis-crystal-design-system-analytics.mjs +2 -2
  23. package/fesm2022/mis-crystal-design-system-analytics.mjs.map +1 -1
  24. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +26 -8
  25. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
  26. package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
  27. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
  28. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
  29. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
  30. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +1 -0
  31. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
  32. package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
  33. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
  34. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  35. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
  36. package/fesm2022/mis-crystal-design-system-filter.mjs +21 -21
  37. package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
  38. package/fesm2022/mis-crystal-design-system-input-stepper.mjs +28 -14
  39. package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
  40. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
  41. package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
  42. package/fesm2022/mis-crystal-design-system-menu.mjs.map +1 -1
  43. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
  44. package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
  45. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
  46. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +4 -4
  47. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
  48. package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
  49. package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
  50. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
  51. package/fesm2022/mis-crystal-design-system-slider.mjs +2 -2
  52. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
  53. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
  54. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
  55. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
  56. package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
  57. package/fesm2022/mis-crystal-design-system-table.mjs +1143 -411
  58. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  59. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
  60. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  61. package/fesm2022/mis-crystal-design-system-toast.mjs +93 -22
  62. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
  63. package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
  64. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
  65. package/fesm2022/mis-crystal-design-system-widgets.mjs.map +1 -1
  66. package/filter/filter-panel/filter-panel.component.d.ts +4 -3
  67. package/input-stepper/input-stepper/input-stepper.component.d.ts +5 -1
  68. package/package.json +13 -13
  69. package/table/actions-cell/actions-cell.component.d.ts +45 -0
  70. package/table/filter/filter.component.d.ts +1 -1
  71. package/table/public_api.d.ts +4 -2
  72. package/table/sort-icons.directive.d.ts +36 -0
  73. package/table/table.component.d.ts +56 -10
  74. package/table/table.module.d.ts +8 -4
  75. package/toast/public_api.d.ts +2 -0
  76. package/toast/toast.component.d.ts +13 -1
  77. package/toast/toast.constants.d.ts +5 -0
  78. package/toast/toast.data.service.d.ts +3 -2
  79. package/toast/toast.interface.d.ts +6 -0
  80. package/toast/toast.service.d.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-table.mjs","sources":["../../../projects/mis-components/table/custom-table-cell.directive.ts","../../../projects/mis-components/table/sub-table/sub-table.component.html","../../../projects/mis-components/table/sub-table/sub-table.component.ts","../../../projects/mis-components/table/filter/filter.component.html","../../../projects/mis-components/table/filter/filter.component.ts","../../../projects/mis-components/table/table.component.html","../../../projects/mis-components/table/table.component.ts","../../../projects/mis-components/table/table.module.ts","../../../projects/mis-components/table/mis-crystal-design-system-table.ts"],"sourcesContent":["import { ComponentFactoryResolver, Directive, Input, ViewContainerRef } from \"@angular/core\";\n\n@Directive({\n selector: \"[customTableCell]\"\n})\nexport class CustomTableCellDirective {\n private ref: any;\n private component: any;\n private cellData: any;\n\n @Input() set customComponent(value: any) {\n this.component = value;\n this.createComponent();\n }\n @Input() set data(value: any) {\n this.cellData = value;\n if (this.ref) {\n this.ref.instance.data = this.cellData;\n }\n }\n\n constructor(private viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) {}\n\n createComponent() {\n if (this.component) {\n const cmpFactoryResolver = this.componentFactoryResolver.resolveComponentFactory(this.component);\n this.viewContainerRef.clear();\n this.ref = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.setData();\n }\n }\n setData() {\n this.ref.instance.data = this.cellData;\n }\n}\n","<div\n id=\"main-container\"\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth()\n }\"\n>\n <div id=\"table-container\" #table>\n <div\n id=\"col-headers-container\"\n *ngIf=\"!!config.showHeader\"\n [ngStyle]=\"{\n height: getColHeadersRowHeight(),\n 'border-top': getColHeadersRowBorderTop(),\n 'border-bottom': getColHeadersRowBorderBottom()\n }\"\n >\n <div\n class=\"col-header\"\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config?.colHeaderConfig\"\n [style]=\"colHeader?.style\"\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\n *ngIf=\"colHeader?.type === 'custom'\"\n customTableCell\n [customComponent]=\"colHeader?.componentRef\"\n [data]=\"colHeader.data\"\n ></ng-template>\n </div>\n </div>\n <div>\n <cdk-virtual-scroll-viewport\n [minBufferPx]=\"config.dataContainerMaxHeight || '400'\"\n [maxBufferPx]=\"config.dataContainerMaxHeight + 200 || '600'\"\n [style.overflow]=\"'overlay'\"\n [style.height]=\"config.dataContainerMaxHeight || '400px'\"\n itemSize=\"50\"\n id=\"data-container\"\n >\n <div\n class=\"row-wrapper\"\n *cdkVirtualFor=\"let row of tableData; let i = index\"\n [ngStyle]=\"{\n backgroundColor: i % 2 === 0 ? '#FAFAFA' : null\n }\"\n >\n <div class=\"t-row\">\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 >\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>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"sub-table\",\n templateUrl: \"sub-table.component.html\",\n styleUrls: [\"sub-table.component.css\"]\n})\nexport class SubTableComponent implements OnInit, AfterViewInit {\n selectedPage = 1;\n pages: Array<number> = [];\n\n @Input() config: SubTableConfig | any;\n @Input() tableData: Array<Array<any>> = [];\n @ViewChild(\"table\") table: ElementRef | any;\n constructor(private renderer: Renderer2) {}\n\n ngOnInit() {}\n\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.table.nativeElement.offsetHeight;\n this.renderer.setStyle(this.table.nativeElement, \"height\", height - 56 + \"px\");\n }\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config.height) return this.config.height;\n else return \"\";\n }\n getContainerWidth() {\n if (this.config.width) return this.config.width;\n else return \"\";\n }\n\n // Column Headers related functions\n getColHeadersRowHeight() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.height) {\n return this.config.colHeadersRowConfig.height;\n } else return \"44px\";\n }\n getColHeadersRowBorderTop() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderTop) {\n return this.config.colHeadersRowConfig.style?.borderTop;\n } else return \"\";\n }\n getColHeadersRowBorderBottom() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderBottom) {\n return this.config.colHeadersRowConfig.style?.borderBottom;\n } else return \"1px solid #E0E0E0\";\n }\n}\n\nexport interface SubTableConfig {\n height: string | \"100%\";\n width: string | \"100%\";\n dataContainerMaxHeight: string | \"400px\";\n showHeader?: boolean | undefined;\n rowConfig: SubTableRowConfig | undefined | null;\n colHeaderConfig?: Array<SubTableColHeaderConfig>;\n colConfig: Array<SubTableColConfig>;\n}\n\nexport interface SubTableRowConfig {\n height?: string | undefined | null;\n style?: {};\n}\nexport interface SubTableColHeaderConfig {\n type: \"text\" | \"number\" | \"custom\";\n data: any;\n componentRef?: any;\n style?: {};\n action?: any;\n}\nexport interface SubTableColConfig {\n type: \"text\" | \"number\" | \"custom\";\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","<div id=\"main-container\" #mainContainer [ngStyle]=\"containerStyles\">\n <div id=\"search-bar-container\">\n <input (keyup)=\"updateSearchValue($event)\" type=\"text\" placeholder=\"Search\" />\n <svg id=\"search-icon\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.21496 8.14563C1.21496 4.3179 4.33709 1.21165 8.19249 1.21165C12.0479 1.21165 15.17 4.3179 15.17 8.14563C15.17 9.69308 14.6598 11.1226 13.797 12.2767L12.3684 13.7013C11.2043 14.5668 9.75891 15.0796 8.19249 15.0796C4.33709 15.0796 1.21496 11.9734 1.21496 8.14563ZM12.9419 14.7835C11.602 15.7329 9.96259 16.2913 8.19249 16.2913C3.66965 16.2913 -0.00012207 12.6461 -0.00012207 8.14563C-0.00012207 3.64512 3.66965 0 8.19249 0C12.7153 0 16.3851 3.64512 16.3851 8.14563C16.3851 9.93713 15.8036 11.5931 14.8183 12.9375L16.836 14.4048C17.6704 14.912 18.7553 15.6543 17.2453 17.215C15.7352 18.7756 15.0098 17.6663 14.499 16.8364L12.9419 14.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div id=\"filters-main-container\">\n <div class=\"filters-sub-container\">\n <div *ngFor=\"let filter of getCheckedFilters()\">\n <div class=\"filter\">\n <mis-checkbox [checked]=\"true\" [name]=\"filter.value\" (valueChange)=\"updateFilter($event)\"></mis-checkbox>\n <span class=\"filter-text\">{{ filter.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"separator\" [ngStyle]=\"{ 'margin': '16px 0px' }\" *ngIf=\"getCheckedFilters().length && getCheckedFilters().length < filtersData.length\"></div>\n <div class=\"filters-sub-container\">\n <div *ngFor=\"let filter of getFiltersBasedOnSearchValue()\">\n <div class=\"filter\" *ngIf=\"!filter.checked\">\n <mis-checkbox [checked]=\"false\" [name]=\"filter.value\" (valueChange)=\"updateFilter($event)\"></mis-checkbox>\n <span class=\"filter-text\">{{ filter.name }}</span>\n </div>\n </div>\n <div id=\"no-results-container\" *ngIf=\"getFiltersBasedOnSearchValue().length < 1\">\n <span class=\"filter-text\">No matches found</span>\n </div>\n </div>\n <div class=\"separator\" [ngStyle]=\"{ 'margin': '16px 0px' }\"></div>\n <div id=\"buttons-container\">\n <button id=\"reset-btn\" [ngStyle]=\"{ 'margin-right': '8px' }\" (click)=\"resetFilters()\">Reset</button>\n <button id=\"apply-btn\" (click)=\"applyFilters()\">Apply</button>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"mis-table-filter\",\n templateUrl: \"filter.component.html\",\n styleUrls: [\"filter.component.css\"]\n})\nexport class TableFilterComponent implements OnInit {\n @Input() filtersData: Array<Filter> = [];\n @Input() containerStyles: any = {};\n\n @Output() filtersApplied = new EventEmitter<any>();\n\n @ViewChild(\"mainContainer\") container: ElementRef | undefined;\n\n filtersMap: any = {};\n searchValue: string = \"\";\n\n constructor() {}\n\n ngOnInit(): void {\n this.filtersData.forEach(filter => {\n this.filtersMap[filter.value] = filter;\n });\n }\n resetFilters() {\n this.filtersData.forEach(filter => {\n this.filtersMap[filter.value].checked = false;\n });\n this.filtersApplied.emit([]);\n }\n applyFilters() {\n let list = Object.values(this.filtersMap)\n .filter((filter: Filter | any) => filter.checked)\n .map((filter: Filter | any) => {\n return {\n name: filter.name,\n value: filter.value\n };\n });\n this.filtersApplied.emit(list);\n }\n updateSearchValue(event: any) {\n this.searchValue = event.target.value;\n }\n updateFilter(data: any) {\n if (this.filtersMap[data.name]) {\n this.filtersMap[data.name].checked = !this.filtersMap[data.name].checked;\n }\n }\n getFiltersBasedOnSearchValue(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list.filter((filter: Filter | any) => {\n return filter.name.match(new RegExp(this.searchValue, \"i\"));\n });\n return list.sort(this.mySort);\n }\n getCheckedFilters(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list.filter((filter: Filter | any) => filter.checked).sort(this.mySort);\n return list;\n }\n mySort = (a: Filter | any, b: Filter | any) => {\n if (a.name < b.name) return -1;\n else if (b.name < a.name) return 1;\n else return 0;\n };\n}\nexport interface Filter {\n name: string;\n value: string;\n checked: boolean;\n}\n","<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","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren\n} from \"@angular/core\";\nimport { Filter, TableFilterComponent } from \"./filter/filter.component\";\n\n@Component({\n selector: \"mis-table\",\n templateUrl: \"table.component.html\",\n styleUrls: [\"table.component.css\"]\n})\nexport class TableComponent implements OnInit, AfterViewInit, OnChanges {\n\n // Initialize with -1 to indicate no row is colored at the beginning\n activeRowIndex: number = 0; \n\n // Filter related variables\n showFilter: boolean = false;\n filterName: string = \"\";\n filterData: Array<Filter> = [];\n filterContainerStyles: any = {};\n appliedFilters: { [key: string]: Array<{ name: string; value: string }> } = {};\n @Output() filtersUpdated = new EventEmitter<{\n [key: string]: Array<{ name: string; value: string }>;\n }>();\n\n @ViewChild(\"filter\") filter: TableFilterComponent | any;\n @ViewChildren(\"colHeaderRef\") colHeaders: QueryList<ElementRef> | any;\n\n // Pagination related variables\n pages: Array<number> = [];\n tableLength: number;\n @Output() pageSelected = new EventEmitter<number>();\n\n @Input(\"tableConfig\") config: TableConfig | any;\n @Input() subTableconfig: TableConfig | any;\n @Input() tableDataLoading: boolean | any;\n @Input() expandedIndex: number | any;\n @Input() tableData: Array<Array<any>> = [];\n @Input() subTableData: Array<Array<any>> = [];\n @Input() subTableDataLoading: boolean | any;\n @ViewChild(\"table\") table: ElementRef | any;\n\n constructor(private renderer: Renderer2) { }\n\n // Function to handle row click\n selectRow(index: number) {\n this.activeRowIndex = index; // Set the selected index to the clicked row's index\n !!this.config.rowConfig.action && this.config.rowConfig.action(index);\n }\n ngOnInit(): void {\n this.tableLength = !!this.tableData ? this.tableData.length : 0;\n this.initializeFilters();\n if (this.config.paginationConfig) {\n this.initializePagination();\n }\n if (this.config.canScrollHorizontally === undefined) {\n this.config.canScrollHorizontally = false;\n }\n document.addEventListener(\"click\", event => {\n if (this.filter) {\n let isCheckBoxClicked = true;\n let targetElement = event.target as HTMLSpanElement;\n if (targetElement.className === \"checkmark\") {\n isCheckBoxClicked = true;\n this.showFilter = true;\n }\n let isClickInsideElement = this.filter.container.nativeElement.contains(event.target);\n if (!isClickInsideElement && !isCheckBoxClicked) {\n this.toggleFilter(this.filterName);\n }\n }\n });\n }\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.config.height;\n this.renderer.setStyle(this.table.nativeElement, \"height\", height - 56 + \"px\");\n }\n }\n ngOnChanges() {\n this.tableLength = !!this.tableData ? this.tableData.length : 0;\n this.activeRowIndex = this.config.activeRowIndex || 0;\n }\n\n // Filter related functions\n initializeFilters() {\n for (let colHeader of this.config?.colHeaderConfig) {\n if (colHeader.filters) {\n let filters = [];\n for (let filter of colHeader.filters) {\n if (filter.checked) {\n filters.push({\n name: filter.name,\n value: filter.value\n });\n }\n }\n if (filters.length > 0) this.appliedFilters[colHeader.data] = filters;\n }\n }\n }\n toggleFilter(filterName: string) {\n if (!this.showFilter) {\n this.filterName = filterName;\n this.showFilter = true;\n\n let offSet = 0;\n let colHeadersReversed = this.colHeaders.toArray().reverse();\n\n for (let header of colHeadersReversed) {\n if (header.nativeElement.innerText === filterName) break;\n offSet += header.nativeElement.offsetWidth;\n }\n this.filterContainerStyles = {\n top: \"44px\",\n right: offSet > 0 ? offSet - 116 + \"px\" : \"12px\"\n };\n } else {\n this.filterName = \"\";\n this.filterData = [];\n this.showFilter = false;\n }\n }\n updateAppliedFilters(appliedFilters: Array<{ name: string; value: string }>) {\n if (appliedFilters.length == 0) {\n delete this.appliedFilters[this.filterName];\n } else {\n this.appliedFilters[this.filterName] = appliedFilters;\n }\n this.filtersUpdated.emit({ ...this.appliedFilters });\n this.toggleFilter(this.filterName);\n }\n\n // Pagination related functions\n initializePagination() {\n if (this.config.paginationConfig) {\n let len = this.config.paginationConfig.noOfPages;\n if (len <= 7) {\n for (let i = 1; i <= len; i++) {\n this.pages.push(i);\n }\n } else {\n this.pages = [1, 2, 3, 4, 0, len];\n }\n }\n }\n updateSelectedPage(pageNumber: number) {\n if (pageNumber < 1 || pageNumber > this.config.paginationConfig.noOfPages) return;\n this.config.paginationConfig.selectedPage = pageNumber;\n let len = this.config.paginationConfig.noOfPages;\n if (len > 7) {\n if (pageNumber - 2 <= 1) {\n this.pages = [1, 2, 3, 4, 0, len];\n } else if (pageNumber - 2 > 1 && pageNumber + 2 < len) {\n this.pages = [1, 0, pageNumber - 1, pageNumber, pageNumber + 1, 0, len];\n } else if (pageNumber + 2 >= len) {\n this.pages = [1, 0, len - 3, len - 2, len - 1, len];\n }\n }\n this.pageSelected.emit(this.config.paginationConfig?.selectedPage);\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config?.height) return this.config.height;\n else return \"\";\n }\n getContainerWidth() {\n if (this.config?.width) return this.config.width;\n else return \"\";\n }\n\n // Column Headers related functions\n getColHeadersRowStyles() {\n const { colHeadersRowConfig } = this.config;\n const minHeight = colHeadersRowConfig?.height || \"44px\";\n const borderTop = colHeadersRowConfig?.style?.borderTop || \"\";\n const borderBottom = colHeadersRowConfig?.style?.borderBottom || \"1px solid #E0E0E0\";\n const backgroundColor = colHeadersRowConfig?.style?.backgroundColor || \"#FFFFFF\";\n const fontSize = colHeadersRowConfig?.style?.fontSize || \"14px\";\n return {\n 'min-height': minHeight,\n 'border-top': borderTop,\n 'border-bottom': borderBottom,\n 'background-color': backgroundColor,\n 'font-size': fontSize\n };\n }\n\n}\n\nexport interface TableConfig {\n height: string | \"100%\";\n width: string | \"100%\";\n paginationConfig?: PaginationConfig | undefined | null;\n colHeadersRowConfig: RowConfig | undefined | null;\n rowConfig: RowConfig | undefined | null;\n colHeaderConfig: Array<ColHeaderConfig>;\n colConfig: Array<ColConfig>;\n canExpand?: boolean;\n canScrollHorizontally?: boolean;\n cellHover?: boolean;\n activeRowIndex?: number;\n}\nexport interface PaginationConfig {\n noOfPages: number;\n rowsPerPage: number;\n totalNoOfRows: number;\n selectedPage?: number;\n}\nexport interface RowConfig {\n height?: string | undefined | null;\n style?: {};\n action?: any;\n}\nexport interface ColHeaderConfig {\n type: \"text\" | \"number\" | \"custom\";\n data: any;\n componentRef?: any;\n filters?: Array<Filter> | null;\n style?: {};\n action?: any;\n}\nexport interface ColConfig {\n type: \"text\" | \"number\" | \"custom\";\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { TableComponent } from \"./table.component\";\nimport { CustomTableCellDirective } from \"./custom-table-cell.directive\";\nimport { SubTableComponent } from \"./sub-table/sub-table.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { TableFilterComponent } from \"./filter/filter.component\";\nimport { CheckboxModule } from \"mis-crystal-design-system/checkbox\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\n\n@NgModule({\n declarations: [TableComponent, SubTableComponent, TableFilterComponent, CustomTableCellDirective],\n imports: [CommonModule, CheckboxModule, ScrollingModule],\n exports: [TableComponent, SubTableComponent, TableFilterComponent, CustomTableCellDirective]\n})\nexport class TableModule {\n static forRoot(): ModuleWithProviders<TableModule> {\n return { ngModule: TableModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_c3","_c2","_c7","_c5","_c6","_c4","_c1"],"mappings":"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"}
1
+ {"version":3,"file":"mis-crystal-design-system-table.mjs","sources":["../../../projects/mis-components/table/table.component.html","../../../projects/mis-components/table/table.component.ts","../../../projects/mis-components/table/custom-table-cell.directive.ts","../../../projects/mis-components/table/sub-table/sub-table.component.html","../../../projects/mis-components/table/sub-table/sub-table.component.ts","../../../projects/mis-components/table/filter/filter.component.html","../../../projects/mis-components/table/filter/filter.component.ts","../../../projects/mis-components/table/sort-icons.directive.ts","../../../projects/mis-components/table/actions-cell/actions-cell.component.html","../../../projects/mis-components/table/actions-cell/actions-cell.component.ts","../../../projects/mis-components/table/table.module.ts","../../../projects/mis-components/table/mis-crystal-design-system-table.ts"],"sourcesContent":["<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' && colHeader?.type !== 'checkbox'\" 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\n (click)=\"toggleCheckbox(); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type === 'checkbox'\"\n class=\"checkbox-icon\"\n >\n <mis-checkbox [checked]=\"selectAllCheckbox\"></mis-checkbox>\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; let rowIndex = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': config.cellHover, 'active-row': activeRowIndex.includes(i) }\"\n [ngStyle]=\"{ 'min-height': config?.rowConfig?.height ? config.rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n [class.disabled-row]=\"isRowDisabled(row)\"\n >\n <div\n (click)=\"config?.colConfig[i]?.action && config?.colConfig[i]?.actionType !== 'checkbox' ? 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' && config.colConfig[i]?.type !== 'actions'\"\n [ngStyle]=\"{\n color: config?.colConfig[i]?.style?.color || '',\n '--collapsed-lines': previewLines || 3\n }\"\n [ngClass]=\"{\n 'collapsed-cell': collapseColIndex == i && expandedMap[rowIndex]\n }\" \n class=\"t-col-text\"\n >\n {{col}}\n </p>\n \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 <mis-actions-cell\n *ngIf=\"config.colConfig[i]?.type === 'actions'\"\n [cellData]=\"col\"\n [config]=\"config.colConfig[i]\"\n (actionClick)=\"onActionClick($event, rowIndex)\"\n [ngClass]=\"{\n 'disable-actions': (config.colConfig[i]?.actionType === 'checkbox' || config.colConfig[i]?.actionType === 'row-collapse') && isRowDisabled(row)\n }\"\n ></mis-actions-cell>\n\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)=\"config.paginationConfig?.selectedPage > 1 && updateSelectedPage(config.paginationConfig?.selectedPage - 1)\" class=\"page\" [class.page-nav-inactive]=\"config.paginationConfig?.selectedPage === 1\">\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 <!-- Page numbers (only show if disablePageJumping is false) -->\n <ng-container *ngIf=\"!config.paginationConfig?.disablePageJumping\">\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 page-jumping-enabled\"\n >{{ pageNumber }}</span>\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 </ng-container>\n \n <span [class.page-nav-inactive]=\"config.paginationConfig?.selectedPage === config.paginationConfig?.noOfPages\"\n (click)=\"config.paginationConfig?.selectedPage < config.paginationConfig?.noOfPages && 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","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren\n} from \"@angular/core\";\nimport { Filter, TableFilterComponent } from \"./filter/filter.component\";\nimport { SortState } from \"./sort-icons.directive\";\n\n@Component({\n selector: \"mis-table\",\n templateUrl: \"table.component.html\",\n styleUrls: [\"table.component.css\"]\n})\nexport class TableComponent implements OnInit, AfterViewInit, OnChanges {\n // Initialize with -1 to indicate no row is colored at the beginning\n activeRowIndex: number[] = [];\n hasCheckboxActions: boolean = false;\n selectAllCheckbox: boolean = false;\n\n // Filter related variables\n showFilter: boolean = false;\n filterName: string = \"\";\n filterData: Array<Filter> = [];\n filterContainerStyles: any = {};\n appliedFilters: { [key: string]: Array<{ name: string; value: string }> } = {};\n @Output() filtersUpdated = new EventEmitter<{\n [key: string]: Array<{ name: string; value: string }>;\n }>();\n\n @ViewChild(\"filter\") filter: TableFilterComponent | any;\n @ViewChildren(\"colHeaderRef\") colHeaders: QueryList<ElementRef> | any;\n\n // Pagination related variables\n pages: Array<number> = [];\n tableLength: number;\n @Output() pageSelected = new EventEmitter<number>();\n\n @Input(\"tableConfig\") config: TableConfig | any;\n @Input() subTableconfig: TableConfig | any;\n @Input() tableDataLoading: boolean | any;\n @Input() expandedIndex: number | any;\n @Input() tableData: Array<Array<any>> = [];\n @Input() subTableData: Array<Array<any>> = [];\n @Input() subTableDataLoading: boolean | any;\n @ViewChild(\"table\") table: ElementRef | any;\n collapseColIndex: number = -1;\n previewLines: number = 0;\n rowCollapseConfigIndex: number = -1;\n expandedMap: Record<string, boolean> = {};\n\n // Sorting related properties\n currentSort: SortState | null = null;\n multiColumnSort: SortState[] = [];\n @Output() sortChange = new EventEmitter<SortState>();\n @Output() headerAction? = new EventEmitter<{ type: string; payload?: any }>();\n\n constructor(private renderer: Renderer2) {}\n\n // Function to handle row click\n selectRow(index: number) {\n if (this.hasCheckboxActions) return;\n this.activeRowIndex = [index]; // Set the selected index to the clicked row's index\n !!this.config.rowConfig.action && this.config.rowConfig.action(index);\n }\n\n ngOnInit(): void {\n this.hasCheckboxActions = this.config.colConfig?.some(col => col.type === \"actions\" && col.actionType === \"checkbox\");\n this.tableLength = !!this.tableData ? this.tableData.length : 0;\n this.initializeFilters();\n if (this.config.paginationConfig) {\n this.initializePagination();\n }\n if (this.config.canScrollHorizontally === undefined) {\n this.config.canScrollHorizontally = false;\n }\n document.addEventListener(\"click\", event => {\n if (this.filter) {\n let isCheckBoxClicked = true;\n let targetElement = event.target as HTMLSpanElement;\n if (targetElement.className === \"checkmark\") {\n isCheckBoxClicked = true;\n this.showFilter = true;\n }\n let isClickInsideElement = this.filter.container.nativeElement.contains(event.target);\n if (!isClickInsideElement && !isCheckBoxClicked) {\n this.toggleFilter(this.filterName);\n }\n }\n });\n\n // fetch collapseColIndex and previewLines if present\n this.rowCollapseConfigIndex = this.config?.colConfig?.findIndex(\n col => col.type === 'actions' && col.actionType === 'row-collapse'\n );\n if (this.rowCollapseConfigIndex !== -1) {\n this.collapseColIndex = this.config.colConfig[this.rowCollapseConfigIndex].collapseColumnIndex ?? null;\n this.collapseColIndex = this.config.colConfig[this.rowCollapseConfigIndex].collapseColumnIndex ?? null;\n this.previewLines = this.config.colConfig[this.rowCollapseConfigIndex].previewLines ?? null;\n this.buildExpandedMap();\n }\n }\n\n buildExpandedMap(): void{\n this.expandedMap = {};\n this.tableData.forEach((row, rowIndex) => {\n this.expandedMap[`${rowIndex}`] =\n row[this.rowCollapseConfigIndex];\n });\n }\n\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.config.height;\n this.renderer.setStyle(this.table.nativeElement, \"height\", height - 56 + \"px\");\n }\n }\n ngOnChanges() {\n this.tableLength = this.tableData?.length ?? 0;\n if (this.config.activeRowIndex !== null) {\n this.activeRowIndex = Array.isArray(this.config.activeRowIndex) ? this.config.activeRowIndex : [this.config.activeRowIndex]\n }\n }\n\n // Filter related functions\n initializeFilters() {\n for (let colHeader of this.config?.colHeaderConfig) {\n if (colHeader.filters) {\n let filters = [];\n for (let filter of colHeader.filters) {\n if (filter.checked) {\n filters.push({\n name: filter.name,\n value: filter.value\n });\n }\n }\n if (filters.length > 0) this.appliedFilters[colHeader.data] = filters;\n }\n }\n }\n toggleFilter(filterName: string) {\n if (!this.showFilter) {\n this.filterName = filterName;\n this.showFilter = true;\n\n let offSet = 0;\n let colHeadersReversed = this.colHeaders.toArray().reverse();\n\n for (let header of colHeadersReversed) {\n if (header.nativeElement.innerText === filterName) break;\n offSet += header.nativeElement.offsetWidth;\n }\n this.filterContainerStyles = {\n top: \"44px\",\n right: offSet > 0 ? offSet - 116 + \"px\" : \"12px\"\n };\n } else {\n this.filterName = \"\";\n this.filterData = [];\n this.showFilter = false;\n }\n }\n updateAppliedFilters(appliedFilters: Array<{ name: string; value: string }>) {\n if (appliedFilters.length == 0) {\n delete this.appliedFilters[this.filterName];\n } else {\n this.appliedFilters[this.filterName] = appliedFilters;\n }\n this.filtersUpdated.emit({ ...this.appliedFilters });\n this.toggleFilter(this.filterName);\n }\n\n // Pagination related functions\n initializePagination() {\n if (this.config.paginationConfig) {\n let len = this.config.paginationConfig.noOfPages;\n if (len <= 7) {\n for (let i = 1; i <= len; i++) {\n this.pages.push(i);\n }\n } else {\n this.pages = [1, 2, 3, 4, 0, len];\n }\n }\n }\n updateSelectedPage(pageNumber: number) {\n // Guard clause to prevent out-of-range updates\n if (pageNumber < 1 || pageNumber > this.config.paginationConfig.noOfPages) return;\n\n if (this.config.colHeaderConfig?.some(col => col.type === \"checkbox\")) {\n this.selectAllCheckbox = false;\n }\n if (pageNumber < 1 || pageNumber > this.config.paginationConfig.noOfPages) return;\n this.config.paginationConfig.selectedPage = pageNumber;\n let len = this.config.paginationConfig.noOfPages;\n if (len > 7) {\n if (pageNumber - 2 <= 1) {\n this.pages = [1, 2, 3, 4, 0, len];\n } else if (pageNumber - 2 > 1 && pageNumber + 2 < len) {\n this.pages = [1, 0, pageNumber - 1, pageNumber, pageNumber + 1, 0, len];\n } else if (pageNumber + 2 >= len) {\n this.pages = [1, 0, len - 3, len - 2, len - 1, len];\n }\n }\n this.pageSelected.emit(this.config.paginationConfig?.selectedPage);\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config?.height) return this.config.height;\n else return \"\";\n }\n getContainerWidth() {\n if (this.config?.width) return this.config.width;\n else return \"\";\n }\n\n // Column Headers related functions\n getColHeadersRowStyles() {\n const { colHeadersRowConfig } = this.config;\n const minHeight = colHeadersRowConfig?.height || \"44px\";\n const borderTop = colHeadersRowConfig?.style?.borderTop || \"\";\n const borderBottom = colHeadersRowConfig?.style?.borderBottom || \"1px solid #E0E0E0\";\n const backgroundColor = colHeadersRowConfig?.style?.backgroundColor || \"#FFFFFF\";\n const fontSize = colHeadersRowConfig?.style?.fontSize || \"14px\";\n return {\n \"min-height\": minHeight,\n \"border-top\": borderTop,\n \"border-bottom\": borderBottom,\n \"background-color\": backgroundColor,\n \"font-size\": fontSize\n };\n }\n\n onSortChange(sortState: SortState) {\n this.currentSort = sortState;\n if (this.config.multiColumnSort) {\n const index = this.multiColumnSort.findIndex(sort => sort.column === sortState.column);\n if (index !== -1) {\n if (sortState.direction === null) {\n this.multiColumnSort.splice(index, 1);\n } else {\n this.multiColumnSort[index] = sortState;\n }\n } else if (sortState.direction !== null) {\n this.multiColumnSort.push(sortState);\n }\n }\n this.sortChange.emit(sortState);\n }\n\n getActionsCellStyle(style: any): any {\n if (!style) return {};\n const { width, ...restStyle } = style;\n return restStyle;\n }\n\n onActionClick(event: any, rowIndex: number): void {\n if (event.actionType === 'checkbox') {\n if (event.value) {\n this.activeRowIndex.push(rowIndex);\n } else {\n this.activeRowIndex = this.activeRowIndex.filter(index => index !== rowIndex);\n }\n\n const actionInfo = this.findActionConfig('checkbox');\n if (actionInfo && this.tableData[rowIndex]) {\n const { index, config } = actionInfo;\n this.tableData[rowIndex][index] = event.value;\n const checkedItems = this.tableData.filter(row => row[index] === true);\n config.action?.(checkedItems);\n }\n\n } else if(event.actionType === 'row-collapse'){\n const rowCollapse = this.findActionConfig('row-collapse');\n if (rowCollapse && this.tableData[rowIndex]) {\n this.tableData[rowIndex][rowCollapse.index] = event.value;\n rowCollapse.config.action?.(this.tableData);\n this.buildExpandedMap();\n }\n }\n }\n\n findActionConfig(actionType: string): { index: number, config: ColConfig } | null {\n for (let i = 0; i < this.config.colConfig.length; i++) {\n const col = this.config.colConfig[i];\n if (col.type === 'actions' && col.actionType === actionType) {\n return { index: i, config: col };\n }\n }\n return null;\n }\n \n\n isRowDisabled(row: any): boolean {\n return typeof this.config.rowConfig.disableRow === \"function\" ? this.config.rowConfig.disableRow(row) : false;\n }\n\n toggleCheckbox() {\n this.selectAllCheckbox = !this.selectAllCheckbox;\n const checkboxColIndex = this.config.colConfig.findIndex(col => col.type === 'actions' && col.actionType === 'checkbox');\n if (checkboxColIndex !== -1) {\n this.tableData = this.tableData.map((row: any[]) => {\n const updatedRow = [...row];\n const currentCheckbox = updatedRow[checkboxColIndex];\n const isDisabled = this.isRowDisabled(row);\n if (!isDisabled) {\n updatedRow[checkboxColIndex] = {\n ...currentCheckbox,\n value: this.selectAllCheckbox\n };\n }\n return updatedRow;\n });\n this.headerAction?.emit({\n type: \"checkboxToggle\",\n payload: this.tableData\n });\n }\n }\n}\n\nexport interface TableConfig {\n height: string | \"100%\";\n width: string | \"100%\";\n paginationConfig?: PaginationConfig | undefined | null;\n colHeadersRowConfig: RowConfig | undefined | null;\n rowConfig: RowConfig | undefined | null;\n colHeaderConfig: Array<ColHeaderConfig>;\n colConfig: Array<ColConfig>;\n canExpand?: boolean;\n canScrollHorizontally?: boolean;\n cellHover?: boolean;\n activeRowIndex?: number | number[];\n multiColumnSort?: boolean;\n}\nexport interface PaginationConfig {\n noOfPages: number;\n rowsPerPage: number;\n totalNoOfRows: number;\n selectedPage?: number;\n disablePageJumping?: boolean;\n}\nexport interface RowConfig {\n height?: string | undefined | null;\n style?: {};\n action?: any;\n disableRow?: (data: any) => boolean;\n}\nexport interface ColHeaderConfig {\n type: \"text\" | \"number\" | \"custom\" | \"checkbox\";\n data: any;\n componentRef?: any;\n filters?: Array<Filter> | null;\n style?: {};\n action?: any;\n isSortable?: boolean;\n sortAscIcon?: string;\n sortDescIcon?: string;\n}\nexport interface ColConfig {\n type: \"text\" | \"number\" | \"custom\" | \"actions\";\n componentRef?: any;\n style?: {};\n action?: any;\n actionItems?: ActionItem[];\n actionType?: \"inline\" | \"dropdown\" | \"checkbox\" | \"row-collapse\"; // inline for individual icons, dropdown for menu\n disable?: (rowData: any) => boolean;\n collapseColumnIndex?: number;\n previewLines?: number;\n}\nexport interface ActionItem {\n label: string;\n value: string;\n icon?: string;\n disable?: (data: any) => boolean;\n action?: (data: any) => void;\n children?: ActionItem[];\n}\nexport interface InternalActionItem extends ActionItem {\n showSubmenu?: boolean;\n}\n","import { ComponentFactoryResolver, Directive, Input, ViewContainerRef } from \"@angular/core\";\n\n@Directive({\n selector: \"[customTableCell]\"\n})\nexport class CustomTableCellDirective {\n private ref: any;\n private component: any;\n private cellData: any;\n\n @Input() set customComponent(value: any) {\n this.component = value;\n this.createComponent();\n }\n @Input() set data(value: any) {\n this.cellData = value;\n if (this.ref) {\n this.ref.instance.data = this.cellData;\n }\n }\n\n constructor(private viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) {}\n\n createComponent() {\n if (this.component) {\n const cmpFactoryResolver = this.componentFactoryResolver.resolveComponentFactory(this.component);\n this.viewContainerRef.clear();\n this.ref = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.setData();\n }\n }\n setData() {\n this.ref.instance.data = this.cellData;\n }\n}\n","<div\n id=\"main-container\"\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth()\n }\"\n>\n <div id=\"table-container\" #table>\n <div\n id=\"col-headers-container\"\n *ngIf=\"!!config.showHeader\"\n [ngStyle]=\"{\n height: getColHeadersRowHeight(),\n 'border-top': getColHeadersRowBorderTop(),\n 'border-bottom': getColHeadersRowBorderBottom()\n }\"\n >\n <div\n class=\"col-header\"\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of config?.colHeaderConfig\"\n [style]=\"colHeader?.style\"\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\n *ngIf=\"colHeader?.type === 'custom'\"\n customTableCell\n [customComponent]=\"colHeader?.componentRef\"\n [data]=\"colHeader.data\"\n ></ng-template>\n </div>\n </div>\n <div>\n <cdk-virtual-scroll-viewport\n [minBufferPx]=\"config.dataContainerMaxHeight || '400'\"\n [maxBufferPx]=\"config.dataContainerMaxHeight + 200 || '600'\"\n [style.overflow]=\"'overlay'\"\n [style.height]=\"config.dataContainerMaxHeight || '400px'\"\n itemSize=\"50\"\n id=\"data-container\"\n >\n <div\n class=\"row-wrapper\"\n *cdkVirtualFor=\"let row of tableData; let i = index\"\n [ngStyle]=\"{\n backgroundColor: i % 2 === 0 ? '#FAFAFA' : null\n }\"\n >\n <div class=\"t-row\">\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 >\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>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"sub-table\",\n templateUrl: \"sub-table.component.html\",\n styleUrls: [\"sub-table.component.css\"]\n})\nexport class SubTableComponent implements OnInit, AfterViewInit {\n selectedPage = 1;\n pages: Array<number> = [];\n\n @Input() config: SubTableConfig | any;\n @Input() tableData: Array<Array<any>> = [];\n @ViewChild(\"table\") table: ElementRef | any;\n constructor(private renderer: Renderer2) {}\n\n ngOnInit() {}\n\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.table.nativeElement.offsetHeight;\n this.renderer.setStyle(this.table.nativeElement, \"height\", height - 56 + \"px\");\n }\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config.height) return this.config.height;\n else return \"\";\n }\n getContainerWidth() {\n if (this.config.width) return this.config.width;\n else return \"\";\n }\n\n // Column Headers related functions\n getColHeadersRowHeight() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.height) {\n return this.config.colHeadersRowConfig.height;\n } else return \"44px\";\n }\n getColHeadersRowBorderTop() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderTop) {\n return this.config.colHeadersRowConfig.style?.borderTop;\n } else return \"\";\n }\n getColHeadersRowBorderBottom() {\n if (this.config.colHeadersRowConfig && this.config.colHeadersRowConfig.style?.borderBottom) {\n return this.config.colHeadersRowConfig.style?.borderBottom;\n } else return \"1px solid #E0E0E0\";\n }\n}\n\nexport interface SubTableConfig {\n height: string | \"100%\";\n width: string | \"100%\";\n dataContainerMaxHeight: string | \"400px\";\n showHeader?: boolean | undefined;\n rowConfig: SubTableRowConfig | undefined | null;\n colHeaderConfig?: Array<SubTableColHeaderConfig>;\n colConfig: Array<SubTableColConfig>;\n}\n\nexport interface SubTableRowConfig {\n height?: string | undefined | null;\n style?: {};\n}\nexport interface SubTableColHeaderConfig {\n type: \"text\" | \"number\" | \"custom\";\n data: any;\n componentRef?: any;\n style?: {};\n action?: any;\n}\nexport interface SubTableColConfig {\n type: \"text\" | \"number\" | \"custom\";\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","<div id=\"main-container\" #mainContainer [ngStyle]=\"containerStyles\">\n <div id=\"search-bar-container\">\n <input (keyup)=\"updateSearchValue($event)\" type=\"text\" placeholder=\"Search\" />\n <svg id=\"search-icon\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.21496 8.14563C1.21496 4.3179 4.33709 1.21165 8.19249 1.21165C12.0479 1.21165 15.17 4.3179 15.17 8.14563C15.17 9.69308 14.6598 11.1226 13.797 12.2767L12.3684 13.7013C11.2043 14.5668 9.75891 15.0796 8.19249 15.0796C4.33709 15.0796 1.21496 11.9734 1.21496 8.14563ZM12.9419 14.7835C11.602 15.7329 9.96259 16.2913 8.19249 16.2913C3.66965 16.2913 -0.00012207 12.6461 -0.00012207 8.14563C-0.00012207 3.64512 3.66965 0 8.19249 0C12.7153 0 16.3851 3.64512 16.3851 8.14563C16.3851 9.93713 15.8036 11.5931 14.8183 12.9375L16.836 14.4048C17.6704 14.912 18.7553 15.6543 17.2453 17.215C15.7352 18.7756 15.0098 17.6663 14.499 16.8364L12.9419 14.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div id=\"filters-main-container\">\n <div class=\"filters-sub-container\">\n <div *ngFor=\"let filter of getCheckedFilters()\">\n <div class=\"filter\">\n <mis-checkbox [checked]=\"true\" [name]=\"filter.value\" (valueChange)=\"updateFilter($event)\"></mis-checkbox>\n <span class=\"filter-text\">{{ filter.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"separator\" [ngStyle]=\"{ 'margin': '16px 0px' }\" *ngIf=\"getCheckedFilters().length && getCheckedFilters().length < filtersData.length\"></div>\n <div class=\"filters-sub-container\">\n <div *ngFor=\"let filter of getFiltersBasedOnSearchValue()\">\n <div class=\"filter\" *ngIf=\"!filter.checked\">\n <mis-checkbox [checked]=\"false\" [name]=\"filter.value\" (valueChange)=\"updateFilter($event)\"></mis-checkbox>\n <span class=\"filter-text\">{{ filter.name }}</span>\n </div>\n </div>\n <div id=\"no-results-container\" *ngIf=\"getFiltersBasedOnSearchValue().length < 1\">\n <span class=\"filter-text\">No matches found</span>\n </div>\n </div>\n <div class=\"separator\" [ngStyle]=\"{ 'margin': '16px 0px' }\"></div>\n <div id=\"buttons-container\">\n <button id=\"reset-btn\" [ngStyle]=\"{ 'margin-right': '8px' }\" (click)=\"resetFilters()\">Reset</button>\n <button id=\"apply-btn\" (click)=\"applyFilters()\">Apply</button>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"mis-table-filter\",\n templateUrl: \"filter.component.html\",\n styleUrls: [\"filter.component.css\"]\n})\nexport class TableFilterComponent implements OnInit {\n @Input() filtersData: Array<Filter> = [];\n @Input() containerStyles: any = {};\n\n @Output() filtersApplied = new EventEmitter<any>();\n\n @ViewChild(\"mainContainer\") container: ElementRef | undefined;\n\n filtersMap: any = {};\n searchValue: string = \"\";\n\n constructor() {}\n\n ngOnInit(): void {\n this.filtersData.forEach(filter => {\n this.filtersMap[filter.value] = filter;\n });\n }\n resetFilters() {\n this.filtersData.forEach(filter => {\n this.filtersMap[filter.value].checked = false;\n });\n this.filtersApplied.emit([]);\n }\n applyFilters() {\n let list = Object.values(this.filtersMap)\n .filter((filter: Filter | any) => filter.checked)\n .map((filter: Filter | any) => {\n return {\n name: filter.name,\n value: filter.value\n };\n });\n this.filtersApplied.emit(list);\n }\n updateSearchValue(event: any) {\n this.searchValue = event.target.value;\n }\n updateFilter(data: any) {\n if (this.filtersMap[data.name]) {\n this.filtersMap[data.name].checked = !this.filtersMap[data.name].checked;\n }\n }\n getFiltersBasedOnSearchValue(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list.filter((filter: Filter | any) => {\n return filter.name.match(new RegExp(this.searchValue, \"i\"));\n });\n return list.sort(this.mySort);\n }\n getCheckedFilters(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list.filter((filter: Filter | any) => filter.checked).sort(this.mySort);\n return list;\n }\n mySort = (a: Filter | any, b: Filter | any) => {\n if (a.name < b.name) return -1;\n else if (b.name < a.name) return 1;\n else return 0;\n };\n}\nexport interface Filter {\n name: string;\n value: string;\n checked: boolean;\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n input,\n output,\n signal,\n} from '@angular/core';\n\nexport interface SortState {\n column: string;\n direction: 'ASC' | 'DESC' | '';\n}\n\nexport interface SortColumn {\n data: string;\n sortAscIcon?: string;\n sortDescIcon?: string;\n}\n\n@Directive({\n selector: '[appSortIcons]',\n})\nexport class SortIconsDirective implements OnInit, OnChanges {\n // Convert inputs to signals\n column = input<SortColumn>();\n activeSort = input<SortState>();\n activeSorts = input<SortState[]>();\n multiColumnSort = input<boolean>(false);\n \n // Convert output to signal\n sortChange = output<SortState>();\n multiSortChange = output<SortState[]>();\n\n // Internal state as signals\n currentDirection = signal<'ASC' | 'DESC' | ''>('');\n\n // Assets\n private upIcon!: HTMLImageElement;\n private downIcon!: HTMLImageElement;\n private sortOrderElement?: HTMLSpanElement;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n ngOnInit() {\n \n // Create a container for the icons\n const container = this.renderer.createElement('div');\n this.renderer?.setStyle(container, 'display', 'inline-flex');\n this.renderer?.setStyle(container, 'align-items', 'center');\n\n const iconContainer = this.renderer.createElement('div');\n this.renderer?.setStyle(iconContainer, 'display', 'inline-flex');\n this.renderer?.setStyle(iconContainer, 'flex-direction', 'column');\n this.renderer?.setStyle(iconContainer, 'align-items', 'center');\n\n this.upIcon = this.renderer.createElement('img');\n this.renderer?.setAttribute(this.upIcon, 'src', this.column()?.sortAscIcon);\n this.renderer?.setStyle(this.upIcon, 'opacity', '0.5');\n this.renderer?.setStyle(this.upIcon, 'transition', 'opacity 0.3s ease');\n this.renderer?.setStyle(this.upIcon, 'width', '9px');\n this.renderer?.setStyle(this.upIcon, 'cursor', 'pointer');\n this.renderer?.listen(this.upIcon, 'click', () => this.setSortDirection('ASC'));\n\n this.downIcon = this.renderer.createElement('img');\n this.renderer?.setAttribute(this.downIcon, 'src', this.column()?.sortDescIcon);\n this.renderer?.setStyle(this.downIcon, 'opacity', '0.5');\n this.renderer?.setStyle(this.downIcon, 'transition', 'opacity 0.3s ease');\n this.renderer?.setStyle(this.downIcon, 'width', '9px');\n this.renderer?.setStyle(this.downIcon, 'cursor', 'pointer');\n this.renderer?.listen(this.downIcon, 'click', () => this.setSortDirection('DESC'));\n\n this.renderer?.appendChild(iconContainer, this.upIcon);\n this.renderer?.appendChild(iconContainer, this.downIcon);\n this.renderer?.appendChild(container, iconContainer);\n\n if (this.multiColumnSort()) {\n this.sortOrderElement = this.renderer.createElement('span');\n this.renderer?.setStyle(this.sortOrderElement, 'font-size', '12px');\n this.renderer?.setStyle(this.sortOrderElement, 'font-weight', 'bold');\n this.renderer?.setStyle(this.sortOrderElement, 'color', '#000');\n this.renderer?.appendChild(container, this.sortOrderElement);\n }\n\n this.renderer?.appendChild(this.el.nativeElement, container);\n this.updateIconStyles();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['activeSort'] || changes['activeSorts']) {\n this.updateIconStyles();\n }\n }\n\n private setSortDirection(direction: 'ASC' | 'DESC'): void {\n if (this.multiColumnSort()) {\n this.handleMultiColumnSort(direction);\n } else {\n this.handleSingleColumnSort(direction);\n }\n }\n\n private handleSingleColumnSort(direction: 'ASC' | 'DESC'): void {\n if (this.currentDirection() === direction) {\n this.currentDirection.set(''); // Reset sorting if the same direction is clicked\n } else {\n this.currentDirection.set(direction);\n }\n\n this.sortChange.emit({ \n column: this.column()?.data || '', \n direction: this.currentDirection()\n });\n this.updateIconStyles();\n }\n\n private handleMultiColumnSort(direction: 'ASC' | 'DESC'): void {\n const existingSortIndex = this.activeSorts().findIndex(sort => sort.column === this.column()?.data);\n \n if (existingSortIndex !== -1) {\n if (this.activeSorts()[existingSortIndex].direction !== direction) {\n this.activeSorts()[existingSortIndex].direction = direction;\n } else {\n return;\n }\n } else {\n this.activeSorts().push({ \n column: this.column()?.data || '', \n direction\n });\n }\n this.multiSortChange.emit([...this.activeSorts()]);\n this.updateIconStyles();\n }\n\n private updateIconStyles(): void {\n if (this.multiColumnSort()) {\n this.updateMultiColumnIconStyles();\n } else {\n this.updateSingleColumnIconStyles();\n }\n }\n\n private updateSingleColumnIconStyles(): void {\n const isActiveColumn = this.activeSort()?.column === this.column()?.data;\n\n setTimeout(() => {\n this.renderer?.setStyle(\n this.upIcon,\n 'opacity',\n isActiveColumn && this.currentDirection() === 'ASC' ? '1' : '0.5'\n );\n this.renderer?.setStyle(\n this.downIcon,\n 'opacity',\n isActiveColumn && this.currentDirection() === 'DESC' ? '1' : '0.5'\n );\n }, 0);\n }\n\n private updateMultiColumnIconStyles(): void {\n const columnSort = this.activeSorts().find(sort => sort.column === this.column()?.data);\n \n setTimeout(() => {\n this.renderer?.setStyle(\n this.upIcon,\n 'opacity',\n columnSort?.direction === 'ASC' ? '1' : '0.5'\n );\n this.renderer?.setStyle(\n this.downIcon,\n 'opacity',\n columnSort?.direction === 'DESC' ? '1' : '0.5'\n );\n\n if (this.sortOrderElement) {\n const sortIndex = this.activeSorts().findIndex(sort => sort.column === this.column()?.data);\n if (sortIndex !== -1) {\n this.renderer?.setProperty(this.sortOrderElement, 'textContent', (sortIndex + 1).toString());\n } else {\n this.renderer?.setProperty(this.sortOrderElement, 'textContent', '');\n }\n }\n }, 0);\n }\n}","<div class=\"actions-cell-container\" [ngStyle]=\"containerStyle\">\n <!-- Inline Actions -->\n <div *ngIf=\"actionType === 'inline'\" class=\"inline-actions\">\n <div\n *ngFor=\"let item of actionItems; trackBy: trackByAction\"\n class=\"action-item\"\n [ngClass]=\"{ disabled: isDisabled(item) }\"\n (click)=\"onActionClick(item, $event)\"\n >\n <img [src]=\"item.icon\" [alt]=\"item.label\" class=\"action-icon-svg\" />\n </div>\n </div>\n\n <!-- Dropdown Actions -->\n <div *ngIf=\"actionType === 'dropdown'\" class=\"dropdown-actions\">\n <div #dropdownTrigger class=\"dropdown-trigger\" (click)=\"toggleDropdown($event)\" title=\"More actions\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#333\" />\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#333\" />\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#333\" />\n </svg>\n </div>\n </div>\n\n <!-- Checkbox Actions -->\n <div *ngIf=\"actionType === 'checkbox'\" class=\"checkbox-actions\">\n <mis-checkbox [checked]=\"currentState\" (valueChange)=\"onClick($event)\" [disabled]=\"disable ? disable(currentState) : false\"> </mis-checkbox>\n </div>\n</div>\n\n<!-- Collapse / Expand Actions -->\n<div *ngIf=\"actionType === 'row-collapse'\" class=\"collapse-toggle-action\">\n <div class=\"collapse-icon\" (click)=\"onClick($event)\" [title]=\"currentState ? 'Expand' : 'Collapse'\">\n <svg *ngIf=\"currentState\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\">\n <path d=\"M7 10l5 5 5-5\" stroke=\"#0D1321\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n <svg *ngIf=\"!currentState\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\">\n <path d=\"M7 14l5-5 5 5\" stroke=\"#0D1321\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </div>\n</div>\n\n<!-- CDK Overlay Template for Dropdown Menu -->\n<ng-template #dropdownMenu>\n <div class=\"dropdown-menu-overlay\">\n <div\n class=\"dropdown-menu-item\"\n *ngFor=\"let item of actionItems\"\n (click)=\"onDropdownItemClick(item, $event)\"\n [ngClass]=\"{ disabled: isDisabled(item) }\"\n >\n <ng-container *ngIf=\"item.children?.length; else noChildren\">\n <span class=\"dropdown-icon\" *ngIf=\"item.icon\">\n <img [src]=\"item.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ item.label }}</span>\n <span class=\"submenu-arrow\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M9 6L15 12L9 18\" stroke=\"#0D1321\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </span>\n\n <!-- DYNAMIC SUBMENU -->\n <div class=\"dropdown-submenu\" *ngIf=\"item.showSubmenu\">\n <div\n class=\"dropdown-menu-item\"\n *ngFor=\"let child of item.children\"\n [ngClass]=\"{ disabled: isDisabled(child) }\"\n (click)=\"onDropdownItemClick(child, $event)\"\n >\n <span class=\"dropdown-icon\" *ngIf=\"child.icon\">\n <img [src]=\"child.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ child.label }}</span>\n </div>\n </div>\n </ng-container>\n\n <ng-template #noChildren>\n <span class=\"dropdown-icon\" *ngIf=\"item.icon\">\n <img [src]=\"item.icon\" />\n </span>\n <span class=\"dropdown-label\">{{ item.label }}</span>\n </ng-template>\n </div>\n </div>\n</ng-template>\n","import { Component, EventEmitter, Input, OnInit, Output, HostListener, ElementRef, ViewChild, TemplateRef, ViewContainerRef, OnDestroy, SimpleChanges, AfterViewInit } from \"@angular/core\";\nimport { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport { ActionItem } from \"../table.component\";\n\n@Component({\n selector: \"mis-actions-cell\",\n templateUrl: \"./actions-cell.component.html\",\n styleUrl: \"./actions-cell.component.css\"\n})\nexport class ActionsCellComponent implements OnInit, OnDestroy {\n @Input() cellData;\n @Input() config;\n\n @Output() actionClick = new EventEmitter<{ item?: ActionItem; data?: any, actionType?: string, value?: any }>();\n\n @ViewChild('dropdownMenu', { static: false }) dropdownMenu: TemplateRef<any>;\n @ViewChild('dropdownTrigger', { static: false }) dropdownTrigger: ElementRef;\n\n isDropdownOpen: boolean = false;\n actionItems: ActionItem[] = [];\n actionType: \"inline\" | \"dropdown\" | \"checkbox\" | \"row-collapse\" = \"inline\";\n action?: (data: any) => void;\n data: any;\n disable: (data: any) => boolean;\n currentState: boolean = false;\n private _style: any = {};\n containerStyle: any = {};\n private overlayRef: OverlayRef | null = null;\n\n constructor(\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n ngOnInit(): void {\n if (this.config) {\n this.actionItems = this.config.actionItems;\n this.actionType = this.config.actionType;\n this._style = this.config.style;\n this.action = this.config.action;\n this.disable = this.config.disable;\n this.processStyle();\n }\n \n if (this.cellData !== null) {\n const defaultStates: Record<string, boolean> = {\n 'checkbox': false,\n 'row-collapse': true,\n };\n if (this.actionType in defaultStates) {\n this.currentState = typeof this.cellData === 'boolean' ? this.cellData : defaultStates[this.actionType];\n } else {\n this.data = this.cellData;\n }\n }\n }\n\n ngOnDestroy(): void {\n this.closeDropdown();\n }\n\n private processStyle(): void {\n // Remove width from style to avoid conflicts with table column width\n const { width, ...restStyle } = this._style;\n this.containerStyle = restStyle;\n }\n\n onActionClick(item: ActionItem, event: Event) {\n event.stopPropagation();\n\n // Check permissions before executing action\n if (this.isDisabled(item)) return;\n\n // Execute action only if permitted\n if (item.action) {\n item.action(this.data);\n }\n\n this.actionClick.emit({ item });\n }\n\n trackByAction(index: number, item: ActionItem): string {\n return item.value;\n }\n\n isSvgFile(iconPath: string): boolean {\n if (!iconPath) return false;\n return iconPath.toLowerCase().includes(\".svg\") || iconPath.toLowerCase().includes(\"assets/icons/\");\n }\n\n @HostListener(\"document:click\")\n onDocumentClick() {\n if (this.isDropdownOpen) {\n this.closeDropdown();\n }\n }\n\n toggleDropdown(event: Event) {\n event.stopPropagation();\n \n if (this.isDropdownOpen) {\n this.closeDropdown();\n } else {\n this.openDropdown();\n }\n }\n\n private openDropdown(): void {\n if (!this.dropdownTrigger || !this.dropdownMenu) return;\n\n // Close all submenus when opening main menu\n this.actionItems.forEach((item: any) => (item.showSubmenu = false));\n\n const positions = this.getDropdownPositions();\n \n const overlayConfig = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.dropdownTrigger)\n .withPositions(positions)\n .withPush(true),\n scrollStrategy: this.overlay.scrollStrategies.reposition()\n });\n\n this.overlayRef = this.overlay.create(overlayConfig);\n const portal = new TemplatePortal(this.dropdownMenu, this.viewContainerRef);\n this.overlayRef.attach(portal);\n\n this.overlayRef.backdropClick().subscribe(() => {\n this.closeDropdown();\n });\n\n this.isDropdownOpen = true;\n }\n\n private closeDropdown(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n this.isDropdownOpen = false;\n }\n\n private getDropdownPositions(): ConnectionPositionPair[] {\n // Use CDK Overlay's flexible positioning - it will automatically choose the best position\n return [\n // Primary position: below and aligned to end (right)\n new ConnectionPositionPair(\n { originX: 'end', originY: 'bottom' },\n { overlayX: 'end', overlayY: 'top' },\n 0, 4\n ),\n // Fallback position: above and aligned to end (right)\n new ConnectionPositionPair(\n { originX: 'end', originY: 'top' },\n { overlayX: 'end', overlayY: 'bottom' },\n 0, -4\n ),\n // Fallback position: below and aligned to start (left)\n new ConnectionPositionPair(\n { originX: 'start', originY: 'bottom' },\n { overlayX: 'start', overlayY: 'top' },\n 0, 4\n ),\n // Fallback position: above and aligned to start (left)\n new ConnectionPositionPair(\n { originX: 'start', originY: 'top' },\n { overlayX: 'start', overlayY: 'bottom' },\n 0, -4\n )\n ];\n }\n\n onDropdownItemClick(item: any, event: Event) {\n event.stopPropagation();\n\n if (this.isDisabled(item)) return;\n\n if (item?.children?.length) {\n // Toggle submenu\n item.showSubmenu = !item.showSubmenu;\n // Optionally close other submenus\n this.actionItems.forEach((i: any) => {\n if (i !== item) i.showSubmenu = false;\n });\n } else {\n // Handle action\n if (item.action) item.action(this.data);\n this.actionClick.emit({ item, data: this.data });\n this.closeDropdown(); // Only close if action was executed\n }\n }\n\n onClick(event: any): void{\n this.currentState = !this.currentState;\n this.actionClick.emit({ \n actionType: this.actionType,\n value: this.currentState\n });\n }\n\n isDisabled(item: ActionItem): boolean {\n if (typeof item.disable === \"function\") {\n return item.disable(this.data);\n }\n return false;\n }\n \n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { TableComponent } from \"./table.component\";\nimport { CustomTableCellDirective } from \"./custom-table-cell.directive\";\nimport { SubTableComponent } from \"./sub-table/sub-table.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { TableFilterComponent } from \"./filter/filter.component\";\nimport { CheckboxModule } from \"mis-crystal-design-system/checkbox\";\nimport { ScrollingModule } from \"@angular/cdk/scrolling\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { PortalModule } from \"@angular/cdk/portal\";\nimport { SortIconsDirective } from \"./sort-icons.directive\";\nimport { ActionsCellComponent } from \"./actions-cell/actions-cell.component\";\n\n@NgModule({\n declarations: [\n TableComponent, \n SubTableComponent, \n TableFilterComponent, \n CustomTableCellDirective,\n SortIconsDirective,\n ActionsCellComponent\n ],\n imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule],\n exports: [\n TableComponent, \n SubTableComponent, \n TableFilterComponent, \n CustomTableCellDirective,\n SortIconsDirective,\n ActionsCellComponent\n ]\n})\nexport class TableModule {\n static forRoot(): ModuleWithProviders<TableModule> {\n return { ngModule: TableModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_c5","_c7","_c3","_c4","_c2","_c1","i1"],"mappings":"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"}