cat-qw-lib 0.24.4 → 0.24.5

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.
@@ -23,7 +23,7 @@ import * as i3$2 from 'primeng/checkbox';
23
23
  import { CheckboxModule } from 'primeng/checkbox';
24
24
  import { EntityStore, StoreConfig, QueryEntity } from '@datorama/akita';
25
25
  import { __decorate } from 'tslib';
26
- import { BehaviorSubject, firstValueFrom, of, tap as tap$1, map, debounceTime, distinctUntilChanged, catchError, Subscription } from 'rxjs';
26
+ import { BehaviorSubject, firstValueFrom, of, tap as tap$1, map, catchError, Subscription } from 'rxjs';
27
27
  import { DragDropModule } from 'primeng/dragdrop';
28
28
  import * as i4$2 from 'primeng/confirmdialog';
29
29
  import { ConfirmDialogModule } from 'primeng/confirmdialog';
@@ -1608,7 +1608,7 @@ class TablePrimaryComponent {
1608
1608
  globalFilter = SHARED.EMPTY;
1609
1609
  page;
1610
1610
  limit;
1611
- searchSubscription;
1611
+ // private searchSubscription: any;
1612
1612
  constructor(_router, service, builder, baseStore) {
1613
1613
  this._router = _router;
1614
1614
  this.service = service;
@@ -1619,16 +1619,16 @@ class TablePrimaryComponent {
1619
1619
  if (this.table.headers.length === 0) {
1620
1620
  console.error('Table headers are missing.');
1621
1621
  }
1622
- this.searchSubscription = this.baseStore.searchSubject$
1623
- .pipe(debounceTime(500), distinctUntilChanged()).subscribe(value => {
1624
- this.globalFilter = value;
1625
- this.fetchData(value);
1626
- });
1622
+ // this.searchSubscription = this.baseStore.searchSubject$
1623
+ // .pipe(
1624
+ // debounceTime(500),
1625
+ // distinctUntilChanged()
1626
+ // ).subscribe(value => {
1627
+ // this.globalFilter = value;
1628
+ // this.fetchData(value);
1629
+ // });
1627
1630
  }
1628
1631
  onSearchChange(value) {
1629
- this.baseStore.searchSubject$.next(value);
1630
- }
1631
- fetchData(value) {
1632
1632
  if (value === null)
1633
1633
  return;
1634
1634
  this.loading = true;
@@ -1636,8 +1636,28 @@ class TablePrimaryComponent {
1636
1636
  if (this.dt2) {
1637
1637
  this.dt2.first = 0;
1638
1638
  }
1639
- return this.loadTableData();
1639
+ // this.baseStore.searchSubject$.next(value);
1640
+ this.service.getPaginatedList(this.globalFilter, this.page, this.limit, this.pathName).subscribe({
1641
+ next: (res) => {
1642
+ this.table.records = res.data;
1643
+ this.metaData = res.metadata;
1644
+ this.loading = false;
1645
+ },
1646
+ error: (err) => {
1647
+ console.error(ERROR.ERROR_FETCHING_DATA, err);
1648
+ this.loading = false;
1649
+ }
1650
+ });
1640
1651
  }
1652
+ // fetchData(value: string) {
1653
+ // if(value === null) return;
1654
+ // this.loading = true;
1655
+ // this.page = 1;
1656
+ // if (this.dt2) {
1657
+ // this.dt2.first = 0;
1658
+ // }
1659
+ // return this.loadTableData();
1660
+ // }
1641
1661
  clearSearch(table) {
1642
1662
  this.globalFilter = SHARED.EMPTY;
1643
1663
  table.clear();
@@ -1661,8 +1681,24 @@ class TablePrimaryComponent {
1661
1681
  viewRow(rowData) {
1662
1682
  console.log('Delete Row:', rowData);
1663
1683
  }
1664
- loadTableData() {
1665
- console.log(this.pathName);
1684
+ // private loadTableData() {
1685
+ // console.log(this.pathName);
1686
+ // this.service.getPaginatedList(this.globalFilter, this.page, this.limit, this.pathName).subscribe({
1687
+ // next: (res: any) => {
1688
+ // this.table.records = res.data;
1689
+ // this.metaData = res.metadata;
1690
+ // this.loading = false;
1691
+ // },
1692
+ // error: (err) => {
1693
+ // console.error(ERROR.ERROR_FETCHING_DATA, err);
1694
+ // this.loading = false;
1695
+ // }
1696
+ // });
1697
+ // }
1698
+ handleLoadRecords(event) {
1699
+ this.loading = true;
1700
+ this.page = (event.first / event.rows) + 1;
1701
+ this.limit = event.rows;
1666
1702
  this.service.getPaginatedList(this.globalFilter, this.page, this.limit, this.pathName).subscribe({
1667
1703
  next: (res) => {
1668
1704
  this.table.records = res.data;
@@ -1674,17 +1710,12 @@ class TablePrimaryComponent {
1674
1710
  this.loading = false;
1675
1711
  }
1676
1712
  });
1677
- }
1678
- handleLoadRecords(event) {
1679
- this.loading = true;
1680
- this.page = (event.first / event.rows) + 1;
1681
- this.limit = event.rows;
1682
- this.loadTableData();
1713
+ // this.loadTableData();
1683
1714
  }
1684
1715
  ngOnDestroy() {
1685
- if (this.searchSubscription) {
1686
- this.searchSubscription.unsubscribe();
1687
- }
1716
+ // if (this.searchSubscription) {
1717
+ // this.searchSubscription.unsubscribe();
1718
+ // }
1688
1719
  }
1689
1720
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: TablePrimaryComponent, deps: [{ token: i3$3.Router }, { token: BaseService }, { token: TableBuilder }, { token: BaseStore }], target: i0.ɵɵFactoryTarget.Component });
1690
1721
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: TablePrimaryComponent, isStandalone: true, selector: "lib-table-primary", inputs: { table: "table", metaData: "metaData", title: "title", showStatus: "showStatus", showActions: "showActions", showSearchBar: "showSearchBar", showNewRecordButton: "showNewRecordButton", showRefreshButton: "showRefreshButton", pathName: "pathName" }, viewQueries: [{ propertyName: "dt2", first: true, predicate: ["dt2"], descendants: true }], ngImport: i0, template: "<p-table #dt2 [lazy]=\"true\" \r\n [paginator]=\"metaData.totalItems > 10\"\r\n [rows]=\"metaData.itemsPerPage\"\r\n [totalRecords]=\"metaData.totalItems\"\r\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\r\n [loading]=\"loading\"\r\n (onPage)=\"handleLoadRecords($event)\"\r\n [columns]=\"table.headers\" class=\"table-primary-container\" [value]=\"table.records\">\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"table-header-wrapper flex align-items-center justify-content-between\">\r\n <h3 class=\"text-color table-title-wrapper text-color m-0\">{{title}}</h3>\r\n <div class=\"flex align-items-center justify-content-between w-full\">\r\n <div class=\"flex justify-content-end w-full\" *ngIf=\"showSearchBar\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"globalFilter\" (ngModelChange)=\"onSearchChange($event)\"\r\n [placeholder]=\"'Search ...'\" class=\"search-input-wrapper w-4\" />\r\n <p-button icon=\"pi pi-cog\" class=\"setting-icon-wrapper ml-3\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Header Template -->\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr *ngIf=\"table.headers.length > 0\">\r\n <th *ngFor=\"let col of table.headers\" class=\"p-4\" [pSortableColumn]=\"col.name\" [ngClass]=\"col.width ? col.width : 'w-full'\">\r\n <h4 class=\"flex align-items-center table-header-title capitalize text-color font-semibold m-0\">\r\n {{ col.name }}\r\n <p-sortIcon [field]=\"col.name\" />\r\n </h4>\r\n </th>\r\n <th *ngIf=\"showActions\" class=\"table-action-title p-4\" [ngClass]=\"table.headers[0]?.width ? 'w-2' : 'w-full'\">\r\n <h4 class=\"text-color font-semibold table-header-title capitalize m-0\">Actions</h4></th>\r\n </tr>\r\n </ng-template>\r\n\r\n <!-- Table Body -->\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr *ngIf=\"table.headers.length > 0\" class=\"table-row-wrapper relative table-group-wrapper\">\r\n <td class=\"text-left p-4\" *ngFor=\"let col of table.headers\">\r\n <div class=\"table-text-wrapper p-0\" \r\n [ngClass]=\"{\r\n 'enable-badge-wrapper': col.name.toLowerCase() === 'status' && rowData[col.name] === 'Enable',\r\n 'disable-badge-wrapper': col.name.toLowerCase() === 'status' && rowData[col.name] === 'Disable',\r\n 'w-8': col.name.toLowerCase() === 'status',\r\n 'text-primary font-semibold': col.name.toLowerCase() === 'action' || col.name.toLowerCase() === 'name'\r\n }\"\r\n >\r\n {{ rowData[col.name] }}\r\n <p *ngIf=\"col.name.toLowerCase() === 'action'\" class=\"text-color font-normal\">{{rowData['apiEndPoint']}}</p>\r\n </div>\r\n </td>\r\n\r\n <!-- Actions -->\r\n <td *ngIf=\"showActions\" class=\"action-data-wrapper text-left p-4\">\r\n <div class=\"flex align-items-center\">\r\n <p-button icon=\"pi pi-pencil\" (click)=\"handleEditClick(rowData._id)\" class=\"edit-icon-wrapper mr-3\"></p-button>\r\n <p-button icon=\"pi pi-trash\" (click)=\"deleteRow(rowData)\" class=\"delete-icon-wrapper mr-3\"></p-button>\r\n </div>\r\n </td>\r\n <!-- <p-button icon=\"pi pi-eye\" (click)=\"viewRow(rowData)\" class=\"view-icon-wrapper icon-position-wrapper table-group-wrapper-hover:visible\"></p-button> -->\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td [attr.colspan]=\"table.headers.length + (showActions ? 1 : 0)\" class=\"text-center text-color font-semibold p-4\">\r\n No records found\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>", styles: [".table-header-container{padding:20px 20px 20px 8px}.table-header-title{font-size:14px}.table-text-wrapper{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:100%;padding:.5rem;box-sizing:border-box}.table-title-wrapper{font-size:20px;font-weight:700}.table-action-title{border-radius:0 10px 0 0;border-right:1px solid rgba(68,72,109,.1)!important}.action-data-wrapper{border-right:1px solid rgba(68,72,109,.1)!important}.enable-badge-wrapper{border-radius:4px;background:var(--green-500);color:var(--surface-0);text-align:center;padding:5px!important}.disable-badge-wrapper{border-radius:4px;background:#44486d;color:var(--surface-0);text-align:center;padding:5px!important}.search-input-wrapper{height:50px;border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}.table-row-wrapper{position:relative;transition:all .3s ease-in-out}.icon-position-wrapper{position:absolute;top:50%;left:16%;transform:translate(-50%,-50%);opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s ease-in-out}.table-row-wrapper:hover .icon-position-wrapper{opacity:1;visibility:visible}.table-group-wrapper:hover .icon-position-wrapper{visibility:visible;opacity:1}::ng-deep .edit-icon-wrapper .p-button{border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#eef0f5;padding:12px 20px}::ng-deep .edit-icon-wrapper .p-button .pi-pencil{color:var(--primary-color)}::ng-deep .delete-icon-wrapper .p-button{border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#eef0f5;padding:12px 20px}::ng-deep .delete-icon-wrapper .p-button .pi-trash{color:var(--red-500)}::ng-deep .setting-icon-wrapper .p-button{border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#eef0f5;padding:24px;height:50px}::ng-deep .setting-icon-wrapper .p-button .pi-cog{color:var(--primary-color)}::ng-deep .view-icon-wrapper .p-button{border-radius:10px;border:1px solid rgba(76,98,146,.3);background:var(--surface-0);padding:20px;height:40px;box-shadow:none}::ng-deep .view-icon-wrapper .p-button .pi-eye{color:#44486d}::ng-deep .table-primary-container .p-datatable-table{min-width:50rem;padding:20px;background-color:#fff;table-layout:fixed}::ng-deep .table-primary-container .p-datatable-header{padding:20px 20px 0;border-radius:10px 10px 0 0!important;border:none!important}::ng-deep .table-primary-container .p-datatable-thead th{border:1px solid rgba(68,72,109,.1);border-left:none;border-right:none;background:#f9f9fa}::ng-deep .table-primary-container .p-datatable-thead th:first-child{border-radius:10px 0 0;border-left:1px solid rgba(68,72,109,.1)}::ng-deep .table-primary-container tr td{border-bottom:1px solid rgba(68,72,109,.1)}::ng-deep .table-primary-container tr td:first-child{border-left:1px solid rgba(68,72,109,.1)}::ng-deep .table-primary-container tr:last-child td:first-child{border-radius:0 0 0 10px}::ng-deep .table-primary-container tr:last-child td:last-child{border-radius:0 0 10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: TableModule }, { kind: "component", type: i6$1.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i6$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i6$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ToggleButtonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputSwitchModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2$2.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: TooltipModule }] });