@jbeche/ng-datatable 0.2.1 → 0.2.3
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.
|
@@ -1273,11 +1273,11 @@ class NgDataTableComponent {
|
|
|
1273
1273
|
return Array.from({ length: size }, (_, index) => index + 1);
|
|
1274
1274
|
}
|
|
1275
1275
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgDataTableComponent, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
1276
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: NgDataTableComponent, isStandalone: false, selector: "ng-datatable", inputs: { loading: "loading", isServerMode: "isServerMode", skin: "skin", totalRows: "totalRows", rows: "rows", columns: "columns", hasCheckbox: "hasCheckbox", search: "search", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", showPageSize: "showPageSize", rowClass: "rowClass", cellClass: "cellClass", sortable: "sortable", sortColumn: "sortColumn", sortDirection: "sortDirection", columnFilter: "columnFilter", pagination: "pagination", showNumbers: "showNumbers", showNumbersCount: "showNumbersCount", showFirstPage: "showFirstPage", showLastPage: "showLastPage", firstArrow: "firstArrow", lastArrow: "lastArrow", nextArrow: "nextArrow", previousArrow: "previousArrow", paginationInfo: "paginationInfo", noDataContent: "noDataContent", stickyHeader: "stickyHeader", height: "height", stickyFirstColumn: "stickyFirstColumn", cloneHeaderInFooter: "cloneHeaderInFooter", selectRowOnClick: "selectRowOnClick", showFooterRow: "showFooterRow" }, outputs: { changeServer: "changeServer", sortChange: "sortChange", searchChange: "searchChange", pageChange: "pageChange", pageSizeChange: "pageSizeChange", rowSelect: "rowSelect", filterChange: "filterChange", rowClick: "rowClick", rowDBClick: "rowDBClick" }, queries: [{ propertyName: "slots", predicate: SlotDirective }], viewQueries: [{ propertyName: "header1", first: true, predicate: ["header1"], descendants: true }, { propertyName: "header2", first: true, predicate: ["header2"], descendants: true }, { propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"bh-datatable bh-antialiased bh-relative bh-text-black bh-text-sm bh-font-normal\">\n <div class=\"bh-table-responsive\" [ngClass]=\"{'bh-min-h-[300px]': currentLoader }\" [style]=\"{ height: stickyHeader && height }\">\n <table [ngClass]=\"[skin]\">\n <thead [ngClass]=\"{ 'bh-sticky bh-top-0 bh-z-10': stickyHeader }\">\n <column-header\n #header1\n [all]=\"getProps\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event, true)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </thead>\n\n <tbody>\n <ng-container *ngIf=\"filterRowCount\">\n <tr\n *ngFor=\"let item of filterItems; let i = index; trackBy:trackFilterItems.bind(this)\"\n [ngClass]=\"[(isFunction(rowClass) ? rowClass(item) : rowClass), selectRowOnClick? 'bh-cursor-pointer':'']\"\n (click)=\"onRowClick(item, i)\"\n (dblclick)=\"onRowDoubleClick(item)\"\n >\n <td *ngIf=\"hasCheckbox\" [ngClass]=\"{'bh-sticky bh-left-0 bh-bg-blue-light': stickyFirstColumn}\">\n <div class=\"bh-checkbox\" (click)=\"$event.stopPropagation();\">\n <input type=\"checkbox\" value=\"{{item[uniqueKey] ? item[uniqueKey] : i}}\" [(ngModel)]=\"item.selected\" (change)=\"checkboxChange();\" />\n <div>\n <icon-check class=\"check\"></icon-check>\n </div>\n </div>\n </td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td\n *ngIf=\"!col.hide\"\n [ngClass]=\"[\n (isFunction(cellClass) ? cellClass(item) : cellClass),\n j === 0 && stickyFirstColumn ? 'bh-sticky bh-left-0 bh-bg-blue-light' : '',\n hasCheckbox && j === 0 && stickyFirstColumn ? 'bh-left-[52px]' : '',\n col.cellClass ? col.cellClass : ''\n ]\"\n >\n <ng-container *ngIf=\"hasSlot(col.field)\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field)\" [ngTemplateOutletContext]=\"{ data: item }\"></ng-container>\n </ng-container>\n <div *ngIf=\"!hasSlot(col.field) && col.cellRenderer\" [innerHTML]=\"sanitizeHtml(col.cellRenderer(item))\"></div>\n <ng-container *ngIf=\"!hasSlot(col.field) && !col.cellRenderer\"> {{ cellValue(item, col.field) }} </ng-container>\n </td>\n </ng-container>\n </tr>\n <!-- Footer row -->\n <tr *ngIf=\"showFooterRow\" class=\"footer-row\">\n <td *ngIf=\"hasCheckbox\"></td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td *ngIf=\"!col.hide\">\n <ng-container *ngIf=\"hasSlot(col.field + '_footer')\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field + '_footer')\" [ngTemplateOutletContext]=\"{ data: col }\"></ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n <tr *ngIf=\"!filterRowCount && !currentLoader\">\n <td [attr.colspan]=\"columns.length + 1\">{{ noDataContent }}</td>\n </tr>\n\n <ng-container *ngIf=\"!filterRowCount && currentLoader\">\n <tr *ngFor=\"let k of getRange(pageSize)\" class=\"!bh-bg-white bh-h-11 !bh-border-transparent\">\n <td [attr.colspan]=\"columns.length + 1\" class=\"!bh-p-0 !bh-border-transparent\">\n <div class=\"bh-skeleton-box bh-h-8\"></div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n\n <tfoot *ngIf=\"cloneHeaderInFooter\" [ngClass]=\"{ 'bh-sticky bh-bottom-0': stickyHeader }\">\n <column-header\n #header2\n [all]=\"getProps\"\n [isFooter]=\"true\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </tfoot>\n </table>\n\n <div *ngIf=\"filterRowCount && currentLoader\" class=\"bh-absolute bh-inset-0 bh-bg-blue-light/50 bh-grid bh-place-content-center\">\n <icon-loader></icon-loader>\n </div>\n </div>\n\n <div *ngIf=\"pagination && filterRowCount\" class=\"bh-pagination bh-py-5\">\n <div class=\"bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4\">\n <div class=\"bh-pagination-info bh-flex bh-items-center\">\n <span class=\"bh-mr-2\"> {{ pager.stringFormat }} </span>\n <select *ngIf=\"showPageSize\" [(ngModel)]=\"currentPageSize\" class=\"bh-pagesize\" (ngModelChange)=\"changePageSize()\">\n <option *ngFor=\"let option of pageSizeOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n </div>\n\n <div class=\"bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1\">\n <button *ngIf=\"showFirstPage\" type=\"button\" class=\"bh-page-item first-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(1)\">\n <span *ngIf=\"firstArrow\" [innerHTML]=\"sanitizeHtml(firstArrow)\"></span>\n <svg *ngIf=\"!firstArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n <path d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n </g>\n </svg>\n </button>\n <button type=\"button\" class=\"bh-page-item previous-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(currentPage - 1)\">\n <span *ngIf=\"previousArrow\" [innerHTML]=\"sanitizeHtml(previousArrow)\"></span>\n <svg *ngIf=\"!previousArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n </button>\n\n <ng-container *ngIf=\"showNumbers\">\n <button\n *ngFor=\"let page of pager.pages\"\n type=\"button\"\n class=\"bh-page-item\"\n [class.disabled]=\"currentPage === page\"\n [class.bh-active]=\"page === currentPage\"\n (click)=\"movePage(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button type=\"button\" class=\"bh-page-item next-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(currentPage + 1)\">\n <span *ngIf=\"nextArrow\" [innerHTML]=\"sanitizeHtml(nextArrow)\"> </span>\n <svg *ngIf=\"!nextArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8L4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n\n <button *ngIf=\"showLastPage\" type=\"button\" class=\"bh-page-item last-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(maxPage())\">\n <span *ngIf=\"lastArrow\" [innerHTML]=\"sanitizeHtml(lastArrow)\"> </span>\n <svg *ngIf=\"!lastArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8L3.646 2.354a.5.5 0 0 1 0-.708z\" />\n <path d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8L7.646 2.354a.5.5 0 0 1 0-.708z\" />\n </g>\n </svg>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid transparent;box-sizing:border-box}.bh-datatable .bh-table-responsive{position:relative;width:100%;overflow:auto;border-radius:.25rem}.bh-datatable .bh-table-responsive table{width:100%;max-width:100%;border-collapse:collapse!important}.bh-datatable .bh-table-responsive table tfoot tr,.bh-datatable .bh-table-responsive table thead tr{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table tbody tr td,.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{padding:.75rem 1rem;text-align:left}.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{vertical-align:top;font-weight:700}.bh-datatable .bh-table-responsive table tbody tr{border-bottom-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-striped tbody tr:nth-child(odd){background-color:#e0e6ed26}.bh-datatable .bh-table-responsive table.bh-table-hover tbody tr:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-compact tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-compact thead tr th{padding:.5rem .75rem}.bh-datatable .bh-table-responsive table.bh-table-bordered tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-bordered thead tr th{border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{display:grid;height:2rem;width:2rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;place-content:center;border-radius:9999px;border:1px solid rgba(14,23,38,.3);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .625rem;--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination .bh-page-item:hover{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{-webkit-appearance:button;background-image:none}.bh-datatable .bh-pagination .bh-page-item.disabled:not(.bh-active){pointer-events:none;opacity:.5}.bh-datatable .bh-pagination .bh-page-item.bh-active{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive button,.bh-datatable .bh-table-responsive input{outline:2px solid transparent;outline-offset:2px}.bh-datatable .bh-pagination-info .bh-pagesize{box-sizing:border-box;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .5rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination-info .bh-pagesize:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter{margin-top:.125rem;display:flex;height:30px;width:100%;align-items:center}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control{box-sizing:border-box;height:100%;width:100%;min-width:60px;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter>select{border-radius:.25rem}.bh-datatable .bh-table-responsive table th .bh-filter>button{display:grid;height:30px;width:30px;flex-shrink:0;cursor:pointer;place-content:center;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(224 230 237/var(--tw-bg-opacity,1));color:#0e1726b3}.bh-datatable .bh-table-responsive table th .bh-filter>button:hover{color:#0e1726e6}.bh-datatable .bh-table-responsive table th .bh-filter>button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button{display:flex;width:100%;cursor:pointer;border:1px solid transparent;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem 1rem;text-align:left}.bh-datatable .bh-filter-menu button:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-filter-menu button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button.active{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-table-responsive input[type=checkbox]{position:absolute;height:1.25rem;width:1.25rem;opacity:0}.bh-datatable .bh-table-responsive input[type=checkbox]+div{display:grid;height:1.25rem;width:1.25rem;place-content:center;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]+div svg{pointer-events:none;display:none;height:.75rem;width:.75rem;fill:currentColor;--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div svg.check,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div svg.intermediate{display:flex;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-absolute{position:absolute}.bh-relative{position:relative}.bh-sticky{position:sticky}.bh-inset-0{inset:0}.bh-bottom-0{bottom:0}.bh-left-0{left:0}.bh-left-\\[52px\\]{left:52px}.bh-right-0{right:0}.bh-top-0{top:0}.bh-top-full{top:100%}.bh-z-10{z-index:10}.bh-z-\\[1\\]{z-index:1}.bh-mb-2{margin-bottom:.5rem}.bh-ml-3{margin-left:.75rem}.bh-mr-2{margin-right:.5rem}.bh-mt-1{margin-top:.25rem}.bh-flex{display:flex}.bh-inline-flex{display:inline-flex}.bh-grid{display:grid}.bh-hidden{display:none}.bh-h-11{height:2.75rem}.bh-h-8{height:2rem}.bh-min-h-\\[300px\\]{min-height:300px}.bh-w-32{width:8rem}.bh-w-4{width:1rem}.bh-w-px{width:1px}.bh-cursor-pointer{cursor:pointer}.bh-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.bh-flex-col{flex-direction:column}.bh-flex-wrap{flex-wrap:wrap}.bh-place-content-center{place-content:center}.bh-items-center{align-items:center}.bh-gap-4{gap:1rem}.bh-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.bh-overflow-hidden{overflow:hidden}.bh-rounded{border-radius:.25rem}.bh-rounded-md{border-radius:.375rem}.bh-border{border-width:1px}.bh-border-solid{border-style:solid}.\\!bh-border-transparent{border-color:transparent!important}.bh-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.bh-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.\\!bh-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bh-bg-blue-light{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-bg-blue-light\\/50{background-color:#f6f7fa80}.bh-bg-gray-200{background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bh-bg-gray-200,.bh-bg-white{--tw-bg-opacity:1}.bh-bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\\!bh-p-0{padding:0!important}.bh-p-10{padding:2.5rem}.bh-p-2{padding:.5rem}.bh-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.bh-text-\\[13px\\]{font-size:13px}.bh-text-sm{font-size:.875rem;line-height:1.25rem}.bh-font-normal{font-weight:400}.\\!bh-text-primary{--tw-text-opacity:1!important;color:rgb(67 97 238/var(--tw-text-opacity,1))!important}.bh-text-black{--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1))}.bh-text-black\\/20{color:#0e172633}.bh-text-primary{--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bh-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.bh-outline-0{outline-width:0}.bh-filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.bh-skeleton-box{position:relative;width:100%;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bh-skeleton-box:after{position:absolute;inset:0;--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));animation:bhshimmer 2s infinite;background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.025) 20%,rgba(0,0,0,.05) 50%,transparent);--tw-content:\"\";content:var(--tw-content)}@keyframes bhshimmer{to{transform:translate(100%)}}.hover\\:bh-opacity-80:hover{opacity:.8}.focus\\:bh-border-gray-200:focus{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}@media(min-width:640px){.sm\\:bh-ml-auto{margin-left:auto}.sm\\:bh-flex-row{flex-direction:row}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ColumnHeaderComponent, selector: "column-header", inputs: ["all", "isFooter", "checkAll"], outputs: ["selectAll", "sortChange", "filterChange"] }, { kind: "component", type: IconCheckComponent, selector: "icon-check", inputs: ["class"] }, { kind: "component", type: IconLoaderComponent, selector: "icon-loader" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1276
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: NgDataTableComponent, isStandalone: false, selector: "ng-datatable", inputs: { loading: "loading", isServerMode: "isServerMode", skin: "skin", totalRows: "totalRows", rows: "rows", columns: "columns", hasCheckbox: "hasCheckbox", search: "search", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", showPageSize: "showPageSize", rowClass: "rowClass", cellClass: "cellClass", sortable: "sortable", sortColumn: "sortColumn", sortDirection: "sortDirection", columnFilter: "columnFilter", pagination: "pagination", showNumbers: "showNumbers", showNumbersCount: "showNumbersCount", showFirstPage: "showFirstPage", showLastPage: "showLastPage", firstArrow: "firstArrow", lastArrow: "lastArrow", nextArrow: "nextArrow", previousArrow: "previousArrow", paginationInfo: "paginationInfo", noDataContent: "noDataContent", stickyHeader: "stickyHeader", height: "height", stickyFirstColumn: "stickyFirstColumn", cloneHeaderInFooter: "cloneHeaderInFooter", selectRowOnClick: "selectRowOnClick", showFooterRow: "showFooterRow" }, outputs: { changeServer: "changeServer", sortChange: "sortChange", searchChange: "searchChange", pageChange: "pageChange", pageSizeChange: "pageSizeChange", rowSelect: "rowSelect", filterChange: "filterChange", rowClick: "rowClick", rowDBClick: "rowDBClick" }, queries: [{ propertyName: "slots", predicate: SlotDirective }], viewQueries: [{ propertyName: "header1", first: true, predicate: ["header1"], descendants: true }, { propertyName: "header2", first: true, predicate: ["header2"], descendants: true }, { propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"bh-datatable bh-antialiased bh-relative bh-text-black bh-text-sm bh-font-normal\">\n <div class=\"bh-table-responsive\" [ngClass]=\"{'bh-min-h-[300px]': currentLoader }\" [style]=\"{ height: stickyHeader && height }\">\n <table [ngClass]=\"[skin]\">\n <thead [ngClass]=\"{ 'bh-sticky bh-top-0 bh-z-10': stickyHeader }\">\n <column-header\n #header1\n [all]=\"getProps\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event, true)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </thead>\n\n <tbody>\n <ng-container *ngIf=\"filterRowCount\">\n <tr\n *ngFor=\"let item of filterItems; let i = index; trackBy:trackFilterItems.bind(this)\"\n [ngClass]=\"[(isFunction(rowClass) ? rowClass(item) : rowClass), selectRowOnClick? 'bh-cursor-pointer':'']\"\n (click)=\"onRowClick(item, i)\"\n (dblclick)=\"onRowDoubleClick(item)\"\n >\n <td *ngIf=\"hasCheckbox\" [ngClass]=\"{'bh-sticky bh-left-0 bh-bg-blue-light': stickyFirstColumn}\">\n <div class=\"bh-checkbox\" (click)=\"$event.stopPropagation();\">\n <input type=\"checkbox\" value=\"{{item[uniqueKey] ? item[uniqueKey] : i}}\" [(ngModel)]=\"item.selected\" (change)=\"checkboxChange();\" />\n <div>\n <icon-check class=\"check\"></icon-check>\n </div>\n </div>\n </td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td\n *ngIf=\"!col.hide\"\n [ngClass]=\"[\n (isFunction(cellClass) ? cellClass(item) : cellClass),\n j === 0 && stickyFirstColumn ? 'bh-sticky bh-left-0 bh-bg-blue-light' : '',\n hasCheckbox && j === 0 && stickyFirstColumn ? 'bh-left-[52px]' : '',\n col.cellClass ? col.cellClass : ''\n ]\"\n >\n <ng-container *ngIf=\"hasSlot(col.field)\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field)\" [ngTemplateOutletContext]=\"{ data: item }\"></ng-container>\n </ng-container>\n <div *ngIf=\"!hasSlot(col.field) && col.cellRenderer\" [innerHTML]=\"sanitizeHtml(col.cellRenderer(item))\"></div>\n <ng-container *ngIf=\"!hasSlot(col.field) && !col.cellRenderer\"> {{ cellValue(item, col.field) }} </ng-container>\n </td>\n </ng-container>\n </tr>\n <!-- Footer row -->\n <tr *ngIf=\"showFooterRow\" class=\"footer-row\">\n <td *ngIf=\"hasCheckbox\"></td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td *ngIf=\"!col.hide\">\n <ng-container *ngIf=\"hasSlot(col.field + '_footer')\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field + '_footer')\" [ngTemplateOutletContext]=\"{ data: col }\"></ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n <tr *ngIf=\"!filterRowCount && !currentLoader\">\n <td [attr.colspan]=\"columns.length + 1\">{{ noDataContent }}</td>\n </tr>\n\n <ng-container *ngIf=\"!filterRowCount && currentLoader\">\n <tr *ngFor=\"let k of getRange(pageSize)\" class=\"!bh-bg-white bh-h-11 !bh-border-transparent\">\n <td [attr.colspan]=\"columns.length + 1\" class=\"!bh-p-0 !bh-border-transparent\">\n <div class=\"bh-skeleton-box bh-h-8\"></div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n\n <tfoot *ngIf=\"cloneHeaderInFooter\" [ngClass]=\"{ 'bh-sticky bh-bottom-0': stickyHeader }\">\n <column-header\n #header2\n [all]=\"getProps\"\n [isFooter]=\"true\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </tfoot>\n </table>\n\n <div *ngIf=\"filterRowCount && currentLoader\" class=\"bh-absolute bh-inset-0 bh-bg-blue-light/50 bh-grid bh-place-content-center\">\n <icon-loader></icon-loader>\n </div>\n </div>\n\n <div *ngIf=\"pagination && filterRowCount\" class=\"bh-pagination bh-py-5\">\n <div class=\"bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4\">\n <div class=\"bh-pagination-info bh-flex bh-items-center\">\n <span class=\"bh-mr-2\"> {{ pager.stringFormat }} </span>\n <select *ngIf=\"showPageSize\" [(ngModel)]=\"currentPageSize\" class=\"bh-pagesize\" (ngModelChange)=\"changePageSize()\">\n <option *ngFor=\"let option of pageSizeOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n </div>\n\n <div class=\"bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1\">\n <button *ngIf=\"showFirstPage\" type=\"button\" class=\"bh-page-item first-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(1)\">\n <span *ngIf=\"firstArrow\" [innerHTML]=\"sanitizeHtml(firstArrow)\"></span>\n <svg *ngIf=\"!firstArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n <path d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n </g>\n </svg>\n </button>\n <button type=\"button\" class=\"bh-page-item previous-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(currentPage - 1)\">\n <span *ngIf=\"previousArrow\" [innerHTML]=\"sanitizeHtml(previousArrow)\"></span>\n <svg *ngIf=\"!previousArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n </button>\n\n <ng-container *ngIf=\"showNumbers\">\n <button\n *ngFor=\"let page of pager.pages\"\n type=\"button\"\n class=\"bh-page-item\"\n [class.disabled]=\"currentPage === page\"\n [class.bh-active]=\"page === currentPage\"\n (click)=\"movePage(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button type=\"button\" class=\"bh-page-item next-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(currentPage + 1)\">\n <span *ngIf=\"nextArrow\" [innerHTML]=\"sanitizeHtml(nextArrow)\"> </span>\n <svg *ngIf=\"!nextArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8L4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n\n <button *ngIf=\"showLastPage\" type=\"button\" class=\"bh-page-item last-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(maxPage())\">\n <span *ngIf=\"lastArrow\" [innerHTML]=\"sanitizeHtml(lastArrow)\"> </span>\n <svg *ngIf=\"!lastArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8L3.646 2.354a.5.5 0 0 1 0-.708z\" />\n <path d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8L7.646 2.354a.5.5 0 0 1 0-.708z\" />\n </g>\n </svg>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.bh-datatable .bh-table-responsive{position:relative;width:100%;overflow:auto;border-radius:.25rem}.bh-datatable .bh-table-responsive table{width:100%;max-width:100%;border-collapse:collapse!important}.bh-datatable .bh-table-responsive table tfoot tr,.bh-datatable .bh-table-responsive table thead tr{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table tbody tr td,.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{padding:.75rem 1rem;text-align:left}.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{vertical-align:top;font-weight:700}.bh-datatable .bh-table-responsive table tbody tr{border-bottom-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-striped tbody tr:nth-child(odd){background-color:#e0e6ed26}.bh-datatable .bh-table-responsive table.bh-table-hover tbody tr:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-compact tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-compact thead tr th{padding:.5rem .75rem}.bh-datatable .bh-table-responsive table.bh-table-bordered tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-bordered thead tr th{border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{display:grid;height:2rem;width:2rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;place-content:center;border-radius:9999px;border:1px solid rgba(14,23,38,.3);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .625rem;--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination .bh-page-item:hover{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{-webkit-appearance:button;background-image:none}.bh-datatable .bh-pagination .bh-page-item.disabled:not(.bh-active){pointer-events:none;opacity:.5}.bh-datatable .bh-pagination .bh-page-item.bh-active{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive button,.bh-datatable .bh-table-responsive input{outline:2px solid transparent;outline-offset:2px}.bh-datatable .bh-pagination-info .bh-pagesize{box-sizing:border-box;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .5rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination-info .bh-pagesize:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter{margin-top:.125rem;display:flex;height:30px;width:100%;align-items:center}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control{box-sizing:border-box;height:100%;width:100%;min-width:60px;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter>select{border-radius:.25rem}.bh-datatable .bh-table-responsive table th .bh-filter>button{display:grid;height:30px;width:30px;flex-shrink:0;cursor:pointer;place-content:center;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(224 230 237/var(--tw-bg-opacity,1));color:#0e1726b3}.bh-datatable .bh-table-responsive table th .bh-filter>button:hover{color:#0e1726e6}.bh-datatable .bh-table-responsive table th .bh-filter>button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button{display:flex;width:100%;cursor:pointer;border:1px solid transparent;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem 1rem;text-align:left}.bh-datatable .bh-filter-menu button:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-filter-menu button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button.active{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-table-responsive input[type=checkbox]{position:absolute;height:1.25rem;width:1.25rem;opacity:0}.bh-datatable .bh-table-responsive input[type=checkbox]+div{display:grid;height:1.25rem;width:1.25rem;place-content:center;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]+div svg{pointer-events:none;display:none;height:.75rem;width:.75rem;fill:currentColor;--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div svg.check,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div svg.intermediate{display:flex;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-absolute{position:absolute}.bh-relative{position:relative}.bh-sticky{position:sticky}.bh-inset-0{inset:0}.bh-bottom-0{bottom:0}.bh-left-0{left:0}.bh-left-\\[52px\\]{left:52px}.bh-right-0{right:0}.bh-top-0{top:0}.bh-top-full{top:100%}.bh-z-10{z-index:10}.bh-z-\\[1\\]{z-index:1}.bh-mb-2{margin-bottom:.5rem}.bh-ml-3{margin-left:.75rem}.bh-mr-2{margin-right:.5rem}.bh-mt-1{margin-top:.25rem}.bh-flex{display:flex}.bh-inline-flex{display:inline-flex}.bh-grid{display:grid}.bh-hidden{display:none}.bh-h-11{height:2.75rem}.bh-h-8{height:2rem}.bh-min-h-\\[300px\\]{min-height:300px}.bh-w-32{width:8rem}.bh-w-4{width:1rem}.bh-w-px{width:1px}.bh-cursor-pointer{cursor:pointer}.bh-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.bh-flex-col{flex-direction:column}.bh-flex-wrap{flex-wrap:wrap}.bh-place-content-center{place-content:center}.bh-items-center{align-items:center}.bh-gap-4{gap:1rem}.bh-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.bh-overflow-hidden{overflow:hidden}.bh-rounded{border-radius:.25rem}.bh-rounded-md{border-radius:.375rem}.bh-border{border-width:1px}.bh-border-solid{border-style:solid}.\\!bh-border-transparent{border-color:transparent!important}.bh-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.bh-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.\\!bh-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bh-bg-blue-light{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-bg-blue-light\\/50{background-color:#f6f7fa80}.bh-bg-gray-200{background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bh-bg-gray-200,.bh-bg-white{--tw-bg-opacity:1}.bh-bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\\!bh-p-0{padding:0!important}.bh-p-10{padding:2.5rem}.bh-p-2{padding:.5rem}.bh-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.bh-text-\\[13px\\]{font-size:13px}.bh-text-sm{font-size:.875rem;line-height:1.25rem}.bh-font-normal{font-weight:400}.\\!bh-text-primary{--tw-text-opacity:1!important;color:rgb(67 97 238/var(--tw-text-opacity,1))!important}.bh-text-black{--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1))}.bh-text-black\\/20{color:#0e172633}.bh-text-primary{--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bh-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.bh-outline-0{outline-width:0}.bh-filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.bh-skeleton-box{position:relative;width:100%;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bh-skeleton-box:after{position:absolute;inset:0;--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));animation:bhshimmer 2s infinite;background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.025) 20%,rgba(0,0,0,.05) 50%,transparent);--tw-content:\"\";content:var(--tw-content)}@keyframes bhshimmer{to{transform:translate(100%)}}.hover\\:bh-opacity-80:hover{opacity:.8}.focus\\:bh-border-gray-200:focus{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}@media(min-width:640px){.sm\\:bh-ml-auto{margin-left:auto}.sm\\:bh-flex-row{flex-direction:row}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ColumnHeaderComponent, selector: "column-header", inputs: ["all", "isFooter", "checkAll"], outputs: ["selectAll", "sortChange", "filterChange"] }, { kind: "component", type: IconCheckComponent, selector: "icon-check", inputs: ["class"] }, { kind: "component", type: IconLoaderComponent, selector: "icon-loader" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1277
1277
|
}
|
|
1278
1278
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgDataTableComponent, decorators: [{
|
|
1279
1279
|
type: Component,
|
|
1280
|
-
args: [{ standalone: false, selector: 'ng-datatable', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bh-datatable bh-antialiased bh-relative bh-text-black bh-text-sm bh-font-normal\">\n <div class=\"bh-table-responsive\" [ngClass]=\"{'bh-min-h-[300px]': currentLoader }\" [style]=\"{ height: stickyHeader && height }\">\n <table [ngClass]=\"[skin]\">\n <thead [ngClass]=\"{ 'bh-sticky bh-top-0 bh-z-10': stickyHeader }\">\n <column-header\n #header1\n [all]=\"getProps\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event, true)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </thead>\n\n <tbody>\n <ng-container *ngIf=\"filterRowCount\">\n <tr\n *ngFor=\"let item of filterItems; let i = index; trackBy:trackFilterItems.bind(this)\"\n [ngClass]=\"[(isFunction(rowClass) ? rowClass(item) : rowClass), selectRowOnClick? 'bh-cursor-pointer':'']\"\n (click)=\"onRowClick(item, i)\"\n (dblclick)=\"onRowDoubleClick(item)\"\n >\n <td *ngIf=\"hasCheckbox\" [ngClass]=\"{'bh-sticky bh-left-0 bh-bg-blue-light': stickyFirstColumn}\">\n <div class=\"bh-checkbox\" (click)=\"$event.stopPropagation();\">\n <input type=\"checkbox\" value=\"{{item[uniqueKey] ? item[uniqueKey] : i}}\" [(ngModel)]=\"item.selected\" (change)=\"checkboxChange();\" />\n <div>\n <icon-check class=\"check\"></icon-check>\n </div>\n </div>\n </td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td\n *ngIf=\"!col.hide\"\n [ngClass]=\"[\n (isFunction(cellClass) ? cellClass(item) : cellClass),\n j === 0 && stickyFirstColumn ? 'bh-sticky bh-left-0 bh-bg-blue-light' : '',\n hasCheckbox && j === 0 && stickyFirstColumn ? 'bh-left-[52px]' : '',\n col.cellClass ? col.cellClass : ''\n ]\"\n >\n <ng-container *ngIf=\"hasSlot(col.field)\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field)\" [ngTemplateOutletContext]=\"{ data: item }\"></ng-container>\n </ng-container>\n <div *ngIf=\"!hasSlot(col.field) && col.cellRenderer\" [innerHTML]=\"sanitizeHtml(col.cellRenderer(item))\"></div>\n <ng-container *ngIf=\"!hasSlot(col.field) && !col.cellRenderer\"> {{ cellValue(item, col.field) }} </ng-container>\n </td>\n </ng-container>\n </tr>\n <!-- Footer row -->\n <tr *ngIf=\"showFooterRow\" class=\"footer-row\">\n <td *ngIf=\"hasCheckbox\"></td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td *ngIf=\"!col.hide\">\n <ng-container *ngIf=\"hasSlot(col.field + '_footer')\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field + '_footer')\" [ngTemplateOutletContext]=\"{ data: col }\"></ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n <tr *ngIf=\"!filterRowCount && !currentLoader\">\n <td [attr.colspan]=\"columns.length + 1\">{{ noDataContent }}</td>\n </tr>\n\n <ng-container *ngIf=\"!filterRowCount && currentLoader\">\n <tr *ngFor=\"let k of getRange(pageSize)\" class=\"!bh-bg-white bh-h-11 !bh-border-transparent\">\n <td [attr.colspan]=\"columns.length + 1\" class=\"!bh-p-0 !bh-border-transparent\">\n <div class=\"bh-skeleton-box bh-h-8\"></div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n\n <tfoot *ngIf=\"cloneHeaderInFooter\" [ngClass]=\"{ 'bh-sticky bh-bottom-0': stickyHeader }\">\n <column-header\n #header2\n [all]=\"getProps\"\n [isFooter]=\"true\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </tfoot>\n </table>\n\n <div *ngIf=\"filterRowCount && currentLoader\" class=\"bh-absolute bh-inset-0 bh-bg-blue-light/50 bh-grid bh-place-content-center\">\n <icon-loader></icon-loader>\n </div>\n </div>\n\n <div *ngIf=\"pagination && filterRowCount\" class=\"bh-pagination bh-py-5\">\n <div class=\"bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4\">\n <div class=\"bh-pagination-info bh-flex bh-items-center\">\n <span class=\"bh-mr-2\"> {{ pager.stringFormat }} </span>\n <select *ngIf=\"showPageSize\" [(ngModel)]=\"currentPageSize\" class=\"bh-pagesize\" (ngModelChange)=\"changePageSize()\">\n <option *ngFor=\"let option of pageSizeOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n </div>\n\n <div class=\"bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1\">\n <button *ngIf=\"showFirstPage\" type=\"button\" class=\"bh-page-item first-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(1)\">\n <span *ngIf=\"firstArrow\" [innerHTML]=\"sanitizeHtml(firstArrow)\"></span>\n <svg *ngIf=\"!firstArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n <path d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n </g>\n </svg>\n </button>\n <button type=\"button\" class=\"bh-page-item previous-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(currentPage - 1)\">\n <span *ngIf=\"previousArrow\" [innerHTML]=\"sanitizeHtml(previousArrow)\"></span>\n <svg *ngIf=\"!previousArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n </button>\n\n <ng-container *ngIf=\"showNumbers\">\n <button\n *ngFor=\"let page of pager.pages\"\n type=\"button\"\n class=\"bh-page-item\"\n [class.disabled]=\"currentPage === page\"\n [class.bh-active]=\"page === currentPage\"\n (click)=\"movePage(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button type=\"button\" class=\"bh-page-item next-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(currentPage + 1)\">\n <span *ngIf=\"nextArrow\" [innerHTML]=\"sanitizeHtml(nextArrow)\"> </span>\n <svg *ngIf=\"!nextArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8L4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n\n <button *ngIf=\"showLastPage\" type=\"button\" class=\"bh-page-item last-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(maxPage())\">\n <span *ngIf=\"lastArrow\" [innerHTML]=\"sanitizeHtml(lastArrow)\"> </span>\n <svg *ngIf=\"!lastArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8L3.646 2.354a.5.5 0 0 1 0-.708z\" />\n <path d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8L7.646 2.354a.5.5 0 0 1 0-.708z\" />\n </g>\n </svg>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid transparent;box-sizing:border-box}.bh-datatable .bh-table-responsive{position:relative;width:100%;overflow:auto;border-radius:.25rem}.bh-datatable .bh-table-responsive table{width:100%;max-width:100%;border-collapse:collapse!important}.bh-datatable .bh-table-responsive table tfoot tr,.bh-datatable .bh-table-responsive table thead tr{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table tbody tr td,.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{padding:.75rem 1rem;text-align:left}.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{vertical-align:top;font-weight:700}.bh-datatable .bh-table-responsive table tbody tr{border-bottom-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-striped tbody tr:nth-child(odd){background-color:#e0e6ed26}.bh-datatable .bh-table-responsive table.bh-table-hover tbody tr:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-compact tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-compact thead tr th{padding:.5rem .75rem}.bh-datatable .bh-table-responsive table.bh-table-bordered tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-bordered thead tr th{border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{display:grid;height:2rem;width:2rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;place-content:center;border-radius:9999px;border:1px solid rgba(14,23,38,.3);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .625rem;--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination .bh-page-item:hover{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{-webkit-appearance:button;background-image:none}.bh-datatable .bh-pagination .bh-page-item.disabled:not(.bh-active){pointer-events:none;opacity:.5}.bh-datatable .bh-pagination .bh-page-item.bh-active{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive button,.bh-datatable .bh-table-responsive input{outline:2px solid transparent;outline-offset:2px}.bh-datatable .bh-pagination-info .bh-pagesize{box-sizing:border-box;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .5rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination-info .bh-pagesize:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter{margin-top:.125rem;display:flex;height:30px;width:100%;align-items:center}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control{box-sizing:border-box;height:100%;width:100%;min-width:60px;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter>select{border-radius:.25rem}.bh-datatable .bh-table-responsive table th .bh-filter>button{display:grid;height:30px;width:30px;flex-shrink:0;cursor:pointer;place-content:center;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(224 230 237/var(--tw-bg-opacity,1));color:#0e1726b3}.bh-datatable .bh-table-responsive table th .bh-filter>button:hover{color:#0e1726e6}.bh-datatable .bh-table-responsive table th .bh-filter>button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button{display:flex;width:100%;cursor:pointer;border:1px solid transparent;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem 1rem;text-align:left}.bh-datatable .bh-filter-menu button:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-filter-menu button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button.active{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-table-responsive input[type=checkbox]{position:absolute;height:1.25rem;width:1.25rem;opacity:0}.bh-datatable .bh-table-responsive input[type=checkbox]+div{display:grid;height:1.25rem;width:1.25rem;place-content:center;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]+div svg{pointer-events:none;display:none;height:.75rem;width:.75rem;fill:currentColor;--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div svg.check,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div svg.intermediate{display:flex;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-absolute{position:absolute}.bh-relative{position:relative}.bh-sticky{position:sticky}.bh-inset-0{inset:0}.bh-bottom-0{bottom:0}.bh-left-0{left:0}.bh-left-\\[52px\\]{left:52px}.bh-right-0{right:0}.bh-top-0{top:0}.bh-top-full{top:100%}.bh-z-10{z-index:10}.bh-z-\\[1\\]{z-index:1}.bh-mb-2{margin-bottom:.5rem}.bh-ml-3{margin-left:.75rem}.bh-mr-2{margin-right:.5rem}.bh-mt-1{margin-top:.25rem}.bh-flex{display:flex}.bh-inline-flex{display:inline-flex}.bh-grid{display:grid}.bh-hidden{display:none}.bh-h-11{height:2.75rem}.bh-h-8{height:2rem}.bh-min-h-\\[300px\\]{min-height:300px}.bh-w-32{width:8rem}.bh-w-4{width:1rem}.bh-w-px{width:1px}.bh-cursor-pointer{cursor:pointer}.bh-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.bh-flex-col{flex-direction:column}.bh-flex-wrap{flex-wrap:wrap}.bh-place-content-center{place-content:center}.bh-items-center{align-items:center}.bh-gap-4{gap:1rem}.bh-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.bh-overflow-hidden{overflow:hidden}.bh-rounded{border-radius:.25rem}.bh-rounded-md{border-radius:.375rem}.bh-border{border-width:1px}.bh-border-solid{border-style:solid}.\\!bh-border-transparent{border-color:transparent!important}.bh-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.bh-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.\\!bh-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bh-bg-blue-light{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-bg-blue-light\\/50{background-color:#f6f7fa80}.bh-bg-gray-200{background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bh-bg-gray-200,.bh-bg-white{--tw-bg-opacity:1}.bh-bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\\!bh-p-0{padding:0!important}.bh-p-10{padding:2.5rem}.bh-p-2{padding:.5rem}.bh-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.bh-text-\\[13px\\]{font-size:13px}.bh-text-sm{font-size:.875rem;line-height:1.25rem}.bh-font-normal{font-weight:400}.\\!bh-text-primary{--tw-text-opacity:1!important;color:rgb(67 97 238/var(--tw-text-opacity,1))!important}.bh-text-black{--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1))}.bh-text-black\\/20{color:#0e172633}.bh-text-primary{--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bh-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.bh-outline-0{outline-width:0}.bh-filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.bh-skeleton-box{position:relative;width:100%;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bh-skeleton-box:after{position:absolute;inset:0;--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));animation:bhshimmer 2s infinite;background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.025) 20%,rgba(0,0,0,.05) 50%,transparent);--tw-content:\"\";content:var(--tw-content)}@keyframes bhshimmer{to{transform:translate(100%)}}.hover\\:bh-opacity-80:hover{opacity:.8}.focus\\:bh-border-gray-200:focus{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}@media(min-width:640px){.sm\\:bh-ml-auto{margin-left:auto}.sm\\:bh-flex-row{flex-direction:row}}\n"] }]
|
|
1280
|
+
args: [{ standalone: false, selector: 'ng-datatable', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bh-datatable bh-antialiased bh-relative bh-text-black bh-text-sm bh-font-normal\">\n <div class=\"bh-table-responsive\" [ngClass]=\"{'bh-min-h-[300px]': currentLoader }\" [style]=\"{ height: stickyHeader && height }\">\n <table [ngClass]=\"[skin]\">\n <thead [ngClass]=\"{ 'bh-sticky bh-top-0 bh-z-10': stickyHeader }\">\n <column-header\n #header1\n [all]=\"getProps\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event, true)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </thead>\n\n <tbody>\n <ng-container *ngIf=\"filterRowCount\">\n <tr\n *ngFor=\"let item of filterItems; let i = index; trackBy:trackFilterItems.bind(this)\"\n [ngClass]=\"[(isFunction(rowClass) ? rowClass(item) : rowClass), selectRowOnClick? 'bh-cursor-pointer':'']\"\n (click)=\"onRowClick(item, i)\"\n (dblclick)=\"onRowDoubleClick(item)\"\n >\n <td *ngIf=\"hasCheckbox\" [ngClass]=\"{'bh-sticky bh-left-0 bh-bg-blue-light': stickyFirstColumn}\">\n <div class=\"bh-checkbox\" (click)=\"$event.stopPropagation();\">\n <input type=\"checkbox\" value=\"{{item[uniqueKey] ? item[uniqueKey] : i}}\" [(ngModel)]=\"item.selected\" (change)=\"checkboxChange();\" />\n <div>\n <icon-check class=\"check\"></icon-check>\n </div>\n </div>\n </td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td\n *ngIf=\"!col.hide\"\n [ngClass]=\"[\n (isFunction(cellClass) ? cellClass(item) : cellClass),\n j === 0 && stickyFirstColumn ? 'bh-sticky bh-left-0 bh-bg-blue-light' : '',\n hasCheckbox && j === 0 && stickyFirstColumn ? 'bh-left-[52px]' : '',\n col.cellClass ? col.cellClass : ''\n ]\"\n >\n <ng-container *ngIf=\"hasSlot(col.field)\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field)\" [ngTemplateOutletContext]=\"{ data: item }\"></ng-container>\n </ng-container>\n <div *ngIf=\"!hasSlot(col.field) && col.cellRenderer\" [innerHTML]=\"sanitizeHtml(col.cellRenderer(item))\"></div>\n <ng-container *ngIf=\"!hasSlot(col.field) && !col.cellRenderer\"> {{ cellValue(item, col.field) }} </ng-container>\n </td>\n </ng-container>\n </tr>\n <!-- Footer row -->\n <tr *ngIf=\"showFooterRow\" class=\"footer-row\">\n <td *ngIf=\"hasCheckbox\"></td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td *ngIf=\"!col.hide\">\n <ng-container *ngIf=\"hasSlot(col.field + '_footer')\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field + '_footer')\" [ngTemplateOutletContext]=\"{ data: col }\"></ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n <tr *ngIf=\"!filterRowCount && !currentLoader\">\n <td [attr.colspan]=\"columns.length + 1\">{{ noDataContent }}</td>\n </tr>\n\n <ng-container *ngIf=\"!filterRowCount && currentLoader\">\n <tr *ngFor=\"let k of getRange(pageSize)\" class=\"!bh-bg-white bh-h-11 !bh-border-transparent\">\n <td [attr.colspan]=\"columns.length + 1\" class=\"!bh-p-0 !bh-border-transparent\">\n <div class=\"bh-skeleton-box bh-h-8\"></div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n\n <tfoot *ngIf=\"cloneHeaderInFooter\" [ngClass]=\"{ 'bh-sticky bh-bottom-0': stickyHeader }\">\n <column-header\n #header2\n [all]=\"getProps\"\n [isFooter]=\"true\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </tfoot>\n </table>\n\n <div *ngIf=\"filterRowCount && currentLoader\" class=\"bh-absolute bh-inset-0 bh-bg-blue-light/50 bh-grid bh-place-content-center\">\n <icon-loader></icon-loader>\n </div>\n </div>\n\n <div *ngIf=\"pagination && filterRowCount\" class=\"bh-pagination bh-py-5\">\n <div class=\"bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4\">\n <div class=\"bh-pagination-info bh-flex bh-items-center\">\n <span class=\"bh-mr-2\"> {{ pager.stringFormat }} </span>\n <select *ngIf=\"showPageSize\" [(ngModel)]=\"currentPageSize\" class=\"bh-pagesize\" (ngModelChange)=\"changePageSize()\">\n <option *ngFor=\"let option of pageSizeOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n </div>\n\n <div class=\"bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1\">\n <button *ngIf=\"showFirstPage\" type=\"button\" class=\"bh-page-item first-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(1)\">\n <span *ngIf=\"firstArrow\" [innerHTML]=\"sanitizeHtml(firstArrow)\"></span>\n <svg *ngIf=\"!firstArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n <path d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n </g>\n </svg>\n </button>\n <button type=\"button\" class=\"bh-page-item previous-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(currentPage - 1)\">\n <span *ngIf=\"previousArrow\" [innerHTML]=\"sanitizeHtml(previousArrow)\"></span>\n <svg *ngIf=\"!previousArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n </button>\n\n <ng-container *ngIf=\"showNumbers\">\n <button\n *ngFor=\"let page of pager.pages\"\n type=\"button\"\n class=\"bh-page-item\"\n [class.disabled]=\"currentPage === page\"\n [class.bh-active]=\"page === currentPage\"\n (click)=\"movePage(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button type=\"button\" class=\"bh-page-item next-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(currentPage + 1)\">\n <span *ngIf=\"nextArrow\" [innerHTML]=\"sanitizeHtml(nextArrow)\"> </span>\n <svg *ngIf=\"!nextArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8L4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n\n <button *ngIf=\"showLastPage\" type=\"button\" class=\"bh-page-item last-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(maxPage())\">\n <span *ngIf=\"lastArrow\" [innerHTML]=\"sanitizeHtml(lastArrow)\"> </span>\n <svg *ngIf=\"!lastArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8L3.646 2.354a.5.5 0 0 1 0-.708z\" />\n <path d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8L7.646 2.354a.5.5 0 0 1 0-.708z\" />\n </g>\n </svg>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.bh-datatable .bh-table-responsive{position:relative;width:100%;overflow:auto;border-radius:.25rem}.bh-datatable .bh-table-responsive table{width:100%;max-width:100%;border-collapse:collapse!important}.bh-datatable .bh-table-responsive table tfoot tr,.bh-datatable .bh-table-responsive table thead tr{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table tbody tr td,.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{padding:.75rem 1rem;text-align:left}.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{vertical-align:top;font-weight:700}.bh-datatable .bh-table-responsive table tbody tr{border-bottom-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-striped tbody tr:nth-child(odd){background-color:#e0e6ed26}.bh-datatable .bh-table-responsive table.bh-table-hover tbody tr:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-compact tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-compact thead tr th{padding:.5rem .75rem}.bh-datatable .bh-table-responsive table.bh-table-bordered tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-bordered thead tr th{border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{display:grid;height:2rem;width:2rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;place-content:center;border-radius:9999px;border:1px solid rgba(14,23,38,.3);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .625rem;--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination .bh-page-item:hover{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{-webkit-appearance:button;background-image:none}.bh-datatable .bh-pagination .bh-page-item.disabled:not(.bh-active){pointer-events:none;opacity:.5}.bh-datatable .bh-pagination .bh-page-item.bh-active{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive button,.bh-datatable .bh-table-responsive input{outline:2px solid transparent;outline-offset:2px}.bh-datatable .bh-pagination-info .bh-pagesize{box-sizing:border-box;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .5rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination-info .bh-pagesize:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter{margin-top:.125rem;display:flex;height:30px;width:100%;align-items:center}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control{box-sizing:border-box;height:100%;width:100%;min-width:60px;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter>select{border-radius:.25rem}.bh-datatable .bh-table-responsive table th .bh-filter>button{display:grid;height:30px;width:30px;flex-shrink:0;cursor:pointer;place-content:center;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(224 230 237/var(--tw-bg-opacity,1));color:#0e1726b3}.bh-datatable .bh-table-responsive table th .bh-filter>button:hover{color:#0e1726e6}.bh-datatable .bh-table-responsive table th .bh-filter>button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button{display:flex;width:100%;cursor:pointer;border:1px solid transparent;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem 1rem;text-align:left}.bh-datatable .bh-filter-menu button:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-filter-menu button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button.active{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-table-responsive input[type=checkbox]{position:absolute;height:1.25rem;width:1.25rem;opacity:0}.bh-datatable .bh-table-responsive input[type=checkbox]+div{display:grid;height:1.25rem;width:1.25rem;place-content:center;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]+div svg{pointer-events:none;display:none;height:.75rem;width:.75rem;fill:currentColor;--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div svg.check,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div svg.intermediate{display:flex;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-absolute{position:absolute}.bh-relative{position:relative}.bh-sticky{position:sticky}.bh-inset-0{inset:0}.bh-bottom-0{bottom:0}.bh-left-0{left:0}.bh-left-\\[52px\\]{left:52px}.bh-right-0{right:0}.bh-top-0{top:0}.bh-top-full{top:100%}.bh-z-10{z-index:10}.bh-z-\\[1\\]{z-index:1}.bh-mb-2{margin-bottom:.5rem}.bh-ml-3{margin-left:.75rem}.bh-mr-2{margin-right:.5rem}.bh-mt-1{margin-top:.25rem}.bh-flex{display:flex}.bh-inline-flex{display:inline-flex}.bh-grid{display:grid}.bh-hidden{display:none}.bh-h-11{height:2.75rem}.bh-h-8{height:2rem}.bh-min-h-\\[300px\\]{min-height:300px}.bh-w-32{width:8rem}.bh-w-4{width:1rem}.bh-w-px{width:1px}.bh-cursor-pointer{cursor:pointer}.bh-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.bh-flex-col{flex-direction:column}.bh-flex-wrap{flex-wrap:wrap}.bh-place-content-center{place-content:center}.bh-items-center{align-items:center}.bh-gap-4{gap:1rem}.bh-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.bh-overflow-hidden{overflow:hidden}.bh-rounded{border-radius:.25rem}.bh-rounded-md{border-radius:.375rem}.bh-border{border-width:1px}.bh-border-solid{border-style:solid}.\\!bh-border-transparent{border-color:transparent!important}.bh-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.bh-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.\\!bh-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bh-bg-blue-light{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-bg-blue-light\\/50{background-color:#f6f7fa80}.bh-bg-gray-200{background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bh-bg-gray-200,.bh-bg-white{--tw-bg-opacity:1}.bh-bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\\!bh-p-0{padding:0!important}.bh-p-10{padding:2.5rem}.bh-p-2{padding:.5rem}.bh-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.bh-text-\\[13px\\]{font-size:13px}.bh-text-sm{font-size:.875rem;line-height:1.25rem}.bh-font-normal{font-weight:400}.\\!bh-text-primary{--tw-text-opacity:1!important;color:rgb(67 97 238/var(--tw-text-opacity,1))!important}.bh-text-black{--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1))}.bh-text-black\\/20{color:#0e172633}.bh-text-primary{--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bh-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.bh-outline-0{outline-width:0}.bh-filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.bh-skeleton-box{position:relative;width:100%;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bh-skeleton-box:after{position:absolute;inset:0;--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));animation:bhshimmer 2s infinite;background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.025) 20%,rgba(0,0,0,.05) 50%,transparent);--tw-content:\"\";content:var(--tw-content)}@keyframes bhshimmer{to{transform:translate(100%)}}.hover\\:bh-opacity-80:hover{opacity:.8}.focus\\:bh-border-gray-200:focus{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}@media(min-width:640px){.sm\\:bh-ml-auto{margin-left:auto}.sm\\:bh-flex-row{flex-direction:row}}\n"] }]
|
|
1281
1281
|
}], ctorParameters: () => [{ type: i1$1.DomSanitizer }], propDecorators: { loading: [{
|
|
1282
1282
|
type: Input
|
|
1283
1283
|
}], isServerMode: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jbeche-ng-datatable.mjs","sources":["../../lib/modals.ts","../../lib/slot.directive.ts","../../lib/column-filter.ts","../../lib/icon-check.ts","../../lib/icon-dash.ts","../../lib/icon-filter.ts","../../lib/column-header.ts","../../lib/icon-loader.ts","../../lib/ng-datatable.ts","../../lib/ng-datatable.html","../../lib/ng-datatable.module.ts","../../public-api.ts","../../jbeche-ng-datatable.ts"],"sourcesContent":["export class colDef {\r\n isUnique?: boolean;\r\n field: string;\r\n title?: string;\r\n value?: any;\r\n condition?: any;\r\n type?: string; // string|date|number|bool\r\n width?: string | undefined;\r\n minWidth?: string | undefined;\r\n maxWidth?: string | undefined;\r\n hide?: boolean;\r\n filter?: boolean; // column filter\r\n search?: boolean; // global search\r\n sort?: boolean;\r\n html?: boolean;\r\n cellRenderer?: any; // [Function, string]\r\n headerClass?: string;\r\n cellClass?: string;\r\n}\r\n\r\nexport class Pager {\r\n public totalRows: number;\r\n public currentPage: number;\r\n public pageSize: number;\r\n public maxPage: number;\r\n public startPage: number;\r\n public endPage: number;\r\n public stringFormat: string;\r\n public pages: any;\r\n}\r\n","import { TemplateRef, Directive, Input } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: '[slot]',\r\n})\r\nexport class SlotDirective {\r\n @Input('slot') fieldName: string;\r\n @Input('slotValue') value: any;\r\n\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'column-filter',\r\n template: `\r\n <div class=\"bh-filter-menu bh-absolute bh-z-[1] bh-bg-white bh-shadow-md bh-rounded-md bh-top-full bh-right-0 bh-w-32 bh-mt-1\">\r\n <div class=\"bh-text-[13px] bh-font-normal bh-rounded bh-overflow-hidden\" (click)=\"closeMethod(); $event.stopPropagation()\">\r\n <button type=\"button\" [class.active]=\"column.condition === ''\" (click)=\"select('')\">No filter</button>\r\n <ng-container *ngIf=\"column.type === 'string'\">\r\n <button type=\"button\" [class.active]=\"column.condition === 'contain'\" (click)=\"select('contain')\">Contain</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'not_contain'\" (click)=\"select('not_contain')\">Not contain</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'equal'\" (click)=\"select('equal')\">Equal</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'not_equal'\" (click)=\"select('not_equal')\">Not equal</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'start_with'\" (click)=\"select('start_with')\">Starts with</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'end_with'\" (click)=\"select('end_with')\">Ends with</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'number'\">\r\n <button type=\"button\" [class.active]=\"column.condition === 'equal'\" (click)=\"select('equal')\">Equal</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'not_equal'\" (click)=\"select('not_equal')\">Not Equal</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'greater_than'\" (click)=\"select('greater_than')\">Greater than</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'greater_than_equal'\" (click)=\"select('greater_than_equal')\">Greater than or equal</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'less_than'\" (click)=\"select('less_than')\">Less than</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'less_than_equal'\" (click)=\"select('less_than_equal')\">Less than or equal</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'date'\">\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'equal' }\" (click)=\"select('equal')\">Equal</button>\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'not_equal' }\" (click)=\"select('not_equal')\">Not equal</button>\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'greater_than' }\" (click)=\"select('greater_than')\">Greater than</button>\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'less_than' }\" (click)=\"select('less_than')\">Less than</button>\r\n </ng-container>\r\n\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'is_null' }\" (click)=\"select('is_null')\">Is null</button>\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'is_not_null' }\" (click)=\"select('is_not_null')\">Not null</button>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ColumnFilterComponent {\r\n @Input() column: any;\r\n @Output('close') close: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('filterChange') filterChange: EventEmitter<any> = new EventEmitter<any>();\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n document.addEventListener('click', this.closeMethod.bind(this));\r\n }\r\n\r\n ngOnDestroy() {\r\n document.removeEventListener('click', this.closeMethod.bind(this));\r\n }\r\n\r\n closeMethod() {\r\n this.close.emit();\r\n }\r\n\r\n select(condition: any) {\r\n this.column.condition = condition;\r\n if (condition === '') {\r\n this.column.value = '';\r\n }\r\n\r\n this.filterChange.emit(this.column);\r\n }\r\n}\r\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\r\n@Component({\r\n standalone: false,\r\n selector: 'icon-check',\r\n template: `\r\n <ng-template #template>\r\n <svg [ngClass]=\"class\" version=\"1.1\" viewBox=\"0 0 17 12\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g transform=\"translate(-9 -11)\" fill=\"currentColor\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"m25.576 11.414c0.56558 0.55188 0.56558 1.4439 0 1.9961l-9.404 9.176c-0.28213 0.27529-0.65247 0.41385-1.0228 0.41385-0.37034 0-0.74068-0.13855-1.0228-0.41385l-4.7019-4.588c-0.56584-0.55188-0.56584-1.4442 0-1.9961 0.56558-0.55214 1.4798-0.55214 2.0456 0l3.679 3.5899 8.3812-8.1779c0.56558-0.55214 1.4798-0.55214 2.0456 0z\"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </ng-template>\r\n `,\r\n})\r\nexport class IconCheckComponent {\r\n @ViewChild('template', { static: true }) template: any;\r\n @Input() class: any;\r\n constructor(private viewContainerRef: ViewContainerRef) {}\r\n ngOnInit() {\r\n this.viewContainerRef.createEmbeddedView(this.template);\r\n }\r\n}\r\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\r\n@Component({\r\n standalone: false,\r\n selector: 'icon-dash',\r\n template: `\r\n <ng-template #template>\r\n <svg [ngClass]=\"class\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" stroke=\"currentColor\" stroke-width=\"3\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>\r\n </svg>\r\n </ng-template>\r\n `,\r\n})\r\nexport class IconDashComponent {\r\n @ViewChild('template', { static: true }) template: any;\r\n @Input() class: any;\r\n constructor(private viewContainerRef: ViewContainerRef) {}\r\n ngOnInit() {\r\n this.viewContainerRef.createEmbeddedView(this.template);\r\n }\r\n}\r\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\r\n@Component({\r\n standalone: false,\r\n selector: 'icon-filter',\r\n template: `\r\n <ng-template #template>\r\n <svg [ngClass]=\"class\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"></polygon>\r\n </svg>\r\n </ng-template>\r\n `,\r\n})\r\nexport class IconFilterComponent {\r\n @ViewChild('template', { static: true }) template: any;\r\n @Input() class: any;\r\n constructor(private viewContainerRef: ViewContainerRef) {}\r\n ngOnInit() {\r\n this.viewContainerRef.createEmbeddedView(this.template);\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { colDef } from './modals';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'column-header',\r\n template: `\r\n <ng-template #template>\r\n <tr>\r\n <th\r\n *ngIf=\"all.hasCheckbox\"\r\n [class]=\"'bh-w-px'\"\r\n [ngClass]=\"{\r\n 'bh-sticky bh-bg-blue-light bh-z-[1]': all.stickyHeader || all.stickyFirstColumn,\r\n 'bh-top-0': all.stickyHeader,\r\n 'bh-left-0': all.stickyFirstColumn\r\n }\"\r\n >\r\n <div class=\"bh-checkbox\">\r\n <input #selectedAll type=\"checkbox\" (click)=\"selectAll.emit(selectedAll.checked); $event.stopPropagation()\" />\r\n <div>\r\n <icon-check class=\"check\"></icon-check>\r\n <icon-dash class=\"intermediate\"></icon-dash>\r\n </div>\r\n </div>\r\n </th>\r\n\r\n <ng-container *ngFor=\"let col of all.columns; let j = index\">\r\n <th\r\n *ngIf=\"!col.hide\"\r\n [class]=\"'bh-select-none bh-z-[1]'\"\r\n [ngClass]=\"[\r\n all.sortable && col.sort ? 'bh-cursor-pointer' : '',\r\n j === 0 && all.stickyFirstColumn ? 'bh-sticky bh-left-0 bh-bg-blue-light' : '',\r\n all.hasCheckbox && j === 0 && all.stickyFirstColumn ? 'bh-left-[52px]' : ''\r\n ]\"\r\n [style]=\"{ width: col.width, 'min-width': col.minWidth, 'max-width': col.maxWidth }\"\r\n >\r\n <div class=\"bh-flex bh-items-center\" [ngClass]=\"[col.headerClass ? col.headerClass : '']\" (click)=\"all.sortable && col.sort && sortChange.emit(col.field)\">\r\n {{ col.title }}\r\n <span *ngIf=\"all.sortable && col.sort\" class=\"bh-ml-3 bh-sort bh-flex bh-items-center\" [ngClass]=\"[all.sortColumn, all.sortDirection]\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <polygon\r\n points=\"3.11,6.25 10.89,6.25 7,1.75\"\r\n fill=\"currentColor\"\r\n class=\"bh-text-black/20\"\r\n [ngClass]=\"[all.sortColumn === col.field && all.sortDirection === 'asc' ? '!bh-text-primary' : '']\"\r\n ></polygon>\r\n <polygon\r\n points=\"7,12.25 10.89,7.75 3.11,7.75\"\r\n fill=\"currentColor\"\r\n class=\"bh-text-black/20\"\r\n [ngClass]=\"[all.sortColumn === col.field && all.sortDirection === 'desc' ? '!bh-text-primary' : '']\"\r\n ></polygon>\r\n </svg>\r\n </span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"all.columnFilter && !isFooter\">\r\n <div *ngIf=\"col.filter\" class=\"bh-filter bh-relative\">\r\n <input *ngIf=\"col.type === 'string'\" [(ngModel)]=\"col.value\" type=\"text\" class=\"bh-form-control\" (keyup)=\"filterChange.emit()\" />\r\n <input *ngIf=\"col.type === 'number'\" [(ngModel)]=\"col.value\" type=\"number\" class=\"bh-form-control\" (keyup)=\"filterChange.emit()\" />\r\n <input *ngIf=\"col.type === 'date'\" [(ngModel)]=\"col.value\" type=\"date\" class=\"bh-form-control\" (change)=\"filterChange.emit()\" />\r\n <select *ngIf=\"col.type === 'bool'\" [(ngModel)]=\"col.value\" class=\"bh-form-control\" (change)=\"filterChange.emit()\" (click)=\"isOpenFilter = null\">\r\n <option [ngValue]=\"undefined\">All</option>\r\n <option [ngValue]=\"true\">True</option>\r\n <option [ngValue]=\"false\">False</option>\r\n </select>\r\n\r\n <button *ngIf=\"col.type !== 'bool'\" type=\"button\" (click)=\"toggleFilterMenu(col); $event.stopPropagation()\">\r\n <icon-filter class=\"bh-w-4\"></icon-filter>\r\n </button>\r\n\r\n <column-filter\r\n [ngClass]=\"{ 'bh-hidden': isOpenFilter !== col.field }\"\r\n [column]=\"col\"\r\n (close)=\"toggleFilterMenu()\"\r\n (filterChange)=\"filterChange.emit()\"\r\n ></column-filter>\r\n </div>\r\n </ng-container>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n `,\r\n})\r\nexport class ColumnHeaderComponent {\r\n @ViewChild('template', { static: true }) template: any;\r\n @ViewChild('selectedAll') selectedAll: any;\r\n\r\n @Input() all: any;\r\n @Input() isFooter: any;\r\n @Input() checkAll: any;\r\n\r\n @Output('selectAll') selectAll: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('sortChange') sortChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('filterChange') filterChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n isOpenFilter: any = null;\r\n\r\n constructor(private viewContainerRef: ViewContainerRef) {}\r\n\r\n ngOnInit() {\r\n this.viewContainerRef.createEmbeddedView(this.template);\r\n this.checkboxChange();\r\n }\r\n\r\n checkboxChange() {\r\n if (this.selectedAll) {\r\n this.selectedAll.nativeElement.indeterminate = this.checkAll !== 0 ? !this.checkAll : false;\r\n this.selectedAll.nativeElement.checked = this.checkAll;\r\n }\r\n }\r\n\r\n toggleFilterMenu(col?: colDef) {\r\n if (col) {\r\n if (this.isOpenFilter === col.field) {\r\n this.isOpenFilter = null;\r\n } else {\r\n this.isOpenFilter = col.field;\r\n }\r\n } else {\r\n this.isOpenFilter = null;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n@Component({\r\n standalone: false,\r\n selector: 'icon-loader',\r\n template: `\r\n <svg width=\"84\" height=\"84\" viewBox=\"0 0 24 24\" class=\"bh-loader bh-text-primary\">\r\n <circle cx=\"18\" cy=\"12\" r=\"0\" fill=\"currentColor\">\r\n <animate\r\n attributeName=\"r\"\r\n begin=\".67\"\r\n calcMode=\"spline\"\r\n dur=\"1.5s\"\r\n keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\r\n repeatCount=\"indefinite\"\r\n values=\"0;2;0;0\"\r\n />\r\n </circle>\r\n <circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\">\r\n <animate\r\n attributeName=\"r\"\r\n begin=\".33\"\r\n calcMode=\"spline\"\r\n dur=\"1.5s\"\r\n keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\r\n repeatCount=\"indefinite\"\r\n values=\"0;2;0;0\"\r\n />\r\n </circle>\r\n <circle cx=\"6\" cy=\"12\" r=\"0\" fill=\"currentColor\">\r\n <animate\r\n attributeName=\"r\"\r\n begin=\"0\"\r\n calcMode=\"spline\"\r\n dur=\"1.5s\"\r\n keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\r\n repeatCount=\"indefinite\"\r\n values=\"0;2;0;0\"\r\n />\r\n </circle>\r\n </svg>\r\n `,\r\n})\r\nexport class IconLoaderComponent {\r\n constructor() {}\r\n}\r\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Pager, colDef } from './modals';\nimport { SlotDirective } from './slot.directive';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n standalone: false,\n selector: 'ng-datatable',\n templateUrl: './ng-datatable.html',\n styleUrls: ['./style.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDataTableComponent {\n // props\n @Input() loading: boolean = false;\n @Input() isServerMode: boolean = false;\n @Input() skin: string = 'bh-table-striped bh-table-hover';\n @Input() totalRows: number = 0;\n @Input() rows: Array<any> = [];\n @Input() columns: Array<colDef> = [];\n @Input() hasCheckbox: boolean = false;\n @Input() search: string = '';\n @Input() page: number = 1;\n @Input() pageSize: number = 10;\n @Input() pageSizeOptions: Array<number> = [10, 20, 30, 50, 100];\n @Input() showPageSize: boolean = true;\n @Input() rowClass: string | Function = '';\n @Input() cellClass: string | Function = '';\n @Input() sortable: boolean = false;\n @Input() sortColumn: string = 'id';\n @Input() sortDirection: string = 'asc';\n @Input() columnFilter: boolean = false;\n @Input() pagination: boolean = true;\n @Input() showNumbers: boolean = true;\n @Input() showNumbersCount: number = 5;\n @Input() showFirstPage: boolean = true;\n @Input() showLastPage: boolean = true;\n @Input() firstArrow: string = '';\n @Input() lastArrow: string = '';\n @Input() nextArrow: string = '';\n @Input() previousArrow: string = '';\n @Input() paginationInfo: string = 'Showing {0} to {1} of {2} entries';\n @Input() noDataContent: string = 'No data available';\n @Input() stickyHeader: boolean = false;\n @Input() height: string = '500px';\n @Input() stickyFirstColumn: boolean = false;\n @Input() cloneHeaderInFooter: boolean = false;\n @Input() selectRowOnClick: boolean = false;\n @Input() showFooterRow: boolean = false;\n\n // events\n @Output() changeServer = new EventEmitter<any>();\n @Output() sortChange = new EventEmitter<any>();\n @Output() searchChange = new EventEmitter<any>();\n @Output() pageChange = new EventEmitter<any>();\n @Output() pageSizeChange = new EventEmitter<any>();\n @Output() rowSelect = new EventEmitter<any>();\n @Output() filterChange = new EventEmitter<any>();\n @Output() rowClick = new EventEmitter<any>();\n @Output() rowDBClick = new EventEmitter<any>();\n\n // variables\n filterItems: Array<any> = [];\n currentPage = this.page;\n currentPageSize = this.pagination ? this.pageSize : this.rows.length;\n oldPageSize = this.pageSize;\n currentSortColumn = this.sortColumn;\n oldSortColumn = this.sortColumn;\n currentSortDirection = this.sortDirection;\n oldSortDirection = this.sortDirection;\n filterRowCount = this.totalRows;\n\n selectedAll: any = null;\n currentLoader = this.loading;\n currentSearch = this.search;\n oldColumns: colDef[];\n uniqueKey: string = '';\n\n constructor(private sanitizer: DomSanitizer) {}\n ngOnInit() {\n this.initDeafultValues();\n this.changeRows();\n }\n ngOnChanges(changes: SimpleChanges) {\n // watch loading\n if (changes['loading'] && !changes['loading'].firstChange) {\n this.currentLoader = this.loading;\n }\n\n // watch rows and columns\n if ((changes['rows'] && !changes['rows'].firstChange) || (changes['columns'] && !changes['columns'].firstChange)) {\n if (!this.isServerMode) {\n this.currentPage = 1;\n this.oldColumns = this.noReact(this.columns);\n }\n this.changeRows();\n }\n\n // watch page\n if (!this.isServerMode) {\n if (changes['page'] && !changes['page'].firstChange) {\n this.movePage(this.page);\n }\n }\n\n // watch pagesize\n if (changes['pageSize'] && !changes['pageSize'].firstChange) {\n this.currentPageSize = this.pagination ? this.pageSize : this.rows.length;\n if (!this.isServerMode) {\n this.changePageSize();\n }\n }\n\n // watch search\n if (changes['search'] && !changes['search'].firstChange) {\n this.currentSearch = this.search;\n this.changeSearch();\n }\n\n // watch sort column and direction\n if (!this.isServerMode) {\n if ((changes['sortColumn'] && !changes['sortColumn'].firstChange) || (changes['sortDirection'] && !changes['sortDirection'].firstChange)) {\n this.sortChangeMethod(this.sortColumn, this.sortDirection);\n }\n }\n }\n\n initDeafultValues() {\n this.currentLoader = this.loading;\n this.currentSearch = this.search;\n this.currentSortColumn = this.sortColumn;\n this.currentSortDirection = this.sortDirection;\n this.filterRowCount = this.totalRows;\n\n this.currentPage = this.page;\n if (this.pagination) {\n const exists = this.pageSizeOptions.find((d) => d === this.pageSize);\n this.currentPageSize = exists ? this.pageSize : 10;\n } else {\n this.currentPageSize = this.rows.length;\n }\n\n this.oldPageSize = this.pageSize;\n this.oldSortColumn = this.sortColumn;\n this.oldSortDirection = this.sortDirection;\n\n // set default columns values\n for (const item of this.columns || []) {\n const type = item.type?.toLowerCase() || 'string';\n item.type = type;\n item.isUnique = item.isUnique !== undefined ? item.isUnique : false;\n item.hide = item.hide !== undefined ? item.hide : false;\n item.filter = item.filter !== undefined ? item.filter : true;\n item.search = item.search !== undefined ? item.search : true;\n item.sort = item.sort !== undefined ? item.sort : true;\n item.html = item.html !== undefined ? item.html : false;\n item.condition = !type || type === 'string' ? 'contain' : 'equal';\n }\n\n this.oldColumns = this.noReact(this.columns);\n\n this.setUniqueKey();\n }\n props: any;\n get getProps() {\n return {\n loading: this.currentLoader,\n isServerMode: this.isServerMode,\n skin: this.skin,\n totalRows: this.filterRowCount,\n rows: this.rows,\n columns: this.columns,\n hasCheckbox: this.hasCheckbox,\n search: this.currentSearch,\n page: this.currentPage,\n pageSize: this.currentPageSize,\n pageSizeOptions: this.pageSizeOptions,\n showPageSize: this.showPageSize,\n rowClass: this.rowClass,\n cellClass: this.cellClass,\n sortable: this.sortable,\n sortColumn: this.currentSortColumn,\n sortDirection: this.currentSortDirection,\n columnFilter: this.columnFilter,\n pagination: this.pagination,\n showNumbers: this.showNumbers,\n showNumbersCount: this.showNumbersCount,\n showFirstPage: this.showFirstPage,\n showLastPage: this.showLastPage,\n firstArrow: this.firstArrow,\n lastArrow: this.lastArrow,\n nextArrow: this.nextArrow,\n previousArrow: this.previousArrow,\n paginationInfo: this.paginationInfo,\n noDataContent: this.noDataContent,\n stickyHeader: this.stickyHeader,\n height: this.height,\n stickyFirstColumn: this.stickyFirstColumn,\n cloneHeaderInFooter: this.cloneHeaderInFooter,\n selectRowOnClick: this.selectRowOnClick,\n showFooterRow: this.showFooterRow,\n };\n }\n\n isFunction(value: any): value is Function {\n return typeof value === 'function';\n }\n\n stringFormat() {\n const args: any[] = [this.filterRowCount ? this.offset() : 0, this.limit(), this.filterRowCount];\n return this.paginationInfo.replace(/{(\\d+)}/g, (match, number) => {\n return typeof args[number] != 'undefined' ? args[number] : match;\n });\n }\n setUniqueKey() {\n const col = this.columns.find((d) => d.isUnique);\n this.uniqueKey = col?.field || '';\n }\n\n maxPage() {\n const totalPages = this.currentPageSize < 1 ? 1 : Math.ceil(this.filterRowCount / this.currentPageSize);\n return Math.max(totalPages || 0, 1);\n }\n offset() {\n return (this.currentPage - 1) * this.currentPageSize + 1;\n }\n limit() {\n const limit = this.currentPage * this.currentPageSize;\n return this.filterRowCount >= limit ? limit : this.filterRowCount;\n }\n\n pager: Pager = new Pager();\n getPager() {\n // total pages\n let totalPages = this.maxPage();\n\n // pages\n let startPage: number, endPage: number;\n let isMaxSized = typeof this.showNumbersCount !== 'undefined' && this.showNumbersCount < totalPages;\n // recompute if maxSize\n if (isMaxSized) {\n // Current page is displayed in the middle of the visible ones\n startPage = Math.max(this.currentPage - Math.floor(this.showNumbersCount / 2), 1);\n endPage = startPage + this.showNumbersCount - 1;\n\n // Adjust if limit is exceeded\n if (endPage > totalPages) {\n endPage = totalPages;\n startPage = endPage - this.showNumbersCount + 1;\n }\n } else {\n startPage = 1;\n endPage = totalPages;\n }\n\n const pages = Array.from(Array(endPage + 1 - startPage).keys()).map((i) => startPage + i);\n\n return <Pager>{\n totalRows: this.isServerMode ? this.totalRows : this.filterItems.length,\n currentPage: this.currentPage,\n pageSize: this.pageSize,\n maxPage: totalPages,\n startPage: startPage,\n endPage: endPage,\n stringFormat: this.stringFormat(),\n pages: pages,\n };\n }\n setPager() {\n this.pager = this.getPager();\n }\n\n filterRows() {\n let result = [];\n let rows = this.rows || [];\n\n if (this.isServerMode) {\n this.filterRowCount = this.totalRows || 0;\n result = rows;\n } else {\n this.columns?.forEach((d) => {\n if (d.filter && ((d.value !== undefined && d.value !== null && d.value !== '') || d.condition === 'is_null' || d.condition === 'is_not_null')) {\n // string filters\n if (d.type === 'string') {\n if (d.value && !d.condition) {\n d.condition = 'contain';\n }\n\n if (d.condition === 'contain') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field)?.toString().toLowerCase().includes(d.value.toLowerCase());\n });\n } else if (d.condition === 'not_contain') {\n rows = rows.filter((item) => {\n return !this.cellValue(item, d.field)?.toString().toLowerCase().includes(d.value.toLowerCase());\n });\n } else if (d.condition === 'equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field)?.toString().toLowerCase() === d.value.toLowerCase();\n });\n } else if (d.condition === 'not_equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field)?.toString().toLowerCase() !== d.value.toLowerCase();\n });\n } else if (d.condition === 'start_with') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field)?.toString().toLowerCase().indexOf(d.value.toLowerCase()) === 0;\n });\n } else if (d.condition === 'end_with') {\n rows = rows.filter((item) => {\n return (\n this.cellValue(item, d.field)\n ?.toString()\n .toLowerCase()\n .substr(d.value.length * -1) === d.value.toLowerCase()\n );\n });\n }\n }\n\n // number filters\n else if (d.type === 'number') {\n if (d.value && !d.condition) {\n d.condition = 'equal';\n }\n\n if (d.condition === 'equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) === parseFloat(d.value);\n });\n } else if (d.condition === 'not_equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) !== parseFloat(d.value);\n });\n } else if (d.condition === 'greater_than') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) > parseFloat(d.value);\n });\n } else if (d.condition === 'greater_than_equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) >= parseFloat(d.value);\n });\n } else if (d.condition === 'less_than') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) < parseFloat(d.value);\n });\n } else if (d.condition === 'less_than_equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) <= parseFloat(d.value);\n });\n }\n }\n\n // date filters\n if (d.type === 'date') {\n if (d.value && !d.condition) {\n d.condition = 'equal';\n }\n\n if (d.condition === 'equal') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) && this.dateFormat(this.cellValue(item, d.field)) === d.value;\n });\n } else if (d.condition === 'not_equal') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) && this.dateFormat(this.cellValue(item, d.field)) !== d.value;\n });\n } else if (d.condition === 'greater_than') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) && this.dateFormat(this.cellValue(item, d.field)) > d.value;\n });\n } else if (d.condition === 'less_than') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) && this.dateFormat(this.cellValue(item, d.field)) < d.value;\n });\n }\n }\n\n // boolean filters\n else if (d.type === 'bool') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) === d.value;\n });\n }\n\n if (d.condition === 'is_null') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) == null || this.cellValue(item, d.field) === '';\n });\n d.value = '';\n } else if (d.condition === 'is_not_null') {\n d.value = '';\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field);\n });\n }\n }\n });\n\n if (this.currentSearch && rows.length) {\n let final: Array<any> = [];\n\n const keys = (this.columns || [])\n .filter((d: any) => d.search && !d.hide)\n .map((d: any) => {\n return d.field;\n });\n\n for (let j = 0; j < rows.length; j++) {\n for (let i = 0; i < keys.length; i++) {\n if (this.cellValue(rows[j], keys[i])?.toString().toLowerCase().includes(this.currentSearch.toLowerCase())) {\n final.push(rows[j]);\n break;\n }\n }\n }\n\n rows = final;\n }\n\n // sort rows\n const collator = new Intl.Collator(undefined, {\n numeric: true,\n sensitivity: 'base',\n });\n const sortOrder = this.currentSortDirection === 'desc' ? -1 : 1;\n\n rows.sort((a: any, b: any): number => {\n const valA = this.currentSortColumn?.split('.').reduce((obj, key) => obj?.[key], a);\n const valB = this.currentSortColumn?.split('.').reduce((obj, key) => obj?.[key], b);\n\n return collator.compare(valA, valB) * sortOrder;\n });\n\n this.filterRowCount = rows.length || 0;\n result = rows.slice(this.offset() - 1, <number>this.limit());\n }\n\n this.filterItems = result || [];\n\n this.setPager();\n }\n\n // page change\n movePage(page: number = 1) {\n if (this.currentLoader || page < 1 || page > this.maxPage()) {\n return;\n }\n this.currentPage = page;\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('page');\n } else {\n this.filterRows();\n this.pageChange.emit(this.currentPage);\n }\n }\n\n // row update\n changeRows() {\n this.clearSelectedRows();\n this.filterRows();\n }\n\n // pagesize changed\n changePageSize() {\n this.currentPage = 1;\n\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('pagesize', true);\n } else {\n this.filterRows();\n this.pageSizeChange.emit(this.currentPageSize);\n }\n }\n\n // sorting\n sortChangeMethod(field: string, dir = '') {\n let direction = dir || 'asc';\n if (field === this.currentSortColumn) {\n if (this.currentSortDirection === 'asc') {\n direction = 'desc';\n }\n }\n const offset = (this.currentPage - 1) * this.currentPageSize;\n const limit = this.currentPageSize;\n this.currentSortColumn = field;\n this.currentSortDirection = direction;\n\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('sort');\n } else {\n this.filterRows();\n this.sortChange.emit({ offset, limit, field, direction });\n }\n }\n\n // checkboax\n @ViewChild('header1') header1: any;\n @ViewChild('header2') header2: any;\n checkboxChange() {\n this.checkIfAllSelected();\n const rows = this.getSelectedRows();\n this.rowSelect.emit(rows);\n }\n\n selectAll(checked: any, isAll = false) {\n this.filterItems.map((d: any) => (d.selected = checked));\n if (isAll) {\n this.checkboxChange();\n } else {\n this.checkIfAllSelected();\n }\n }\n checkIfAllSelected() {\n const cnt = this.filterItems.filter((d) => d.selected);\n this.selectedAll = cnt.length && cnt.length === this.filterItems.length;\n\n setTimeout(() => {\n this.header1?.checkboxChange();\n if (this.cloneHeaderInFooter) {\n this.header2?.checkboxChange();\n }\n });\n }\n\n // columns filter\n filterChangeMethod() {\n this.currentPage = 1;\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('filter', true);\n } else {\n this.filterRows();\n this.filterChange.emit(this.columns);\n }\n }\n\n // search\n changeSearch() {\n this.currentPage = 1;\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('search', true);\n } else {\n this.filterRows();\n this.searchChange.emit(this.currentSearch);\n }\n }\n\n cellValue(item: any, field: string = '') {\n return field?.split('.').reduce((obj, key) => obj?.[key], item);\n }\n\n dateFormat(date: any) {\n try {\n if (!date) {\n return '';\n }\n const dt = new Date(date);\n const day = dt.getDate();\n const month = dt.getMonth() + 1;\n const year = dt.getFullYear();\n\n return year + '-' + (month > 9 ? month : '0' + month) + '-' + (day > 9 ? day : '0' + day);\n } catch {}\n return '';\n }\n\n //row click\n timer: any = null;\n delay: number = 230;\n onRowClick(item: any, index: number) {\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n if (this.selectRowOnClick) {\n if (this.isRowSelected(index)) {\n this.unselectRow(index);\n } else {\n this.selectRow(index);\n }\n\n this.checkboxChange();\n }\n this.rowClick.emit(item);\n }, this.delay);\n }\n\n onRowDoubleClick(item: any) {\n clearTimeout(this.timer);\n this.rowDBClick.emit(item);\n }\n\n // emit change event for server side pagination\n changeForServer(changeType: string, isResetPage = false) {\n if (this.isServerMode) {\n if (changeType === 'page') {\n this.setPager();\n }\n\n this.setDefaultCondition();\n\n const res = {\n current_page: Number(isResetPage ? 1 : this.currentPage),\n pagesize: Number(this.currentPageSize),\n offset: Number((this.currentPage - 1) * <number>this.currentPageSize),\n sort_column: this.currentSortColumn,\n sort_direction: this.currentSortDirection,\n search: this.currentSearch,\n column_filters: this.columns,\n change_type: changeType,\n };\n this.changeServer.emit(res);\n }\n }\n\n // set default conditions when values exists and condition empty\n setDefaultCondition() {\n for (let i = 0; i < this.columns.length; i++) {\n let d = this.columns[i];\n\n if (d.filter && ((d.value !== undefined && d.value !== null && d.value !== '') || d.condition === 'is_null' || d.condition === 'is_not_null')) {\n if (d.type === 'string' && d.value && !d.condition) {\n d.condition = 'contain';\n }\n if (d.type === 'number' && d.value && !d.condition) {\n d.condition = 'equal';\n }\n if (d.type === 'date' && d.value && !d.condition) {\n d.condition = 'equal';\n }\n }\n }\n }\n\n // methods\n reset() {\n this.columns = this.noReact(this.oldColumns);\n this.currentSearch = '';\n this.currentPage = 1;\n this.currentPageSize = this.oldPageSize;\n this.currentSortColumn = this.oldSortColumn;\n this.currentSortDirection = this.oldSortDirection;\n\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('reset', true);\n } else {\n this.filterRows();\n }\n }\n getSelectedRows() {\n return this.filterItems.filter((d) => d.selected);\n }\n getColumnFilters() {\n return this.columns;\n }\n clearSelectedRows() {\n if (this.filterItems) {\n this.selectAll(false);\n }\n }\n selectRow(index: number) {\n if (!this.isRowSelected(index)) {\n const rows = this.filterItems.find((d: any, i: number) => i === index);\n if (rows) {\n rows.selected = true;\n }\n }\n }\n unselectRow(index: number) {\n if (this.isRowSelected(index)) {\n const rows = this.filterItems.find((d: any, i: number) => i === index);\n rows.selected = false;\n }\n }\n isRowSelected(index: number): boolean {\n const rows = this.filterItems.find((d: any, i: number) => i === index);\n if (rows) {\n return rows.selected;\n }\n return false;\n }\n\n // trackby\n trackFilterItems(index: number, item: any) {\n return this.uniqueKey ? item[this.uniqueKey] : (this.currentPage - 1) * this.pageSize + index;\n }\n\n // slots\n @ContentChildren(SlotDirective) slots: QueryList<SlotDirective>;\n @ViewChild('defaultTemplate', { static: true }) defaultTemplate: TemplateRef<any>;\n slotsMap: Map<string, TemplateRef<any>> = new Map<string, TemplateRef<any>>();\n\n ngAfterContentInit() {\n this.slots.forEach((template) => {\n const fieldName = template.fieldName;\n if (fieldName) {\n this.slotsMap.set(fieldName, template.templateRef);\n }\n });\n }\n hasSlot(fieldName: string = ''): boolean {\n return this.slotsMap.has(fieldName);\n }\n getSlot(fieldName: string = ''): TemplateRef<any> {\n return this.slotsMap.get(fieldName) || this.defaultTemplate;\n }\n\n // Sanitize and trust the HTML content\n sanitizeHtml(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n\n noReact(value: any) {\n return JSON.parse(JSON.stringify(value));\n }\n\n getRange(size: number): number[] {\n return Array.from({ length: size }, (_, index) => index + 1);\n }\n}\n","<div class=\"bh-datatable bh-antialiased bh-relative bh-text-black bh-text-sm bh-font-normal\">\n <div class=\"bh-table-responsive\" [ngClass]=\"{'bh-min-h-[300px]': currentLoader }\" [style]=\"{ height: stickyHeader && height }\">\n <table [ngClass]=\"[skin]\">\n <thead [ngClass]=\"{ 'bh-sticky bh-top-0 bh-z-10': stickyHeader }\">\n <column-header\n #header1\n [all]=\"getProps\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event, true)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </thead>\n\n <tbody>\n <ng-container *ngIf=\"filterRowCount\">\n <tr\n *ngFor=\"let item of filterItems; let i = index; trackBy:trackFilterItems.bind(this)\"\n [ngClass]=\"[(isFunction(rowClass) ? rowClass(item) : rowClass), selectRowOnClick? 'bh-cursor-pointer':'']\"\n (click)=\"onRowClick(item, i)\"\n (dblclick)=\"onRowDoubleClick(item)\"\n >\n <td *ngIf=\"hasCheckbox\" [ngClass]=\"{'bh-sticky bh-left-0 bh-bg-blue-light': stickyFirstColumn}\">\n <div class=\"bh-checkbox\" (click)=\"$event.stopPropagation();\">\n <input type=\"checkbox\" value=\"{{item[uniqueKey] ? item[uniqueKey] : i}}\" [(ngModel)]=\"item.selected\" (change)=\"checkboxChange();\" />\n <div>\n <icon-check class=\"check\"></icon-check>\n </div>\n </div>\n </td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td\n *ngIf=\"!col.hide\"\n [ngClass]=\"[\n (isFunction(cellClass) ? cellClass(item) : cellClass),\n j === 0 && stickyFirstColumn ? 'bh-sticky bh-left-0 bh-bg-blue-light' : '',\n hasCheckbox && j === 0 && stickyFirstColumn ? 'bh-left-[52px]' : '',\n col.cellClass ? col.cellClass : ''\n ]\"\n >\n <ng-container *ngIf=\"hasSlot(col.field)\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field)\" [ngTemplateOutletContext]=\"{ data: item }\"></ng-container>\n </ng-container>\n <div *ngIf=\"!hasSlot(col.field) && col.cellRenderer\" [innerHTML]=\"sanitizeHtml(col.cellRenderer(item))\"></div>\n <ng-container *ngIf=\"!hasSlot(col.field) && !col.cellRenderer\"> {{ cellValue(item, col.field) }} </ng-container>\n </td>\n </ng-container>\n </tr>\n <!-- Footer row -->\n <tr *ngIf=\"showFooterRow\" class=\"footer-row\">\n <td *ngIf=\"hasCheckbox\"></td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td *ngIf=\"!col.hide\">\n <ng-container *ngIf=\"hasSlot(col.field + '_footer')\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field + '_footer')\" [ngTemplateOutletContext]=\"{ data: col }\"></ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n <tr *ngIf=\"!filterRowCount && !currentLoader\">\n <td [attr.colspan]=\"columns.length + 1\">{{ noDataContent }}</td>\n </tr>\n\n <ng-container *ngIf=\"!filterRowCount && currentLoader\">\n <tr *ngFor=\"let k of getRange(pageSize)\" class=\"!bh-bg-white bh-h-11 !bh-border-transparent\">\n <td [attr.colspan]=\"columns.length + 1\" class=\"!bh-p-0 !bh-border-transparent\">\n <div class=\"bh-skeleton-box bh-h-8\"></div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n\n <tfoot *ngIf=\"cloneHeaderInFooter\" [ngClass]=\"{ 'bh-sticky bh-bottom-0': stickyHeader }\">\n <column-header\n #header2\n [all]=\"getProps\"\n [isFooter]=\"true\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </tfoot>\n </table>\n\n <div *ngIf=\"filterRowCount && currentLoader\" class=\"bh-absolute bh-inset-0 bh-bg-blue-light/50 bh-grid bh-place-content-center\">\n <icon-loader></icon-loader>\n </div>\n </div>\n\n <div *ngIf=\"pagination && filterRowCount\" class=\"bh-pagination bh-py-5\">\n <div class=\"bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4\">\n <div class=\"bh-pagination-info bh-flex bh-items-center\">\n <span class=\"bh-mr-2\"> {{ pager.stringFormat }} </span>\n <select *ngIf=\"showPageSize\" [(ngModel)]=\"currentPageSize\" class=\"bh-pagesize\" (ngModelChange)=\"changePageSize()\">\n <option *ngFor=\"let option of pageSizeOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n </div>\n\n <div class=\"bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1\">\n <button *ngIf=\"showFirstPage\" type=\"button\" class=\"bh-page-item first-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(1)\">\n <span *ngIf=\"firstArrow\" [innerHTML]=\"sanitizeHtml(firstArrow)\"></span>\n <svg *ngIf=\"!firstArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n <path d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n </g>\n </svg>\n </button>\n <button type=\"button\" class=\"bh-page-item previous-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(currentPage - 1)\">\n <span *ngIf=\"previousArrow\" [innerHTML]=\"sanitizeHtml(previousArrow)\"></span>\n <svg *ngIf=\"!previousArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n </button>\n\n <ng-container *ngIf=\"showNumbers\">\n <button\n *ngFor=\"let page of pager.pages\"\n type=\"button\"\n class=\"bh-page-item\"\n [class.disabled]=\"currentPage === page\"\n [class.bh-active]=\"page === currentPage\"\n (click)=\"movePage(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button type=\"button\" class=\"bh-page-item next-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(currentPage + 1)\">\n <span *ngIf=\"nextArrow\" [innerHTML]=\"sanitizeHtml(nextArrow)\"> </span>\n <svg *ngIf=\"!nextArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8L4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n\n <button *ngIf=\"showLastPage\" type=\"button\" class=\"bh-page-item last-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(maxPage())\">\n <span *ngIf=\"lastArrow\" [innerHTML]=\"sanitizeHtml(lastArrow)\"> </span>\n <svg *ngIf=\"!lastArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8L3.646 2.354a.5.5 0 0 1 0-.708z\" />\n <path d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8L7.646 2.354a.5.5 0 0 1 0-.708z\" />\n </g>\n </svg>\n </button>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { NgDataTableComponent } from './ng-datatable';\nimport { ColumnFilterComponent } from './column-filter';\nimport { ColumnHeaderComponent } from './column-header';\nimport { IconCheckComponent } from './icon-check';\nimport { IconDashComponent } from './icon-dash';\nimport { IconFilterComponent } from './icon-filter';\nimport { IconLoaderComponent } from './icon-loader';\n\n// directive\nimport { SlotDirective } from './slot.directive';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [\n NgDataTableComponent,\n ColumnFilterComponent,\n ColumnHeaderComponent,\n IconCheckComponent,\n IconDashComponent,\n IconFilterComponent,\n IconLoaderComponent,\n SlotDirective,\n ],\n exports: [NgDataTableComponent, ColumnFilterComponent, ColumnHeaderComponent, IconCheckComponent, IconDashComponent, IconFilterComponent, IconLoaderComponent, SlotDirective],\n})\nexport class DataTableModule {}\n","/*\r\n * Public API Surface of ng-datatable\r\n */\r\nexport * from './lib/ng-datatable.module';\r\nexport * from './lib/ng-datatable';\r\nexport * from './lib/column-filter';\r\nexport * from './lib/column-header';\r\nexport * from './lib/icon-check';\r\nexport * from './lib/icon-dash';\r\nexport * from './lib/icon-filter';\r\nexport * from './lib/icon-loader';\r\n\r\nexport * from './lib/modals';\r\nexport * from './lib/slot.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.ColumnFilterComponent","i4.IconCheckComponent","i5.IconDashComponent","i6.IconFilterComponent","i1","i2","i3","i4.ColumnHeaderComponent","i5.IconCheckComponent","i6.IconLoaderComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jbeche-ng-datatable.mjs","sources":["../../lib/modals.ts","../../lib/slot.directive.ts","../../lib/column-filter.ts","../../lib/icon-check.ts","../../lib/icon-dash.ts","../../lib/icon-filter.ts","../../lib/column-header.ts","../../lib/icon-loader.ts","../../lib/ng-datatable.ts","../../lib/ng-datatable.html","../../lib/ng-datatable.module.ts","../../public-api.ts","../../jbeche-ng-datatable.ts"],"sourcesContent":["export class colDef {\r\n isUnique?: boolean;\r\n field: string;\r\n title?: string;\r\n value?: any;\r\n condition?: any;\r\n type?: string; // string|date|number|bool\r\n width?: string | undefined;\r\n minWidth?: string | undefined;\r\n maxWidth?: string | undefined;\r\n hide?: boolean;\r\n filter?: boolean; // column filter\r\n search?: boolean; // global search\r\n sort?: boolean;\r\n html?: boolean;\r\n cellRenderer?: any; // [Function, string]\r\n headerClass?: string;\r\n cellClass?: string;\r\n}\r\n\r\nexport class Pager {\r\n public totalRows: number;\r\n public currentPage: number;\r\n public pageSize: number;\r\n public maxPage: number;\r\n public startPage: number;\r\n public endPage: number;\r\n public stringFormat: string;\r\n public pages: any;\r\n}\r\n","import { TemplateRef, Directive, Input } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: '[slot]',\r\n})\r\nexport class SlotDirective {\r\n @Input('slot') fieldName: string;\r\n @Input('slotValue') value: any;\r\n\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'column-filter',\r\n template: `\r\n <div class=\"bh-filter-menu bh-absolute bh-z-[1] bh-bg-white bh-shadow-md bh-rounded-md bh-top-full bh-right-0 bh-w-32 bh-mt-1\">\r\n <div class=\"bh-text-[13px] bh-font-normal bh-rounded bh-overflow-hidden\" (click)=\"closeMethod(); $event.stopPropagation()\">\r\n <button type=\"button\" [class.active]=\"column.condition === ''\" (click)=\"select('')\">No filter</button>\r\n <ng-container *ngIf=\"column.type === 'string'\">\r\n <button type=\"button\" [class.active]=\"column.condition === 'contain'\" (click)=\"select('contain')\">Contain</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'not_contain'\" (click)=\"select('not_contain')\">Not contain</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'equal'\" (click)=\"select('equal')\">Equal</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'not_equal'\" (click)=\"select('not_equal')\">Not equal</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'start_with'\" (click)=\"select('start_with')\">Starts with</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'end_with'\" (click)=\"select('end_with')\">Ends with</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'number'\">\r\n <button type=\"button\" [class.active]=\"column.condition === 'equal'\" (click)=\"select('equal')\">Equal</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'not_equal'\" (click)=\"select('not_equal')\">Not Equal</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'greater_than'\" (click)=\"select('greater_than')\">Greater than</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'greater_than_equal'\" (click)=\"select('greater_than_equal')\">Greater than or equal</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'less_than'\" (click)=\"select('less_than')\">Less than</button>\r\n <button type=\"button\" [class.active]=\"column.condition === 'less_than_equal'\" (click)=\"select('less_than_equal')\">Less than or equal</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'date'\">\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'equal' }\" (click)=\"select('equal')\">Equal</button>\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'not_equal' }\" (click)=\"select('not_equal')\">Not equal</button>\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'greater_than' }\" (click)=\"select('greater_than')\">Greater than</button>\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'less_than' }\" (click)=\"select('less_than')\">Less than</button>\r\n </ng-container>\r\n\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'is_null' }\" (click)=\"select('is_null')\">Is null</button>\r\n <button type=\"button\" [ngClass]=\"{ active: column.condition === 'is_not_null' }\" (click)=\"select('is_not_null')\">Not null</button>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ColumnFilterComponent {\r\n @Input() column: any;\r\n @Output('close') close: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('filterChange') filterChange: EventEmitter<any> = new EventEmitter<any>();\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n document.addEventListener('click', this.closeMethod.bind(this));\r\n }\r\n\r\n ngOnDestroy() {\r\n document.removeEventListener('click', this.closeMethod.bind(this));\r\n }\r\n\r\n closeMethod() {\r\n this.close.emit();\r\n }\r\n\r\n select(condition: any) {\r\n this.column.condition = condition;\r\n if (condition === '') {\r\n this.column.value = '';\r\n }\r\n\r\n this.filterChange.emit(this.column);\r\n }\r\n}\r\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\r\n@Component({\r\n standalone: false,\r\n selector: 'icon-check',\r\n template: `\r\n <ng-template #template>\r\n <svg [ngClass]=\"class\" version=\"1.1\" viewBox=\"0 0 17 12\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g transform=\"translate(-9 -11)\" fill=\"currentColor\" fill-rule=\"nonzero\">\r\n <path\r\n d=\"m25.576 11.414c0.56558 0.55188 0.56558 1.4439 0 1.9961l-9.404 9.176c-0.28213 0.27529-0.65247 0.41385-1.0228 0.41385-0.37034 0-0.74068-0.13855-1.0228-0.41385l-4.7019-4.588c-0.56584-0.55188-0.56584-1.4442 0-1.9961 0.56558-0.55214 1.4798-0.55214 2.0456 0l3.679 3.5899 8.3812-8.1779c0.56558-0.55214 1.4798-0.55214 2.0456 0z\"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </ng-template>\r\n `,\r\n})\r\nexport class IconCheckComponent {\r\n @ViewChild('template', { static: true }) template: any;\r\n @Input() class: any;\r\n constructor(private viewContainerRef: ViewContainerRef) {}\r\n ngOnInit() {\r\n this.viewContainerRef.createEmbeddedView(this.template);\r\n }\r\n}\r\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\r\n@Component({\r\n standalone: false,\r\n selector: 'icon-dash',\r\n template: `\r\n <ng-template #template>\r\n <svg [ngClass]=\"class\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" stroke=\"currentColor\" stroke-width=\"3\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>\r\n </svg>\r\n </ng-template>\r\n `,\r\n})\r\nexport class IconDashComponent {\r\n @ViewChild('template', { static: true }) template: any;\r\n @Input() class: any;\r\n constructor(private viewContainerRef: ViewContainerRef) {}\r\n ngOnInit() {\r\n this.viewContainerRef.createEmbeddedView(this.template);\r\n }\r\n}\r\n","import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';\r\n@Component({\r\n standalone: false,\r\n selector: 'icon-filter',\r\n template: `\r\n <ng-template #template>\r\n <svg [ngClass]=\"class\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"></polygon>\r\n </svg>\r\n </ng-template>\r\n `,\r\n})\r\nexport class IconFilterComponent {\r\n @ViewChild('template', { static: true }) template: any;\r\n @Input() class: any;\r\n constructor(private viewContainerRef: ViewContainerRef) {}\r\n ngOnInit() {\r\n this.viewContainerRef.createEmbeddedView(this.template);\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { colDef } from './modals';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'column-header',\r\n template: `\r\n <ng-template #template>\r\n <tr>\r\n <th\r\n *ngIf=\"all.hasCheckbox\"\r\n [class]=\"'bh-w-px'\"\r\n [ngClass]=\"{\r\n 'bh-sticky bh-bg-blue-light bh-z-[1]': all.stickyHeader || all.stickyFirstColumn,\r\n 'bh-top-0': all.stickyHeader,\r\n 'bh-left-0': all.stickyFirstColumn\r\n }\"\r\n >\r\n <div class=\"bh-checkbox\">\r\n <input #selectedAll type=\"checkbox\" (click)=\"selectAll.emit(selectedAll.checked); $event.stopPropagation()\" />\r\n <div>\r\n <icon-check class=\"check\"></icon-check>\r\n <icon-dash class=\"intermediate\"></icon-dash>\r\n </div>\r\n </div>\r\n </th>\r\n\r\n <ng-container *ngFor=\"let col of all.columns; let j = index\">\r\n <th\r\n *ngIf=\"!col.hide\"\r\n [class]=\"'bh-select-none bh-z-[1]'\"\r\n [ngClass]=\"[\r\n all.sortable && col.sort ? 'bh-cursor-pointer' : '',\r\n j === 0 && all.stickyFirstColumn ? 'bh-sticky bh-left-0 bh-bg-blue-light' : '',\r\n all.hasCheckbox && j === 0 && all.stickyFirstColumn ? 'bh-left-[52px]' : ''\r\n ]\"\r\n [style]=\"{ width: col.width, 'min-width': col.minWidth, 'max-width': col.maxWidth }\"\r\n >\r\n <div class=\"bh-flex bh-items-center\" [ngClass]=\"[col.headerClass ? col.headerClass : '']\" (click)=\"all.sortable && col.sort && sortChange.emit(col.field)\">\r\n {{ col.title }}\r\n <span *ngIf=\"all.sortable && col.sort\" class=\"bh-ml-3 bh-sort bh-flex bh-items-center\" [ngClass]=\"[all.sortColumn, all.sortDirection]\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <polygon\r\n points=\"3.11,6.25 10.89,6.25 7,1.75\"\r\n fill=\"currentColor\"\r\n class=\"bh-text-black/20\"\r\n [ngClass]=\"[all.sortColumn === col.field && all.sortDirection === 'asc' ? '!bh-text-primary' : '']\"\r\n ></polygon>\r\n <polygon\r\n points=\"7,12.25 10.89,7.75 3.11,7.75\"\r\n fill=\"currentColor\"\r\n class=\"bh-text-black/20\"\r\n [ngClass]=\"[all.sortColumn === col.field && all.sortDirection === 'desc' ? '!bh-text-primary' : '']\"\r\n ></polygon>\r\n </svg>\r\n </span>\r\n </div>\r\n\r\n <ng-container *ngIf=\"all.columnFilter && !isFooter\">\r\n <div *ngIf=\"col.filter\" class=\"bh-filter bh-relative\">\r\n <input *ngIf=\"col.type === 'string'\" [(ngModel)]=\"col.value\" type=\"text\" class=\"bh-form-control\" (keyup)=\"filterChange.emit()\" />\r\n <input *ngIf=\"col.type === 'number'\" [(ngModel)]=\"col.value\" type=\"number\" class=\"bh-form-control\" (keyup)=\"filterChange.emit()\" />\r\n <input *ngIf=\"col.type === 'date'\" [(ngModel)]=\"col.value\" type=\"date\" class=\"bh-form-control\" (change)=\"filterChange.emit()\" />\r\n <select *ngIf=\"col.type === 'bool'\" [(ngModel)]=\"col.value\" class=\"bh-form-control\" (change)=\"filterChange.emit()\" (click)=\"isOpenFilter = null\">\r\n <option [ngValue]=\"undefined\">All</option>\r\n <option [ngValue]=\"true\">True</option>\r\n <option [ngValue]=\"false\">False</option>\r\n </select>\r\n\r\n <button *ngIf=\"col.type !== 'bool'\" type=\"button\" (click)=\"toggleFilterMenu(col); $event.stopPropagation()\">\r\n <icon-filter class=\"bh-w-4\"></icon-filter>\r\n </button>\r\n\r\n <column-filter\r\n [ngClass]=\"{ 'bh-hidden': isOpenFilter !== col.field }\"\r\n [column]=\"col\"\r\n (close)=\"toggleFilterMenu()\"\r\n (filterChange)=\"filterChange.emit()\"\r\n ></column-filter>\r\n </div>\r\n </ng-container>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n `,\r\n})\r\nexport class ColumnHeaderComponent {\r\n @ViewChild('template', { static: true }) template: any;\r\n @ViewChild('selectedAll') selectedAll: any;\r\n\r\n @Input() all: any;\r\n @Input() isFooter: any;\r\n @Input() checkAll: any;\r\n\r\n @Output('selectAll') selectAll: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('sortChange') sortChange: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('filterChange') filterChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n isOpenFilter: any = null;\r\n\r\n constructor(private viewContainerRef: ViewContainerRef) {}\r\n\r\n ngOnInit() {\r\n this.viewContainerRef.createEmbeddedView(this.template);\r\n this.checkboxChange();\r\n }\r\n\r\n checkboxChange() {\r\n if (this.selectedAll) {\r\n this.selectedAll.nativeElement.indeterminate = this.checkAll !== 0 ? !this.checkAll : false;\r\n this.selectedAll.nativeElement.checked = this.checkAll;\r\n }\r\n }\r\n\r\n toggleFilterMenu(col?: colDef) {\r\n if (col) {\r\n if (this.isOpenFilter === col.field) {\r\n this.isOpenFilter = null;\r\n } else {\r\n this.isOpenFilter = col.field;\r\n }\r\n } else {\r\n this.isOpenFilter = null;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n@Component({\r\n standalone: false,\r\n selector: 'icon-loader',\r\n template: `\r\n <svg width=\"84\" height=\"84\" viewBox=\"0 0 24 24\" class=\"bh-loader bh-text-primary\">\r\n <circle cx=\"18\" cy=\"12\" r=\"0\" fill=\"currentColor\">\r\n <animate\r\n attributeName=\"r\"\r\n begin=\".67\"\r\n calcMode=\"spline\"\r\n dur=\"1.5s\"\r\n keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\r\n repeatCount=\"indefinite\"\r\n values=\"0;2;0;0\"\r\n />\r\n </circle>\r\n <circle cx=\"12\" cy=\"12\" r=\"0\" fill=\"currentColor\">\r\n <animate\r\n attributeName=\"r\"\r\n begin=\".33\"\r\n calcMode=\"spline\"\r\n dur=\"1.5s\"\r\n keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\r\n repeatCount=\"indefinite\"\r\n values=\"0;2;0;0\"\r\n />\r\n </circle>\r\n <circle cx=\"6\" cy=\"12\" r=\"0\" fill=\"currentColor\">\r\n <animate\r\n attributeName=\"r\"\r\n begin=\"0\"\r\n calcMode=\"spline\"\r\n dur=\"1.5s\"\r\n keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\r\n repeatCount=\"indefinite\"\r\n values=\"0;2;0;0\"\r\n />\r\n </circle>\r\n </svg>\r\n `,\r\n})\r\nexport class IconLoaderComponent {\r\n constructor() {}\r\n}\r\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Pager, colDef } from './modals';\nimport { SlotDirective } from './slot.directive';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n standalone: false,\n selector: 'ng-datatable',\n templateUrl: './ng-datatable.html',\n styleUrls: ['./style.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDataTableComponent {\n // props\n @Input() loading: boolean = false;\n @Input() isServerMode: boolean = false;\n @Input() skin: string = 'bh-table-striped bh-table-hover';\n @Input() totalRows: number = 0;\n @Input() rows: Array<any> = [];\n @Input() columns: Array<colDef> = [];\n @Input() hasCheckbox: boolean = false;\n @Input() search: string = '';\n @Input() page: number = 1;\n @Input() pageSize: number = 10;\n @Input() pageSizeOptions: Array<number> = [10, 20, 30, 50, 100];\n @Input() showPageSize: boolean = true;\n @Input() rowClass: string | Function = '';\n @Input() cellClass: string | Function = '';\n @Input() sortable: boolean = false;\n @Input() sortColumn: string = 'id';\n @Input() sortDirection: string = 'asc';\n @Input() columnFilter: boolean = false;\n @Input() pagination: boolean = true;\n @Input() showNumbers: boolean = true;\n @Input() showNumbersCount: number = 5;\n @Input() showFirstPage: boolean = true;\n @Input() showLastPage: boolean = true;\n @Input() firstArrow: string = '';\n @Input() lastArrow: string = '';\n @Input() nextArrow: string = '';\n @Input() previousArrow: string = '';\n @Input() paginationInfo: string = 'Showing {0} to {1} of {2} entries';\n @Input() noDataContent: string = 'No data available';\n @Input() stickyHeader: boolean = false;\n @Input() height: string = '500px';\n @Input() stickyFirstColumn: boolean = false;\n @Input() cloneHeaderInFooter: boolean = false;\n @Input() selectRowOnClick: boolean = false;\n @Input() showFooterRow: boolean = false;\n\n // events\n @Output() changeServer = new EventEmitter<any>();\n @Output() sortChange = new EventEmitter<any>();\n @Output() searchChange = new EventEmitter<any>();\n @Output() pageChange = new EventEmitter<any>();\n @Output() pageSizeChange = new EventEmitter<any>();\n @Output() rowSelect = new EventEmitter<any>();\n @Output() filterChange = new EventEmitter<any>();\n @Output() rowClick = new EventEmitter<any>();\n @Output() rowDBClick = new EventEmitter<any>();\n\n // variables\n filterItems: Array<any> = [];\n currentPage = this.page;\n currentPageSize = this.pagination ? this.pageSize : this.rows.length;\n oldPageSize = this.pageSize;\n currentSortColumn = this.sortColumn;\n oldSortColumn = this.sortColumn;\n currentSortDirection = this.sortDirection;\n oldSortDirection = this.sortDirection;\n filterRowCount = this.totalRows;\n\n selectedAll: any = null;\n currentLoader = this.loading;\n currentSearch = this.search;\n oldColumns: colDef[];\n uniqueKey: string = '';\n\n constructor(private sanitizer: DomSanitizer) {}\n ngOnInit() {\n this.initDeafultValues();\n this.changeRows();\n }\n ngOnChanges(changes: SimpleChanges) {\n // watch loading\n if (changes['loading'] && !changes['loading'].firstChange) {\n this.currentLoader = this.loading;\n }\n\n // watch rows and columns\n if ((changes['rows'] && !changes['rows'].firstChange) || (changes['columns'] && !changes['columns'].firstChange)) {\n if (!this.isServerMode) {\n this.currentPage = 1;\n this.oldColumns = this.noReact(this.columns);\n }\n this.changeRows();\n }\n\n // watch page\n if (!this.isServerMode) {\n if (changes['page'] && !changes['page'].firstChange) {\n this.movePage(this.page);\n }\n }\n\n // watch pagesize\n if (changes['pageSize'] && !changes['pageSize'].firstChange) {\n this.currentPageSize = this.pagination ? this.pageSize : this.rows.length;\n if (!this.isServerMode) {\n this.changePageSize();\n }\n }\n\n // watch search\n if (changes['search'] && !changes['search'].firstChange) {\n this.currentSearch = this.search;\n this.changeSearch();\n }\n\n // watch sort column and direction\n if (!this.isServerMode) {\n if ((changes['sortColumn'] && !changes['sortColumn'].firstChange) || (changes['sortDirection'] && !changes['sortDirection'].firstChange)) {\n this.sortChangeMethod(this.sortColumn, this.sortDirection);\n }\n }\n }\n\n initDeafultValues() {\n this.currentLoader = this.loading;\n this.currentSearch = this.search;\n this.currentSortColumn = this.sortColumn;\n this.currentSortDirection = this.sortDirection;\n this.filterRowCount = this.totalRows;\n\n this.currentPage = this.page;\n if (this.pagination) {\n const exists = this.pageSizeOptions.find((d) => d === this.pageSize);\n this.currentPageSize = exists ? this.pageSize : 10;\n } else {\n this.currentPageSize = this.rows.length;\n }\n\n this.oldPageSize = this.pageSize;\n this.oldSortColumn = this.sortColumn;\n this.oldSortDirection = this.sortDirection;\n\n // set default columns values\n for (const item of this.columns || []) {\n const type = item.type?.toLowerCase() || 'string';\n item.type = type;\n item.isUnique = item.isUnique !== undefined ? item.isUnique : false;\n item.hide = item.hide !== undefined ? item.hide : false;\n item.filter = item.filter !== undefined ? item.filter : true;\n item.search = item.search !== undefined ? item.search : true;\n item.sort = item.sort !== undefined ? item.sort : true;\n item.html = item.html !== undefined ? item.html : false;\n item.condition = !type || type === 'string' ? 'contain' : 'equal';\n }\n\n this.oldColumns = this.noReact(this.columns);\n\n this.setUniqueKey();\n }\n props: any;\n get getProps() {\n return {\n loading: this.currentLoader,\n isServerMode: this.isServerMode,\n skin: this.skin,\n totalRows: this.filterRowCount,\n rows: this.rows,\n columns: this.columns,\n hasCheckbox: this.hasCheckbox,\n search: this.currentSearch,\n page: this.currentPage,\n pageSize: this.currentPageSize,\n pageSizeOptions: this.pageSizeOptions,\n showPageSize: this.showPageSize,\n rowClass: this.rowClass,\n cellClass: this.cellClass,\n sortable: this.sortable,\n sortColumn: this.currentSortColumn,\n sortDirection: this.currentSortDirection,\n columnFilter: this.columnFilter,\n pagination: this.pagination,\n showNumbers: this.showNumbers,\n showNumbersCount: this.showNumbersCount,\n showFirstPage: this.showFirstPage,\n showLastPage: this.showLastPage,\n firstArrow: this.firstArrow,\n lastArrow: this.lastArrow,\n nextArrow: this.nextArrow,\n previousArrow: this.previousArrow,\n paginationInfo: this.paginationInfo,\n noDataContent: this.noDataContent,\n stickyHeader: this.stickyHeader,\n height: this.height,\n stickyFirstColumn: this.stickyFirstColumn,\n cloneHeaderInFooter: this.cloneHeaderInFooter,\n selectRowOnClick: this.selectRowOnClick,\n showFooterRow: this.showFooterRow,\n };\n }\n\n isFunction(value: any): value is Function {\n return typeof value === 'function';\n }\n\n stringFormat() {\n const args: any[] = [this.filterRowCount ? this.offset() : 0, this.limit(), this.filterRowCount];\n return this.paginationInfo.replace(/{(\\d+)}/g, (match, number) => {\n return typeof args[number] != 'undefined' ? args[number] : match;\n });\n }\n setUniqueKey() {\n const col = this.columns.find((d) => d.isUnique);\n this.uniqueKey = col?.field || '';\n }\n\n maxPage() {\n const totalPages = this.currentPageSize < 1 ? 1 : Math.ceil(this.filterRowCount / this.currentPageSize);\n return Math.max(totalPages || 0, 1);\n }\n offset() {\n return (this.currentPage - 1) * this.currentPageSize + 1;\n }\n limit() {\n const limit = this.currentPage * this.currentPageSize;\n return this.filterRowCount >= limit ? limit : this.filterRowCount;\n }\n\n pager: Pager = new Pager();\n getPager() {\n // total pages\n let totalPages = this.maxPage();\n\n // pages\n let startPage: number, endPage: number;\n let isMaxSized = typeof this.showNumbersCount !== 'undefined' && this.showNumbersCount < totalPages;\n // recompute if maxSize\n if (isMaxSized) {\n // Current page is displayed in the middle of the visible ones\n startPage = Math.max(this.currentPage - Math.floor(this.showNumbersCount / 2), 1);\n endPage = startPage + this.showNumbersCount - 1;\n\n // Adjust if limit is exceeded\n if (endPage > totalPages) {\n endPage = totalPages;\n startPage = endPage - this.showNumbersCount + 1;\n }\n } else {\n startPage = 1;\n endPage = totalPages;\n }\n\n const pages = Array.from(Array(endPage + 1 - startPage).keys()).map((i) => startPage + i);\n\n return <Pager>{\n totalRows: this.isServerMode ? this.totalRows : this.filterItems.length,\n currentPage: this.currentPage,\n pageSize: this.pageSize,\n maxPage: totalPages,\n startPage: startPage,\n endPage: endPage,\n stringFormat: this.stringFormat(),\n pages: pages,\n };\n }\n setPager() {\n this.pager = this.getPager();\n }\n\n filterRows() {\n let result = [];\n let rows = this.rows || [];\n\n if (this.isServerMode) {\n this.filterRowCount = this.totalRows || 0;\n result = rows;\n } else {\n this.columns?.forEach((d) => {\n if (d.filter && ((d.value !== undefined && d.value !== null && d.value !== '') || d.condition === 'is_null' || d.condition === 'is_not_null')) {\n // string filters\n if (d.type === 'string') {\n if (d.value && !d.condition) {\n d.condition = 'contain';\n }\n\n if (d.condition === 'contain') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field)?.toString().toLowerCase().includes(d.value.toLowerCase());\n });\n } else if (d.condition === 'not_contain') {\n rows = rows.filter((item) => {\n return !this.cellValue(item, d.field)?.toString().toLowerCase().includes(d.value.toLowerCase());\n });\n } else if (d.condition === 'equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field)?.toString().toLowerCase() === d.value.toLowerCase();\n });\n } else if (d.condition === 'not_equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field)?.toString().toLowerCase() !== d.value.toLowerCase();\n });\n } else if (d.condition === 'start_with') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field)?.toString().toLowerCase().indexOf(d.value.toLowerCase()) === 0;\n });\n } else if (d.condition === 'end_with') {\n rows = rows.filter((item) => {\n return (\n this.cellValue(item, d.field)\n ?.toString()\n .toLowerCase()\n .substr(d.value.length * -1) === d.value.toLowerCase()\n );\n });\n }\n }\n\n // number filters\n else if (d.type === 'number') {\n if (d.value && !d.condition) {\n d.condition = 'equal';\n }\n\n if (d.condition === 'equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) === parseFloat(d.value);\n });\n } else if (d.condition === 'not_equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) !== parseFloat(d.value);\n });\n } else if (d.condition === 'greater_than') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) > parseFloat(d.value);\n });\n } else if (d.condition === 'greater_than_equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) >= parseFloat(d.value);\n });\n } else if (d.condition === 'less_than') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) < parseFloat(d.value);\n });\n } else if (d.condition === 'less_than_equal') {\n rows = rows.filter((item) => {\n return this.cellValue(item, d.field) && parseFloat(this.cellValue(item, d.field)) <= parseFloat(d.value);\n });\n }\n }\n\n // date filters\n if (d.type === 'date') {\n if (d.value && !d.condition) {\n d.condition = 'equal';\n }\n\n if (d.condition === 'equal') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) && this.dateFormat(this.cellValue(item, d.field)) === d.value;\n });\n } else if (d.condition === 'not_equal') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) && this.dateFormat(this.cellValue(item, d.field)) !== d.value;\n });\n } else if (d.condition === 'greater_than') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) && this.dateFormat(this.cellValue(item, d.field)) > d.value;\n });\n } else if (d.condition === 'less_than') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) && this.dateFormat(this.cellValue(item, d.field)) < d.value;\n });\n }\n }\n\n // boolean filters\n else if (d.type === 'bool') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) === d.value;\n });\n }\n\n if (d.condition === 'is_null') {\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field) == null || this.cellValue(item, d.field) === '';\n });\n d.value = '';\n } else if (d.condition === 'is_not_null') {\n d.value = '';\n rows = rows.filter((item: any) => {\n return this.cellValue(item, d.field);\n });\n }\n }\n });\n\n if (this.currentSearch && rows.length) {\n let final: Array<any> = [];\n\n const keys = (this.columns || [])\n .filter((d: any) => d.search && !d.hide)\n .map((d: any) => {\n return d.field;\n });\n\n for (let j = 0; j < rows.length; j++) {\n for (let i = 0; i < keys.length; i++) {\n if (this.cellValue(rows[j], keys[i])?.toString().toLowerCase().includes(this.currentSearch.toLowerCase())) {\n final.push(rows[j]);\n break;\n }\n }\n }\n\n rows = final;\n }\n\n // sort rows\n const collator = new Intl.Collator(undefined, {\n numeric: true,\n sensitivity: 'base',\n });\n const sortOrder = this.currentSortDirection === 'desc' ? -1 : 1;\n\n rows.sort((a: any, b: any): number => {\n const valA = this.currentSortColumn?.split('.').reduce((obj, key) => obj?.[key], a);\n const valB = this.currentSortColumn?.split('.').reduce((obj, key) => obj?.[key], b);\n\n return collator.compare(valA, valB) * sortOrder;\n });\n\n this.filterRowCount = rows.length || 0;\n result = rows.slice(this.offset() - 1, <number>this.limit());\n }\n\n this.filterItems = result || [];\n\n this.setPager();\n }\n\n // page change\n movePage(page: number = 1) {\n if (this.currentLoader || page < 1 || page > this.maxPage()) {\n return;\n }\n this.currentPage = page;\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('page');\n } else {\n this.filterRows();\n this.pageChange.emit(this.currentPage);\n }\n }\n\n // row update\n changeRows() {\n this.clearSelectedRows();\n this.filterRows();\n }\n\n // pagesize changed\n changePageSize() {\n this.currentPage = 1;\n\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('pagesize', true);\n } else {\n this.filterRows();\n this.pageSizeChange.emit(this.currentPageSize);\n }\n }\n\n // sorting\n sortChangeMethod(field: string, dir = '') {\n let direction = dir || 'asc';\n if (field === this.currentSortColumn) {\n if (this.currentSortDirection === 'asc') {\n direction = 'desc';\n }\n }\n const offset = (this.currentPage - 1) * this.currentPageSize;\n const limit = this.currentPageSize;\n this.currentSortColumn = field;\n this.currentSortDirection = direction;\n\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('sort');\n } else {\n this.filterRows();\n this.sortChange.emit({ offset, limit, field, direction });\n }\n }\n\n // checkboax\n @ViewChild('header1') header1: any;\n @ViewChild('header2') header2: any;\n checkboxChange() {\n this.checkIfAllSelected();\n const rows = this.getSelectedRows();\n this.rowSelect.emit(rows);\n }\n\n selectAll(checked: any, isAll = false) {\n this.filterItems.map((d: any) => (d.selected = checked));\n if (isAll) {\n this.checkboxChange();\n } else {\n this.checkIfAllSelected();\n }\n }\n checkIfAllSelected() {\n const cnt = this.filterItems.filter((d) => d.selected);\n this.selectedAll = cnt.length && cnt.length === this.filterItems.length;\n\n setTimeout(() => {\n this.header1?.checkboxChange();\n if (this.cloneHeaderInFooter) {\n this.header2?.checkboxChange();\n }\n });\n }\n\n // columns filter\n filterChangeMethod() {\n this.currentPage = 1;\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('filter', true);\n } else {\n this.filterRows();\n this.filterChange.emit(this.columns);\n }\n }\n\n // search\n changeSearch() {\n this.currentPage = 1;\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('search', true);\n } else {\n this.filterRows();\n this.searchChange.emit(this.currentSearch);\n }\n }\n\n cellValue(item: any, field: string = '') {\n return field?.split('.').reduce((obj, key) => obj?.[key], item);\n }\n\n dateFormat(date: any) {\n try {\n if (!date) {\n return '';\n }\n const dt = new Date(date);\n const day = dt.getDate();\n const month = dt.getMonth() + 1;\n const year = dt.getFullYear();\n\n return year + '-' + (month > 9 ? month : '0' + month) + '-' + (day > 9 ? day : '0' + day);\n } catch {}\n return '';\n }\n\n //row click\n timer: any = null;\n delay: number = 230;\n onRowClick(item: any, index: number) {\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n if (this.selectRowOnClick) {\n if (this.isRowSelected(index)) {\n this.unselectRow(index);\n } else {\n this.selectRow(index);\n }\n\n this.checkboxChange();\n }\n this.rowClick.emit(item);\n }, this.delay);\n }\n\n onRowDoubleClick(item: any) {\n clearTimeout(this.timer);\n this.rowDBClick.emit(item);\n }\n\n // emit change event for server side pagination\n changeForServer(changeType: string, isResetPage = false) {\n if (this.isServerMode) {\n if (changeType === 'page') {\n this.setPager();\n }\n\n this.setDefaultCondition();\n\n const res = {\n current_page: Number(isResetPage ? 1 : this.currentPage),\n pagesize: Number(this.currentPageSize),\n offset: Number((this.currentPage - 1) * <number>this.currentPageSize),\n sort_column: this.currentSortColumn,\n sort_direction: this.currentSortDirection,\n search: this.currentSearch,\n column_filters: this.columns,\n change_type: changeType,\n };\n this.changeServer.emit(res);\n }\n }\n\n // set default conditions when values exists and condition empty\n setDefaultCondition() {\n for (let i = 0; i < this.columns.length; i++) {\n let d = this.columns[i];\n\n if (d.filter && ((d.value !== undefined && d.value !== null && d.value !== '') || d.condition === 'is_null' || d.condition === 'is_not_null')) {\n if (d.type === 'string' && d.value && !d.condition) {\n d.condition = 'contain';\n }\n if (d.type === 'number' && d.value && !d.condition) {\n d.condition = 'equal';\n }\n if (d.type === 'date' && d.value && !d.condition) {\n d.condition = 'equal';\n }\n }\n }\n }\n\n // methods\n reset() {\n this.columns = this.noReact(this.oldColumns);\n this.currentSearch = '';\n this.currentPage = 1;\n this.currentPageSize = this.oldPageSize;\n this.currentSortColumn = this.oldSortColumn;\n this.currentSortDirection = this.oldSortDirection;\n\n this.clearSelectedRows();\n\n if (this.isServerMode) {\n this.changeForServer('reset', true);\n } else {\n this.filterRows();\n }\n }\n getSelectedRows() {\n return this.filterItems.filter((d) => d.selected);\n }\n getColumnFilters() {\n return this.columns;\n }\n clearSelectedRows() {\n if (this.filterItems) {\n this.selectAll(false);\n }\n }\n selectRow(index: number) {\n if (!this.isRowSelected(index)) {\n const rows = this.filterItems.find((d: any, i: number) => i === index);\n if (rows) {\n rows.selected = true;\n }\n }\n }\n unselectRow(index: number) {\n if (this.isRowSelected(index)) {\n const rows = this.filterItems.find((d: any, i: number) => i === index);\n rows.selected = false;\n }\n }\n isRowSelected(index: number): boolean {\n const rows = this.filterItems.find((d: any, i: number) => i === index);\n if (rows) {\n return rows.selected;\n }\n return false;\n }\n\n // trackby\n trackFilterItems(index: number, item: any) {\n return this.uniqueKey ? item[this.uniqueKey] : (this.currentPage - 1) * this.pageSize + index;\n }\n\n // slots\n @ContentChildren(SlotDirective) slots: QueryList<SlotDirective>;\n @ViewChild('defaultTemplate', { static: true }) defaultTemplate: TemplateRef<any>;\n slotsMap: Map<string, TemplateRef<any>> = new Map<string, TemplateRef<any>>();\n\n ngAfterContentInit() {\n this.slots.forEach((template) => {\n const fieldName = template.fieldName;\n if (fieldName) {\n this.slotsMap.set(fieldName, template.templateRef);\n }\n });\n }\n hasSlot(fieldName: string = ''): boolean {\n return this.slotsMap.has(fieldName);\n }\n getSlot(fieldName: string = ''): TemplateRef<any> {\n return this.slotsMap.get(fieldName) || this.defaultTemplate;\n }\n\n // Sanitize and trust the HTML content\n sanitizeHtml(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n\n noReact(value: any) {\n return JSON.parse(JSON.stringify(value));\n }\n\n getRange(size: number): number[] {\n return Array.from({ length: size }, (_, index) => index + 1);\n }\n}\n","<div class=\"bh-datatable bh-antialiased bh-relative bh-text-black bh-text-sm bh-font-normal\">\n <div class=\"bh-table-responsive\" [ngClass]=\"{'bh-min-h-[300px]': currentLoader }\" [style]=\"{ height: stickyHeader && height }\">\n <table [ngClass]=\"[skin]\">\n <thead [ngClass]=\"{ 'bh-sticky bh-top-0 bh-z-10': stickyHeader }\">\n <column-header\n #header1\n [all]=\"getProps\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event, true)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </thead>\n\n <tbody>\n <ng-container *ngIf=\"filterRowCount\">\n <tr\n *ngFor=\"let item of filterItems; let i = index; trackBy:trackFilterItems.bind(this)\"\n [ngClass]=\"[(isFunction(rowClass) ? rowClass(item) : rowClass), selectRowOnClick? 'bh-cursor-pointer':'']\"\n (click)=\"onRowClick(item, i)\"\n (dblclick)=\"onRowDoubleClick(item)\"\n >\n <td *ngIf=\"hasCheckbox\" [ngClass]=\"{'bh-sticky bh-left-0 bh-bg-blue-light': stickyFirstColumn}\">\n <div class=\"bh-checkbox\" (click)=\"$event.stopPropagation();\">\n <input type=\"checkbox\" value=\"{{item[uniqueKey] ? item[uniqueKey] : i}}\" [(ngModel)]=\"item.selected\" (change)=\"checkboxChange();\" />\n <div>\n <icon-check class=\"check\"></icon-check>\n </div>\n </div>\n </td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td\n *ngIf=\"!col.hide\"\n [ngClass]=\"[\n (isFunction(cellClass) ? cellClass(item) : cellClass),\n j === 0 && stickyFirstColumn ? 'bh-sticky bh-left-0 bh-bg-blue-light' : '',\n hasCheckbox && j === 0 && stickyFirstColumn ? 'bh-left-[52px]' : '',\n col.cellClass ? col.cellClass : ''\n ]\"\n >\n <ng-container *ngIf=\"hasSlot(col.field)\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field)\" [ngTemplateOutletContext]=\"{ data: item }\"></ng-container>\n </ng-container>\n <div *ngIf=\"!hasSlot(col.field) && col.cellRenderer\" [innerHTML]=\"sanitizeHtml(col.cellRenderer(item))\"></div>\n <ng-container *ngIf=\"!hasSlot(col.field) && !col.cellRenderer\"> {{ cellValue(item, col.field) }} </ng-container>\n </td>\n </ng-container>\n </tr>\n <!-- Footer row -->\n <tr *ngIf=\"showFooterRow\" class=\"footer-row\">\n <td *ngIf=\"hasCheckbox\"></td>\n <ng-container *ngFor=\"let col of columns; let j = index\">\n <td *ngIf=\"!col.hide\">\n <ng-container *ngIf=\"hasSlot(col.field + '_footer')\">\n <ng-container [ngTemplateOutlet]=\"getSlot(col.field + '_footer')\" [ngTemplateOutletContext]=\"{ data: col }\"></ng-container>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n <tr *ngIf=\"!filterRowCount && !currentLoader\">\n <td [attr.colspan]=\"columns.length + 1\">{{ noDataContent }}</td>\n </tr>\n\n <ng-container *ngIf=\"!filterRowCount && currentLoader\">\n <tr *ngFor=\"let k of getRange(pageSize)\" class=\"!bh-bg-white bh-h-11 !bh-border-transparent\">\n <td [attr.colspan]=\"columns.length + 1\" class=\"!bh-p-0 !bh-border-transparent\">\n <div class=\"bh-skeleton-box bh-h-8\"></div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n\n <tfoot *ngIf=\"cloneHeaderInFooter\" [ngClass]=\"{ 'bh-sticky bh-bottom-0': stickyHeader }\">\n <column-header\n #header2\n [all]=\"getProps\"\n [isFooter]=\"true\"\n [checkAll]=\"selectedAll\"\n (selectAll)=\"selectAll($event)\"\n (sortChange)=\"sortChangeMethod($event)\"\n (filterChange)=\"filterChangeMethod()\"\n ></column-header>\n </tfoot>\n </table>\n\n <div *ngIf=\"filterRowCount && currentLoader\" class=\"bh-absolute bh-inset-0 bh-bg-blue-light/50 bh-grid bh-place-content-center\">\n <icon-loader></icon-loader>\n </div>\n </div>\n\n <div *ngIf=\"pagination && filterRowCount\" class=\"bh-pagination bh-py-5\">\n <div class=\"bh-flex bh-items-center bh-flex-wrap bh-flex-col sm:bh-flex-row bh-gap-4\">\n <div class=\"bh-pagination-info bh-flex bh-items-center\">\n <span class=\"bh-mr-2\"> {{ pager.stringFormat }} </span>\n <select *ngIf=\"showPageSize\" [(ngModel)]=\"currentPageSize\" class=\"bh-pagesize\" (ngModelChange)=\"changePageSize()\">\n <option *ngFor=\"let option of pageSizeOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n </div>\n\n <div class=\"bh-pagination-number sm:bh-ml-auto bh-inline-flex bh-items-center bh-space-x-1\">\n <button *ngIf=\"showFirstPage\" type=\"button\" class=\"bh-page-item first-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(1)\">\n <span *ngIf=\"firstArrow\" [innerHTML]=\"sanitizeHtml(firstArrow)\"></span>\n <svg *ngIf=\"!firstArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n <path d=\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\" />\n </g>\n </svg>\n </button>\n <button type=\"button\" class=\"bh-page-item previous-page\" [class.disabled]=\"currentPage <= 1\" (click)=\"movePage(currentPage - 1)\">\n <span *ngIf=\"previousArrow\" [innerHTML]=\"sanitizeHtml(previousArrow)\"></span>\n <svg *ngIf=\"!previousArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n </button>\n\n <ng-container *ngIf=\"showNumbers\">\n <button\n *ngFor=\"let page of pager.pages\"\n type=\"button\"\n class=\"bh-page-item\"\n [class.disabled]=\"currentPage === page\"\n [class.bh-active]=\"page === currentPage\"\n (click)=\"movePage(page)\"\n >\n {{ page }}\n </button>\n </ng-container>\n\n <button type=\"button\" class=\"bh-page-item next-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(currentPage + 1)\">\n <span *ngIf=\"nextArrow\" [innerHTML]=\"sanitizeHtml(nextArrow)\"> </span>\n <svg *ngIf=\"!nextArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <path\n fill=\"currentColor\"\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8L4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n\n <button *ngIf=\"showLastPage\" type=\"button\" class=\"bh-page-item last-page\" [class.disabled]=\"currentPage >= maxPage()\" (click)=\"movePage(maxPage())\">\n <span *ngIf=\"lastArrow\" [innerHTML]=\"sanitizeHtml(lastArrow)\"> </span>\n <svg *ngIf=\"!lastArrow\" aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 16 16\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\">\n <path d=\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8L3.646 2.354a.5.5 0 0 1 0-.708z\" />\n <path d=\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8L7.646 2.354a.5.5 0 0 1 0-.708z\" />\n </g>\n </svg>\n </button>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { NgDataTableComponent } from './ng-datatable';\nimport { ColumnFilterComponent } from './column-filter';\nimport { ColumnHeaderComponent } from './column-header';\nimport { IconCheckComponent } from './icon-check';\nimport { IconDashComponent } from './icon-dash';\nimport { IconFilterComponent } from './icon-filter';\nimport { IconLoaderComponent } from './icon-loader';\n\n// directive\nimport { SlotDirective } from './slot.directive';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [\n NgDataTableComponent,\n ColumnFilterComponent,\n ColumnHeaderComponent,\n IconCheckComponent,\n IconDashComponent,\n IconFilterComponent,\n IconLoaderComponent,\n SlotDirective,\n ],\n exports: [NgDataTableComponent, ColumnFilterComponent, ColumnHeaderComponent, IconCheckComponent, IconDashComponent, IconFilterComponent, IconLoaderComponent, SlotDirective],\n})\nexport class DataTableModule {}\n","/*\r\n * Public API Surface of ng-datatable\r\n */\r\nexport * from './lib/ng-datatable.module';\r\nexport * from './lib/ng-datatable';\r\nexport * from './lib/column-filter';\r\nexport * from './lib/column-header';\r\nexport * from './lib/icon-check';\r\nexport * from './lib/icon-dash';\r\nexport * from './lib/icon-filter';\r\nexport * from './lib/icon-loader';\r\n\r\nexport * from './lib/modals';\r\nexport * from './lib/slot.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.ColumnFilterComponent","i4.IconCheckComponent","i5.IconDashComponent","i6.IconFilterComponent","i1","i2","i3","i4.ColumnHeaderComponent","i5.IconCheckComponent","i6.IconLoaderComponent"],"mappings":"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"}
|
package/lib/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid transparent;box-sizing:border-box}.bh-datatable .bh-table-responsive{position:relative;width:100%;overflow:auto;border-radius:.25rem}.bh-datatable .bh-table-responsive table{width:100%;max-width:100%;border-collapse:collapse!important}.bh-datatable .bh-table-responsive table tfoot tr,.bh-datatable .bh-table-responsive table thead tr{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table tbody tr td,.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{padding:.75rem 1rem;text-align:left}.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{vertical-align:top;font-weight:700}.bh-datatable .bh-table-responsive table tbody tr{border-bottom-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-striped tbody tr:nth-child(odd){background-color:rgba(224,230,237,.15)}.bh-datatable .bh-table-responsive table.bh-table-hover tbody tr:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-compact tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-compact thead tr th{padding:.5rem .75rem}.bh-datatable .bh-table-responsive table.bh-table-bordered tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-bordered thead tr th{border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{display:grid;height:2rem;width:2rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;place-content:center;border-radius:9999px;border:1px solid rgba(14,23,38,.3);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .625rem;--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination .bh-page-item:hover{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{-webkit-appearance:button;background-image:none}.bh-datatable .bh-pagination .bh-page-item.disabled:not(.bh-active){pointer-events:none;opacity:.5}.bh-datatable .bh-pagination .bh-page-item.bh-active{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive button,.bh-datatable .bh-table-responsive input{outline:2px solid transparent;outline-offset:2px}.bh-datatable .bh-pagination-info .bh-pagesize{box-sizing:border-box;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .5rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination-info .bh-pagesize:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter{margin-top:.125rem;display:flex;height:30px;width:100%;align-items:center}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control{box-sizing:border-box;height:100%;width:100%;min-width:60px;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter>select{border-radius:.25rem}.bh-datatable .bh-table-responsive table th .bh-filter>button{display:grid;height:30px;width:30px;flex-shrink:0;cursor:pointer;place-content:center;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(224 230 237/var(--tw-bg-opacity,1));color:rgba(14,23,38,.7)}.bh-datatable .bh-table-responsive table th .bh-filter>button:hover{color:rgba(14,23,38,.9)}.bh-datatable .bh-table-responsive table th .bh-filter>button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button{display:flex;width:100%;cursor:pointer;border:1px solid transparent;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem 1rem;text-align:left}.bh-datatable .bh-filter-menu button:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-filter-menu button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button.active{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-table-responsive input[type=checkbox]{position:absolute;height:1.25rem;width:1.25rem;opacity:0}.bh-datatable .bh-table-responsive input[type=checkbox]+div{display:grid;height:1.25rem;width:1.25rem;place-content:center;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]+div svg{pointer-events:none;display:none;height:.75rem;width:.75rem;fill:currentColor;--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div svg.check,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div svg.intermediate{display:flex;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-absolute{position:absolute}.bh-relative{position:relative}.bh-sticky{position:sticky}.bh-inset-0{inset:0}.bh-bottom-0{bottom:0}.bh-left-0{left:0}.bh-left-\[52px\]{left:52px}.bh-right-0{right:0}.bh-top-0{top:0}.bh-top-full{top:100%}.bh-z-10{z-index:10}.bh-z-\[1\]{z-index:1}.bh-mb-2{margin-bottom:.5rem}.bh-ml-3{margin-left:.75rem}.bh-mr-2{margin-right:.5rem}.bh-mt-1{margin-top:.25rem}.bh-flex{display:flex}.bh-inline-flex{display:inline-flex}.bh-grid{display:grid}.bh-hidden{display:none}.bh-h-11{height:2.75rem}.bh-h-8{height:2rem}.bh-min-h-\[300px\]{min-height:300px}.bh-w-32{width:8rem}.bh-w-4{width:1rem}.bh-w-px{width:1px}.bh-cursor-pointer{cursor:pointer}.bh-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.bh-flex-col{flex-direction:column}.bh-flex-wrap{flex-wrap:wrap}.bh-place-content-center{place-content:center}.bh-items-center{align-items:center}.bh-gap-4{gap:1rem}.bh-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.bh-overflow-hidden{overflow:hidden}.bh-rounded{border-radius:.25rem}.bh-rounded-md{border-radius:.375rem}.bh-border{border-width:1px}.bh-border-solid{border-style:solid}.\!bh-border-transparent{border-color:transparent!important}.bh-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.bh-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.\!bh-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bh-bg-blue-light{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-bg-blue-light\/50{background-color:rgba(246,247,250,.5)}.bh-bg-gray-200{background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bh-bg-gray-200,.bh-bg-white{--tw-bg-opacity:1}.bh-bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\!bh-p-0{padding:0!important}.bh-p-10{padding:2.5rem}.bh-p-2{padding:.5rem}.bh-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.bh-text-\[13px\]{font-size:13px}.bh-text-sm{font-size:.875rem;line-height:1.25rem}.bh-font-normal{font-weight:400}.\!bh-text-primary{--tw-text-opacity:1!important;color:rgb(67 97 238/var(--tw-text-opacity,1))!important}.bh-text-black{--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1))}.bh-text-black\/20{color:rgba(14,23,38,.2)}.bh-text-primary{--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bh-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.bh-outline-0{outline-width:0}.bh-filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.bh-skeleton-box{position:relative;width:100%;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bh-skeleton-box:after{position:absolute;inset:0;--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));animation:bhshimmer 2s infinite;background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.025) 20%,rgba(0,0,0,.05) 50%,transparent);--tw-content:"";content:var(--tw-content)}@keyframes bhshimmer{to{transform:translateX(100%)}}.hover\:bh-opacity-80:hover{opacity:.8}.focus\:bh-border-gray-200:focus{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}@media (min-width:640px){.sm\:bh-ml-auto{margin-left:auto}.sm\:bh-flex-row{flex-direction:row}}
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.bh-datatable .bh-table-responsive{position:relative;width:100%;overflow:auto;border-radius:.25rem}.bh-datatable .bh-table-responsive table{width:100%;max-width:100%;border-collapse:collapse!important}.bh-datatable .bh-table-responsive table tfoot tr,.bh-datatable .bh-table-responsive table thead tr{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table tbody tr td,.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{padding:.75rem 1rem;text-align:left}.bh-datatable .bh-table-responsive table tfoot tr th,.bh-datatable .bh-table-responsive table thead tr th{vertical-align:top;font-weight:700}.bh-datatable .bh-table-responsive table tbody tr{border-bottom-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-striped tbody tr:nth-child(odd){background-color:rgba(224,230,237,.15)}.bh-datatable .bh-table-responsive table.bh-table-hover tbody tr:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive table.bh-table-compact tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-compact thead tr th{padding:.5rem .75rem}.bh-datatable .bh-table-responsive table.bh-table-bordered tbody tr td,.bh-datatable .bh-table-responsive table.bh-table-bordered thead tr th{border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(246 247 250/var(--tw-border-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{display:grid;height:2rem;width:2rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;place-content:center;border-radius:9999px;border:1px solid rgba(14,23,38,.3);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .625rem;--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination .bh-page-item:hover{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-pagination .bh-page-item{-webkit-appearance:button;background-image:none}.bh-datatable .bh-pagination .bh-page-item.disabled:not(.bh-active){pointer-events:none;opacity:.5}.bh-datatable .bh-pagination .bh-page-item.bh-active{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive button,.bh-datatable .bh-table-responsive input{outline:2px solid transparent;outline-offset:2px}.bh-datatable .bh-pagination-info .bh-pagesize{box-sizing:border-box;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem .5rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-pagination-info .bh-pagesize:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter{margin-top:.125rem;display:flex;height:30px;width:100%;align-items:center}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control{box-sizing:border-box;height:100%;width:100%;min-width:60px;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1));outline-width:0}.bh-datatable .bh-table-responsive table th .bh-filter>.bh-form-control:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(224,230,237,.4)}.bh-datatable .bh-table-responsive table th .bh-filter>select{border-radius:.25rem}.bh-datatable .bh-table-responsive table th .bh-filter>button{display:grid;height:30px;width:30px;flex-shrink:0;cursor:pointer;place-content:center;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(224 230 237/var(--tw-bg-opacity,1));color:rgba(14,23,38,.7)}.bh-datatable .bh-table-responsive table th .bh-filter>button:hover{color:rgba(14,23,38,.9)}.bh-datatable .bh-table-responsive table th .bh-filter>button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button{display:flex;width:100%;cursor:pointer;border:1px solid transparent;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.375rem 1rem;text-align:left}.bh-datatable .bh-filter-menu button:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-filter-menu button{-webkit-appearance:button;background-image:none}.bh-datatable .bh-filter-menu button.active{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));font-weight:700}.bh-datatable .bh-table-responsive input[type=checkbox]{position:absolute;height:1.25rem;width:1.25rem;opacity:0}.bh-datatable .bh-table-responsive input[type=checkbox]+div{display:grid;height:1.25rem;width:1.25rem;place-content:center;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(224 230 237/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]+div svg{pointer-events:none;display:none;height:.75rem;width:.75rem;fill:currentColor;--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div{--tw-border-opacity:1;border-color:rgb(67 97 238/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(67 97 238/var(--tw-bg-opacity,1))}.bh-datatable .bh-table-responsive input[type=checkbox]:checked+div svg.check,.bh-datatable .bh-table-responsive input[type=checkbox]:indeterminate+div svg.intermediate{display:flex;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.bh-absolute{position:absolute}.bh-relative{position:relative}.bh-sticky{position:sticky}.bh-inset-0{inset:0}.bh-bottom-0{bottom:0}.bh-left-0{left:0}.bh-left-\[52px\]{left:52px}.bh-right-0{right:0}.bh-top-0{top:0}.bh-top-full{top:100%}.bh-z-10{z-index:10}.bh-z-\[1\]{z-index:1}.bh-mb-2{margin-bottom:.5rem}.bh-ml-3{margin-left:.75rem}.bh-mr-2{margin-right:.5rem}.bh-mt-1{margin-top:.25rem}.bh-flex{display:flex}.bh-inline-flex{display:inline-flex}.bh-grid{display:grid}.bh-hidden{display:none}.bh-h-11{height:2.75rem}.bh-h-8{height:2rem}.bh-min-h-\[300px\]{min-height:300px}.bh-w-32{width:8rem}.bh-w-4{width:1rem}.bh-w-px{width:1px}.bh-cursor-pointer{cursor:pointer}.bh-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.bh-flex-col{flex-direction:column}.bh-flex-wrap{flex-wrap:wrap}.bh-place-content-center{place-content:center}.bh-items-center{align-items:center}.bh-gap-4{gap:1rem}.bh-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.bh-overflow-hidden{overflow:hidden}.bh-rounded{border-radius:.25rem}.bh-rounded-md{border-radius:.375rem}.bh-border{border-width:1px}.bh-border-solid{border-style:solid}.\!bh-border-transparent{border-color:transparent!important}.bh-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.bh-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.\!bh-bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bh-bg-blue-light{--tw-bg-opacity:1;background-color:rgb(246 247 250/var(--tw-bg-opacity,1))}.bh-bg-blue-light\/50{background-color:rgba(246,247,250,.5)}.bh-bg-gray-200{background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bh-bg-gray-200,.bh-bg-white{--tw-bg-opacity:1}.bh-bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.\!bh-p-0{padding:0!important}.bh-p-10{padding:2.5rem}.bh-p-2{padding:.5rem}.bh-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.bh-text-\[13px\]{font-size:13px}.bh-text-sm{font-size:.875rem;line-height:1.25rem}.bh-font-normal{font-weight:400}.\!bh-text-primary{--tw-text-opacity:1!important;color:rgb(67 97 238/var(--tw-text-opacity,1))!important}.bh-text-black{--tw-text-opacity:1;color:rgb(14 23 38/var(--tw-text-opacity,1))}.bh-text-black\/20{color:rgba(14,23,38,.2)}.bh-text-primary{--tw-text-opacity:1;color:rgb(67 97 238/var(--tw-text-opacity,1))}.bh-antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bh-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.bh-outline-0{outline-width:0}.bh-filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.bh-skeleton-box{position:relative;width:100%;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bh-skeleton-box:after{position:absolute;inset:0;--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));animation:bhshimmer 2s infinite;background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.025) 20%,rgba(0,0,0,.05) 50%,transparent);--tw-content:"";content:var(--tw-content)}@keyframes bhshimmer{to{transform:translateX(100%)}}.hover\:bh-opacity-80:hover{opacity:.8}.focus\:bh-border-gray-200:focus{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}@media (min-width:640px){.sm\:bh-ml-auto{margin-left:auto}.sm\:bh-flex-row{flex-direction:row}}
|