cat-qw-lib 2.6.89-uw → 2.6.90

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.
@@ -198,8 +198,6 @@ class SHARED {
198
198
  static REFERRED = 'referred';
199
199
  static FINANCE = 'finance';
200
200
  static TOTAL_FINANCE_AMOUNT = 'totalFinanceAmount';
201
- static BASE_PRICE = 'basePrice';
202
- static MONTHLY_PAYMENT = 'monthlyPayment';
203
201
  static VALUATION_STATUS = 'valuationStatus';
204
202
  static TASKS = 'tasks';
205
203
  static TASK_BROKER_LABEL = 'B';
@@ -421,47 +419,47 @@ const propertyDataList = [
421
419
  const actionHiddenHeaderList = ['_id', 'createdAt', 'updatedAt', '__v', 'formFields'];
422
420
  const actionList = [
423
421
  { action: 'Valuation Fee',
424
- prompt: `The following conversation includes references to various addresses. Based on the selected form "Valuation Fee",
425
- identify and extract the most recent address provided (in descending order of appearance in the text) and map it to the following schema::
426
- {
427
- "Line1": string,
428
- "Line2": string,
429
- "town": string,
430
- "postcode": string
431
- }.
432
-
433
- Respond **only** with a valid JSON object matching this schema. Do not include any explanation, additional text, or comments.
434
-
422
+ prompt: `The following conversation includes references to various addresses. Based on the selected form "Valuation Fee",
423
+ identify and extract the most recent address provided (in descending order of appearance in the text) and map it to the following schema::
424
+ {
425
+ "Line1": string,
426
+ "Line2": string,
427
+ "town": string,
428
+ "postcode": string
429
+ }.
430
+
431
+ Respond **only** with a valid JSON object matching this schema. Do not include any explanation, additional text, or comments.
432
+
435
433
  Data:`, queueId: '674f1c645dafa6a66511c8fb', apiEndPoint: 'http://qa-gb.api.dynamatix.com:3100/api/applications', status: 'Enable'
436
434
  },
437
435
  { action: 'UK Resident',
438
- prompt: `
439
- The following conversation involves information related to UK residency. Based on the selected form "UK Resident",
440
- extract the most recent address mentioned (in descending order of appearance in the text) and map it to the following schema::
441
- {
442
- "Line1": string,
443
- "Line2": string,
444
- "town": string,
445
- "postcode": string
446
- }.
447
-
448
- Respond **only** with a valid JSON object matching this schema. Do not include any explanation, additional text, or comments.
449
-
436
+ prompt: `
437
+ The following conversation involves information related to UK residency. Based on the selected form "UK Resident",
438
+ extract the most recent address mentioned (in descending order of appearance in the text) and map it to the following schema::
439
+ {
440
+ "Line1": string,
441
+ "Line2": string,
442
+ "town": string,
443
+ "postcode": string
444
+ }.
445
+
446
+ Respond **only** with a valid JSON object matching this schema. Do not include any explanation, additional text, or comments.
447
+
450
448
  Data:`, queueId: '676e4b27ee779eafc72b11b9', apiEndPoint: 'http://qa-gb.api.dynamatix.com:3100/api/applications', status: 'Disable'
451
449
  },
452
450
  { action: 'Address Update',
453
- prompt: `
454
- The following conversation contains updates related to address changes. Based on the selected form "Address Update",
455
- identify and extract the most recent address mentioned (in descending order of appearance in the text) and map it to the following schema::
456
- {
457
- "Line1": string,
458
- "Line2": string,
459
- "town": string,
460
- "postcode": string
461
- }.
462
-
463
- Respond **only** with a valid JSON object matching this schema. Do not include any explanation, additional text, or comments.
464
-
451
+ prompt: `
452
+ The following conversation contains updates related to address changes. Based on the selected form "Address Update",
453
+ identify and extract the most recent address mentioned (in descending order of appearance in the text) and map it to the following schema::
454
+ {
455
+ "Line1": string,
456
+ "Line2": string,
457
+ "town": string,
458
+ "postcode": string
459
+ }.
460
+
461
+ Respond **only** with a valid JSON object matching this schema. Do not include any explanation, additional text, or comments.
462
+
465
463
  Data:`, queueId: '67332cf2f9439e97c47a3c43', apiEndPoint: 'http://qa-gb.api.dynamatix.com:3100/api/applications', status: 'Enable'
466
464
  }
467
465
  ];
@@ -499,7 +497,7 @@ const queuePriorityOrder = ["All Applications", "Unassigned", "Assigned To Me"];
499
497
  const QUEUE_RECORD_TABLE_COLUMN_WIDTH_LIST = {
500
498
  brokerName: 'w-3',
501
499
  securityAddress: 'w-3',
502
- applicants: 'w-2',
500
+ applicants: 'w-4',
503
501
  finance: 'w-1',
504
502
  totalFinanceAmount: 'w-2',
505
503
  valuationStatus: 'w-2',
@@ -508,15 +506,15 @@ const QUEUE_RECORD_TABLE_COLUMN_WIDTH_LIST = {
508
506
  appId: 'w-2',
509
507
  age: 'w-1',
510
508
  tasks: 'w-1',
511
- productName: 'w-2',
512
- basePrice: 'w-2',
513
- monthlyPayment: 'w-6',
514
- submittedDate: 'w-14'
509
+ productName: 'w-4',
510
+ baseRate: 'w-2',
511
+ monthlyPayment: 'w-2',
512
+ submittedDate: 'w-3'
515
513
  };
516
514
  const FIELD_DISPLAY_NAMES = {
517
515
  riskRating: 'Risk Rating',
518
516
  appId: 'App. ID',
519
- applicants: 'Applicant',
517
+ applicants: 'Applicant(s)',
520
518
  brokerName: 'Broker',
521
519
  finance: 'Finance',
522
520
  totalFinanceAmount: 'Total Finance Amount',
@@ -528,7 +526,7 @@ const FIELD_DISPLAY_NAMES = {
528
526
  lending: 'Type',
529
527
  tasks: 'Tasks',
530
528
  productName: 'Product',
531
- basePrice: 'Base Price',
529
+ baseRate: 'Base Rate',
532
530
  monthlyPayment: 'Monthly Payment',
533
531
  submittedDate: 'Submitted Date'
534
532
  };
@@ -536,10 +534,9 @@ const FIELD_DISPLAY_NAMES = {
536
534
  const QUEUE_RECORD_TABLE_COLUMN_ORDER = [
537
535
  'riskRating',
538
536
  'appId', // App. ID
539
- 'applicants', // Applicant
537
+ 'applicants', // Applicant(s)
540
538
  'brokerName',
541
539
  'finance',
542
- 'productName', // Product
543
540
  'totalFinanceAmount', // Total Finance
544
541
  'securityAddress',
545
542
  'pending',
@@ -547,7 +544,8 @@ const QUEUE_RECORD_TABLE_COLUMN_ORDER = [
547
544
  'valuationStatus',
548
545
  'lending',
549
546
  'tasks',
550
- 'basePrice', // Base Price
547
+ 'productName', // Product
548
+ 'baseRate', // Base Rate
551
549
  'monthlyPayment', // Monthly Payment
552
550
  'submittedDate' // Submitted Date
553
551
  ];
@@ -571,11 +569,11 @@ class SidebarComponent {
571
569
  this.onClose.emit(false);
572
570
  }
573
571
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SidebarComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
574
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: SidebarComponent, isStandalone: false, selector: "sidebar", inputs: { isSidebarVisible: "isSidebarVisible", title: "title" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div *ngIf=\"isSidebarVisible\" class=\"backdrop-shadow\" (click)=\"handleSidebarClose()\"></div>\r\n<div>\r\n<p-sidebar class=\"sidebar-panel-wrapper\" [(visible)]=\"isSidebarVisible\" (onShow)=\"onSidebarShow()\" (onHide)=\"handleSidebarClose()\" [position]=\"'right'\">\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex align-items-center\">\r\n <h2 class=\"sidebar-title-wrapper text-color mb-0\">\r\n {{title}}\r\n </h2>\r\n </div>\r\n </ng-template>\r\n <p-divider class=\"sidebar-devider\"></p-divider>\r\n <ng-content></ng-content>\r\n</p-sidebar>", styles: ["::ng-deep .custom-sidebar-overlay{z-index:0!important}::ng-deep .sidebar-panel-wrapper .p-sidebar-header{padding:1.4rem 1rem}::ng-deep .sidebar-panel-wrapper .p-sidebar-content{padding:0}::ng-deep .sidebar-panel-wrapper .p-sidebar-right{width:35%!important}::ng-deep .sidebar-devider .p-divider{margin:0}.sidebar-title-wrapper{font-size:24px;font-weight:700}.backdrop-shadow{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "component", type: i4$1.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }] });
572
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: SidebarComponent, isStandalone: false, selector: "sidebar", inputs: { isSidebarVisible: "isSidebarVisible", title: "title" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div *ngIf=\"isSidebarVisible\" class=\"backdrop-shadow\" (click)=\"handleSidebarClose()\"></div>\n<div>\n<p-sidebar class=\"sidebar-panel-wrapper\" [(visible)]=\"isSidebarVisible\" (onShow)=\"onSidebarShow()\" (onHide)=\"handleSidebarClose()\" [position]=\"'right'\">\n <ng-template pTemplate=\"header\">\n <div class=\"flex align-items-center\">\n <h2 class=\"sidebar-title-wrapper text-color mb-0\">\n {{title}}\n </h2>\n </div>\n </ng-template>\n <p-divider class=\"sidebar-devider\"></p-divider>\n <ng-content></ng-content>\n</p-sidebar>", styles: ["::ng-deep .custom-sidebar-overlay{z-index:0!important}::ng-deep .sidebar-panel-wrapper .p-sidebar-header{padding:1.4rem 1rem}::ng-deep .sidebar-panel-wrapper .p-sidebar-content{padding:0}::ng-deep .sidebar-panel-wrapper .p-sidebar-right{width:35%!important}::ng-deep .sidebar-devider .p-divider{margin:0}.sidebar-title-wrapper{font-size:24px;font-weight:700}.backdrop-shadow{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "component", type: i4$1.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }] });
575
573
  }
576
574
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SidebarComponent, decorators: [{
577
575
  type: Component,
578
- args: [{ selector: 'sidebar', standalone: false, template: "<div *ngIf=\"isSidebarVisible\" class=\"backdrop-shadow\" (click)=\"handleSidebarClose()\"></div>\r\n<div>\r\n<p-sidebar class=\"sidebar-panel-wrapper\" [(visible)]=\"isSidebarVisible\" (onShow)=\"onSidebarShow()\" (onHide)=\"handleSidebarClose()\" [position]=\"'right'\">\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex align-items-center\">\r\n <h2 class=\"sidebar-title-wrapper text-color mb-0\">\r\n {{title}}\r\n </h2>\r\n </div>\r\n </ng-template>\r\n <p-divider class=\"sidebar-devider\"></p-divider>\r\n <ng-content></ng-content>\r\n</p-sidebar>", styles: ["::ng-deep .custom-sidebar-overlay{z-index:0!important}::ng-deep .sidebar-panel-wrapper .p-sidebar-header{padding:1.4rem 1rem}::ng-deep .sidebar-panel-wrapper .p-sidebar-content{padding:0}::ng-deep .sidebar-panel-wrapper .p-sidebar-right{width:35%!important}::ng-deep .sidebar-devider .p-divider{margin:0}.sidebar-title-wrapper{font-size:24px;font-weight:700}.backdrop-shadow{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999}\n"] }]
576
+ args: [{ selector: 'sidebar', standalone: false, template: "<div *ngIf=\"isSidebarVisible\" class=\"backdrop-shadow\" (click)=\"handleSidebarClose()\"></div>\n<div>\n<p-sidebar class=\"sidebar-panel-wrapper\" [(visible)]=\"isSidebarVisible\" (onShow)=\"onSidebarShow()\" (onHide)=\"handleSidebarClose()\" [position]=\"'right'\">\n <ng-template pTemplate=\"header\">\n <div class=\"flex align-items-center\">\n <h2 class=\"sidebar-title-wrapper text-color mb-0\">\n {{title}}\n </h2>\n </div>\n </ng-template>\n <p-divider class=\"sidebar-devider\"></p-divider>\n <ng-content></ng-content>\n</p-sidebar>", styles: ["::ng-deep .custom-sidebar-overlay{z-index:0!important}::ng-deep .sidebar-panel-wrapper .p-sidebar-header{padding:1.4rem 1rem}::ng-deep .sidebar-panel-wrapper .p-sidebar-content{padding:0}::ng-deep .sidebar-panel-wrapper .p-sidebar-right{width:35%!important}::ng-deep .sidebar-devider .p-divider{margin:0}.sidebar-title-wrapper{font-size:24px;font-weight:700}.backdrop-shadow{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999}\n"] }]
579
577
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { isSidebarVisible: [{
580
578
  type: Input
581
579
  }], title: [{
@@ -800,11 +798,11 @@ class BaseControlComponent {
800
798
  this.destroy$.complete();
801
799
  }
802
800
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseControlComponent, deps: [{ token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
803
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: BaseControlComponent, isStandalone: true, selector: "app-base-control", inputs: { store: "store", record: "record", attributeModel: "attributeModel", error: "error" }, outputs: { onInput: "onInput", onEnterKeydown: "onEnterKeydown", onBtnClick: "onBtnClick" }, providers: [BaseStore], viewQueries: [{ propertyName: "textboxField", first: true, predicate: ["textboxField"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }, { propertyName: "textArea", first: true, predicate: ["textArea"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p>base-control works!</p>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
801
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: BaseControlComponent, isStandalone: true, selector: "app-base-control", inputs: { store: "store", record: "record", attributeModel: "attributeModel", error: "error" }, outputs: { onInput: "onInput", onEnterKeydown: "onEnterKeydown", onBtnClick: "onBtnClick" }, providers: [BaseStore], viewQueries: [{ propertyName: "textboxField", first: true, predicate: ["textboxField"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }, { propertyName: "textArea", first: true, predicate: ["textArea"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p>base-control works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
804
802
  }
805
803
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseControlComponent, decorators: [{
806
804
  type: Component,
807
- args: [{ selector: 'app-base-control', standalone: true, imports: [CommonModule], providers: [BaseStore], template: "<p>base-control works!</p>\r\n" }]
805
+ args: [{ selector: 'app-base-control', standalone: true, imports: [CommonModule], providers: [BaseStore], template: "<p>base-control works!</p>\n" }]
808
806
  }], ctorParameters: () => [{ type: BaseStore }, { type: BaseQuery }], propDecorators: { store: [{
809
807
  type: Input
810
808
  }], record: [{
@@ -835,20 +833,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
835
833
  */
836
834
  class CheckBoxComponent extends BaseControlComponent {
837
835
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CheckBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
838
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: CheckBoxComponent, isStandalone: true, selector: "check-box", usesInheritance: true, ngImport: i0, template: "<div class=\"checkBoxContainer\">\r\n \r\n <div class=\"checkBox\">\r\n <p-checkbox\r\n [disabled]=\"attributeModel.readonly ?? false\"\r\n [binary]=\"true\"\r\n inputId=\"binary\"\r\n [label]=\"attributeModel.displayText ?? ''\"\r\n class=\"dynamic-checkbox\"\r\n #checkBox=\"ngModel\"\r\n [ngModel]=\"this.record[this.attributeModel.name]\"\r\n [style]=\"{\r\n '--checkbox-size': attributeModel.customColumnWidth || '20px',\r\n '--checkbox-height': attributeModel.customHeight || '20px'\r\n }\"\r\n [required]=\"attributeModel.isRequired ?? false\" \r\n (ngModelChange)=\"handleModelChange($event, checkBox.valid)\"\r\n >\r\n </p-checkbox>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n</div>", styles: [".asterisk{color:red}.checkBoxContainer{max-height:100%;display:flex;align-items:center;font-family:var(--font-family);position:relative}.checkBox{position:relative;max-width:100%;max-height:100%;word-wrap:break-word}::ng-deep .dynamic-checkbox .p-checkbox{width:var(--checkbox-size)!important;height:var(--checkbox-height)!important}::ng-deep .dynamic-checkbox .p-checkbox .p-checkbox-box{width:var(--checkbox-size)!important;height:var(--checkbox-height)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3$2.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }] });
836
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: CheckBoxComponent, isStandalone: true, selector: "check-box", usesInheritance: true, ngImport: i0, template: "<div class=\"checkBoxContainer\">\n \n <div class=\"checkBox\">\n <p-checkbox\n [disabled]=\"attributeModel.readonly ?? false\"\n [binary]=\"true\"\n inputId=\"binary\"\n [label]=\"attributeModel.displayText ?? ''\"\n class=\"dynamic-checkbox\"\n #checkBox=\"ngModel\"\n [ngModel]=\"this.record[this.attributeModel.name]\"\n [style]=\"{\n '--checkbox-size': attributeModel.customColumnWidth || '20px',\n '--checkbox-height': attributeModel.customHeight || '20px'\n }\"\n [required]=\"attributeModel.isRequired ?? false\" \n (ngModelChange)=\"handleModelChange($event, checkBox.valid)\"\n >\n </p-checkbox>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n</div>", styles: [".asterisk{color:red}.checkBoxContainer{max-height:100%;display:flex;align-items:center;font-family:var(--font-family);position:relative}.checkBox{position:relative;max-width:100%;max-height:100%;word-wrap:break-word}::ng-deep .dynamic-checkbox .p-checkbox{width:var(--checkbox-size)!important;height:var(--checkbox-height)!important}::ng-deep .dynamic-checkbox .p-checkbox .p-checkbox-box{width:var(--checkbox-size)!important;height:var(--checkbox-height)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3$2.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }] });
839
837
  }
840
838
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CheckBoxComponent, decorators: [{
841
839
  type: Component,
842
- args: [{ selector: 'check-box', standalone: true, imports: [CommonModule, FormsModule, CheckboxModule], template: "<div class=\"checkBoxContainer\">\r\n \r\n <div class=\"checkBox\">\r\n <p-checkbox\r\n [disabled]=\"attributeModel.readonly ?? false\"\r\n [binary]=\"true\"\r\n inputId=\"binary\"\r\n [label]=\"attributeModel.displayText ?? ''\"\r\n class=\"dynamic-checkbox\"\r\n #checkBox=\"ngModel\"\r\n [ngModel]=\"this.record[this.attributeModel.name]\"\r\n [style]=\"{\r\n '--checkbox-size': attributeModel.customColumnWidth || '20px',\r\n '--checkbox-height': attributeModel.customHeight || '20px'\r\n }\"\r\n [required]=\"attributeModel.isRequired ?? false\" \r\n (ngModelChange)=\"handleModelChange($event, checkBox.valid)\"\r\n >\r\n </p-checkbox>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n</div>", styles: [".asterisk{color:red}.checkBoxContainer{max-height:100%;display:flex;align-items:center;font-family:var(--font-family);position:relative}.checkBox{position:relative;max-width:100%;max-height:100%;word-wrap:break-word}::ng-deep .dynamic-checkbox .p-checkbox{width:var(--checkbox-size)!important;height:var(--checkbox-height)!important}::ng-deep .dynamic-checkbox .p-checkbox .p-checkbox-box{width:var(--checkbox-size)!important;height:var(--checkbox-height)!important}\n"] }]
840
+ args: [{ selector: 'check-box', standalone: true, imports: [CommonModule, FormsModule, CheckboxModule], template: "<div class=\"checkBoxContainer\">\n \n <div class=\"checkBox\">\n <p-checkbox\n [disabled]=\"attributeModel.readonly ?? false\"\n [binary]=\"true\"\n inputId=\"binary\"\n [label]=\"attributeModel.displayText ?? ''\"\n class=\"dynamic-checkbox\"\n #checkBox=\"ngModel\"\n [ngModel]=\"this.record[this.attributeModel.name]\"\n [style]=\"{\n '--checkbox-size': attributeModel.customColumnWidth || '20px',\n '--checkbox-height': attributeModel.customHeight || '20px'\n }\"\n [required]=\"attributeModel.isRequired ?? false\" \n (ngModelChange)=\"handleModelChange($event, checkBox.valid)\"\n >\n </p-checkbox>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n</div>", styles: [".asterisk{color:red}.checkBoxContainer{max-height:100%;display:flex;align-items:center;font-family:var(--font-family);position:relative}.checkBox{position:relative;max-width:100%;max-height:100%;word-wrap:break-word}::ng-deep .dynamic-checkbox .p-checkbox{width:var(--checkbox-size)!important;height:var(--checkbox-height)!important}::ng-deep .dynamic-checkbox .p-checkbox .p-checkbox-box{width:var(--checkbox-size)!important;height:var(--checkbox-height)!important}\n"] }]
843
841
  }] });
844
842
 
845
843
  class ButtonComponent extends BaseControlComponent {
846
844
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
847
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: ButtonComponent, isStandalone: true, selector: "lib-button", usesInheritance: true, ngImport: i0, template: "<ng-container>\r\n <div class=\"btn-control\">\r\n <p-button\r\n type=\"button\"\r\n [label]=\"attributeModel.buttonLabel ?? 'Click Me'\"\r\n [disabled]=\"attributeModel.isDisabled ?? false\"\r\n [style]=\"{\r\n width: attributeModel.customButtonWidth\r\n ? attributeModel.customButtonWidth\r\n : 'auto',\r\n padding: attributeModel.customPadding\r\n ? attributeModel.customPadding\r\n : '0.5rem' \r\n }\"\r\n [icon]=\"attributeModel.icon ? attributeModel.icon : ''\"\r\n [iconPos]=\"attributeModel.iconPosition ?? 'left'\" \r\n [ngClass]=\"{\r\n 'p-button-primary': attributeModel.isPrimary ?? true,\r\n 'p-button-secondary': !attributeModel.isPrimary\r\n }\"\r\n (onClick)=\"handleButtonClick($event)\"\r\n></p-button>\r\n\r\n </div>\r\n </ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3$3.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"] }] });
845
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: ButtonComponent, isStandalone: true, selector: "lib-button", usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div class=\"btn-control\">\n <p-button\n type=\"button\"\n [label]=\"attributeModel.buttonLabel ?? 'Click Me'\"\n [disabled]=\"attributeModel.isDisabled ?? false\"\n [style]=\"{\n width: attributeModel.customButtonWidth\n ? attributeModel.customButtonWidth\n : 'auto',\n padding: attributeModel.customPadding\n ? attributeModel.customPadding\n : '0.5rem' \n }\"\n [icon]=\"attributeModel.icon ? attributeModel.icon : ''\"\n [iconPos]=\"attributeModel.iconPosition ?? 'left'\" \n [ngClass]=\"{\n 'p-button-primary': attributeModel.isPrimary ?? true,\n 'p-button-secondary': !attributeModel.isPrimary\n }\"\n (onClick)=\"handleButtonClick($event)\"\n></p-button>\n\n </div>\n </ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3$3.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"] }] });
848
846
  }
849
847
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ButtonComponent, decorators: [{
850
848
  type: Component,
851
- args: [{ selector: 'lib-button', standalone: true, imports: [CommonModule, InputTextModule, FormsModule, ButtonModule], template: "<ng-container>\r\n <div class=\"btn-control\">\r\n <p-button\r\n type=\"button\"\r\n [label]=\"attributeModel.buttonLabel ?? 'Click Me'\"\r\n [disabled]=\"attributeModel.isDisabled ?? false\"\r\n [style]=\"{\r\n width: attributeModel.customButtonWidth\r\n ? attributeModel.customButtonWidth\r\n : 'auto',\r\n padding: attributeModel.customPadding\r\n ? attributeModel.customPadding\r\n : '0.5rem' \r\n }\"\r\n [icon]=\"attributeModel.icon ? attributeModel.icon : ''\"\r\n [iconPos]=\"attributeModel.iconPosition ?? 'left'\" \r\n [ngClass]=\"{\r\n 'p-button-primary': attributeModel.isPrimary ?? true,\r\n 'p-button-secondary': !attributeModel.isPrimary\r\n }\"\r\n (onClick)=\"handleButtonClick($event)\"\r\n></p-button>\r\n\r\n </div>\r\n </ng-container>" }]
849
+ args: [{ selector: 'lib-button', standalone: true, imports: [CommonModule, InputTextModule, FormsModule, ButtonModule], template: "<ng-container>\n <div class=\"btn-control\">\n <p-button\n type=\"button\"\n [label]=\"attributeModel.buttonLabel ?? 'Click Me'\"\n [disabled]=\"attributeModel.isDisabled ?? false\"\n [style]=\"{\n width: attributeModel.customButtonWidth\n ? attributeModel.customButtonWidth\n : 'auto',\n padding: attributeModel.customPadding\n ? attributeModel.customPadding\n : '0.5rem' \n }\"\n [icon]=\"attributeModel.icon ? attributeModel.icon : ''\"\n [iconPos]=\"attributeModel.iconPosition ?? 'left'\" \n [ngClass]=\"{\n 'p-button-primary': attributeModel.isPrimary ?? true,\n 'p-button-secondary': !attributeModel.isPrimary\n }\"\n (onClick)=\"handleButtonClick($event)\"\n></p-button>\n\n </div>\n </ng-container>" }]
852
850
  }] });
853
851
 
854
852
  class TextBoxComponent extends BaseControlComponent {
@@ -864,11 +862,11 @@ class TextBoxComponent extends BaseControlComponent {
864
862
  }
865
863
  }
866
864
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TextBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
867
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: TextBoxComponent, isStandalone: true, selector: "text-box", usesInheritance: true, ngImport: i0, template: "<ng-container >\r\n <div class=\"\">\r\n\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"inputTextBox\">\r\n\r\n <input\r\n pInputText\r\n type=\"text\"\r\n autocomplete=\"off\"\r\n [placeholder]=\"attributeModel.placeholder ?? ''\"\r\n class=\"block p-inputtext w-full\"\r\n [pTooltip]=\"attributeModel.tooltip ?? ''\"\r\n [tooltipPosition]=\"attributeModel.toolTipPosition ?? '' \"\r\n [ngModel]=\"record?.[attributeModel.name] ?? ''\"\r\n [disabled]=\"attributeModel.disable ?? false\" \r\n [readonly]=\"attributeModel.readonly ?? false\"\r\n [name]=\"attributeModel.name ?? 'textBox'\"\r\n [id]=\"attributeModel.name ?? 'textBox'\"\r\n [required]=\"attributeModel.isRequired ?? false\" \r\n [ngStyle]=\"{\r\n width: attributeModel.customColumnWidth\r\n ? attributeModel.customColumnWidth\r\n : '',\r\n padding: attributeModel.customPadding ? attributeModel.customPadding : ''\r\n }\"\r\n #textboxField=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, textboxField.valid)\"\r\n [ngClass]=\"{'ng-dirty ng-invalid': (!textboxField.valid && textboxField.dirty)}\"\r\n />\r\n <div *ngIf=\"textboxField.errors?.['required'] && (textboxField.dirty || textboxField.touched)\" class=\"error-message\">\r\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [".asterisk{color:red}.inputTextBox{position:relative}.textCount{position:absolute;bottom:23%;right:1%;color:#bcbcbc}.markRed{color:red}.text-value-wrapper{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
865
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: TextBoxComponent, isStandalone: true, selector: "text-box", usesInheritance: true, ngImport: i0, template: "<ng-container >\n <div class=\"\">\n\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"inputTextBox\">\n\n <input\n pInputText\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"attributeModel.placeholder ?? ''\"\n class=\"block p-inputtext w-full\"\n [pTooltip]=\"attributeModel.tooltip ?? ''\"\n [tooltipPosition]=\"attributeModel.toolTipPosition ?? '' \"\n [ngModel]=\"record?.[attributeModel.name] ?? ''\"\n [disabled]=\"attributeModel.disable ?? false\" \n [readonly]=\"attributeModel.readonly ?? false\"\n [name]=\"attributeModel.name ?? 'textBox'\"\n [id]=\"attributeModel.name ?? 'textBox'\"\n [required]=\"attributeModel.isRequired ?? false\" \n [ngStyle]=\"{\n width: attributeModel.customColumnWidth\n ? attributeModel.customColumnWidth\n : '',\n padding: attributeModel.customPadding ? attributeModel.customPadding : ''\n }\"\n #textboxField=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, textboxField.valid)\"\n [ngClass]=\"{'ng-dirty ng-invalid': (!textboxField.valid && textboxField.dirty)}\"\n />\n <div *ngIf=\"textboxField.errors?.['required'] && (textboxField.dirty || textboxField.touched)\" class=\"error-message\">\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [".asterisk{color:red}.inputTextBox{position:relative}.textCount{position:absolute;bottom:23%;right:1%;color:#bcbcbc}.markRed{color:red}.text-value-wrapper{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
868
866
  }
869
867
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TextBoxComponent, decorators: [{
870
868
  type: Component,
871
- args: [{ selector: 'text-box', standalone: true, imports: [CommonModule, InputTextModule, FormsModule, TooltipModule], template: "<ng-container >\r\n <div class=\"\">\r\n\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"inputTextBox\">\r\n\r\n <input\r\n pInputText\r\n type=\"text\"\r\n autocomplete=\"off\"\r\n [placeholder]=\"attributeModel.placeholder ?? ''\"\r\n class=\"block p-inputtext w-full\"\r\n [pTooltip]=\"attributeModel.tooltip ?? ''\"\r\n [tooltipPosition]=\"attributeModel.toolTipPosition ?? '' \"\r\n [ngModel]=\"record?.[attributeModel.name] ?? ''\"\r\n [disabled]=\"attributeModel.disable ?? false\" \r\n [readonly]=\"attributeModel.readonly ?? false\"\r\n [name]=\"attributeModel.name ?? 'textBox'\"\r\n [id]=\"attributeModel.name ?? 'textBox'\"\r\n [required]=\"attributeModel.isRequired ?? false\" \r\n [ngStyle]=\"{\r\n width: attributeModel.customColumnWidth\r\n ? attributeModel.customColumnWidth\r\n : '',\r\n padding: attributeModel.customPadding ? attributeModel.customPadding : ''\r\n }\"\r\n #textboxField=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, textboxField.valid)\"\r\n [ngClass]=\"{'ng-dirty ng-invalid': (!textboxField.valid && textboxField.dirty)}\"\r\n />\r\n <div *ngIf=\"textboxField.errors?.['required'] && (textboxField.dirty || textboxField.touched)\" class=\"error-message\">\r\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [".asterisk{color:red}.inputTextBox{position:relative}.textCount{position:absolute;bottom:23%;right:1%;color:#bcbcbc}.markRed{color:red}.text-value-wrapper{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}\n"] }]
869
+ args: [{ selector: 'text-box', standalone: true, imports: [CommonModule, InputTextModule, FormsModule, TooltipModule], template: "<ng-container >\n <div class=\"\">\n\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"inputTextBox\">\n\n <input\n pInputText\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"attributeModel.placeholder ?? ''\"\n class=\"block p-inputtext w-full\"\n [pTooltip]=\"attributeModel.tooltip ?? ''\"\n [tooltipPosition]=\"attributeModel.toolTipPosition ?? '' \"\n [ngModel]=\"record?.[attributeModel.name] ?? ''\"\n [disabled]=\"attributeModel.disable ?? false\" \n [readonly]=\"attributeModel.readonly ?? false\"\n [name]=\"attributeModel.name ?? 'textBox'\"\n [id]=\"attributeModel.name ?? 'textBox'\"\n [required]=\"attributeModel.isRequired ?? false\" \n [ngStyle]=\"{\n width: attributeModel.customColumnWidth\n ? attributeModel.customColumnWidth\n : '',\n padding: attributeModel.customPadding ? attributeModel.customPadding : ''\n }\"\n #textboxField=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, textboxField.valid)\"\n [ngClass]=\"{'ng-dirty ng-invalid': (!textboxField.valid && textboxField.dirty)}\"\n />\n <div *ngIf=\"textboxField.errors?.['required'] && (textboxField.dirty || textboxField.touched)\" class=\"error-message\">\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [".asterisk{color:red}.inputTextBox{position:relative}.textCount{position:absolute;bottom:23%;right:1%;color:#bcbcbc}.markRed{color:red}.text-value-wrapper{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}\n"] }]
872
870
  }] });
873
871
 
874
872
  class ERROR {
@@ -931,7 +929,7 @@ class FormContainerComponent {
931
929
  this.destroy$.complete();
932
930
  }
933
931
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FormContainerComponent, deps: [{ token: BaseQuery }, { token: BaseStore }], target: i0.ɵɵFactoryTarget.Component });
934
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: FormContainerComponent, isStandalone: true, selector: "form-container", inputs: { messages: "messages", record: "record", headerText: "headerText", showSave: "showSave", disableSaveButton: "disableSaveButton" }, outputs: { onSave: "onSave", onCancel: "onCancel" }, providers: [MessageService, ConfirmationService], ngImport: i0, template: "<div class=\"form-container\">\r\n <div class=\"text-900 font-bold text-xl form-header m-0 p-0\">\r\n <div class=\"form-header-container w-full mr-0\">\r\n <div class=\"form-header-title\"[innerHTML]=\"this.headerText\">\r\n </div>\r\n <div class=\"form-header-messege w-full\">\r\n <p-messages class=\"message-wrapper\" [(value)]=\"messages\" [enableService]=\"false\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"btn-wrapper\">\r\n <ng-content select=\"[headerButtons]\"></ng-content>\r\n @if(showSave){\r\n <button\r\n pButton\r\n pRipple\r\n label=\"Cancel\"\r\n (click)=\"handleCancelClick()\"\r\n class=\"p-button-outlined mr-2\"\r\n ></button>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-success\"\r\n label=\"Save\"\r\n type=\"button\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"handleSaveClick()\"\r\n ></button>\r\n }\r\n <ng-content select=\"[headerButtons]\"></ng-content>\r\n </div>\r\n </div>\r\n \r\n \r\n <p-toast></p-toast>\r\n\r\n <div>\r\n <p-confirmDialog>\r\n <ng-template pTemplate=\"message\" let-message>\r\n <div class=\"flex flex-column align-items-center w-full gap-3 border-bottom-1 surface-border\">\r\n <i class=\"pi pi-exclamation-circle text-6xl text-primary-500\"></i>\r\n <p>{{ message.message }}</p>\r\n </div>\r\n </ng-template>\r\n </p-confirmDialog>\r\n </div> \r\n <div class=\"grid m-0 mt-3\">\r\n <div class=\"col-12 p-0\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n ", styles: [".form-container{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.form-container.card{padding:0}.form-container .p-button{padding:.5rem 1.25rem}.form-container .form-footer{background-color:var(--surface-100);padding:6px 0;height:46px;width:100%;margin-top:auto;position:sticky;bottom:0;z-index:4}.form-container .form-footer.card{margin-bottom:0!important}.form-container .form-header{padding:6px 0;height:46px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:4;width:100%}.form-container .form-top button{height:fit-content}.form-container .form-header-bg-light{background-color:#e1e2e8!important}.form-container .form-header-bg-dark{background-color:#3b3848!important}.form-container .left-wrapper{display:flex}.form-container .p-16{padding:4px 32px 16px}.form-container .m-16{margin:0 16px}.form-container .errors{position:sticky;top:3.4rem;z-index:1;background-color:var(--surface-900);padding:0 16px}.btn-wrapper{display:flex;justify-content:flex-end;align-items:center}.form-header-container{display:flex;flex-wrap:nowrap;align-items:center;margin-right:2rem}.form-header-container .form-header-title{text-wrap:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i5.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i6.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }], encapsulation: i0.ViewEncapsulation.None });
932
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: FormContainerComponent, isStandalone: true, selector: "form-container", inputs: { messages: "messages", record: "record", headerText: "headerText", showSave: "showSave", disableSaveButton: "disableSaveButton" }, outputs: { onSave: "onSave", onCancel: "onCancel" }, providers: [MessageService, ConfirmationService], ngImport: i0, template: "<div class=\"form-container\">\n <div class=\"text-900 font-bold text-xl form-header m-0 p-0\">\n <div class=\"form-header-container w-full mr-0\">\n <div class=\"form-header-title\"[innerHTML]=\"this.headerText\">\n </div>\n <div class=\"form-header-messege w-full\">\n <p-messages class=\"message-wrapper\" [(value)]=\"messages\" [enableService]=\"false\" />\n </div>\n </div>\n\n <div class=\"btn-wrapper\">\n <ng-content select=\"[headerButtons]\"></ng-content>\n @if(showSave){\n <button\n pButton\n pRipple\n label=\"Cancel\"\n (click)=\"handleCancelClick()\"\n class=\"p-button-outlined mr-2\"\n ></button>\n\n <button\n pButton\n class=\"p-button-success\"\n label=\"Save\"\n type=\"button\"\n tooltipPosition=\"bottom\"\n (click)=\"handleSaveClick()\"\n ></button>\n }\n <ng-content select=\"[headerButtons]\"></ng-content>\n </div>\n </div>\n \n \n <p-toast></p-toast>\n\n <div>\n <p-confirmDialog>\n <ng-template pTemplate=\"message\" let-message>\n <div class=\"flex flex-column align-items-center w-full gap-3 border-bottom-1 surface-border\">\n <i class=\"pi pi-exclamation-circle text-6xl text-primary-500\"></i>\n <p>{{ message.message }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n </div> \n <div class=\"grid m-0 mt-3\">\n <div class=\"col-12 p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n ", styles: [".form-container{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.form-container.card{padding:0}.form-container .p-button{padding:.5rem 1.25rem}.form-container .form-footer{background-color:var(--surface-100);padding:6px 0;height:46px;width:100%;margin-top:auto;position:sticky;bottom:0;z-index:4}.form-container .form-footer.card{margin-bottom:0!important}.form-container .form-header{padding:6px 0;height:46px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:4;width:100%}.form-container .form-top button{height:fit-content}.form-container .form-header-bg-light{background-color:#e1e2e8!important}.form-container .form-header-bg-dark{background-color:#3b3848!important}.form-container .left-wrapper{display:flex}.form-container .p-16{padding:4px 32px 16px}.form-container .m-16{margin:0 16px}.form-container .errors{position:sticky;top:3.4rem;z-index:1;background-color:var(--surface-900);padding:0 16px}.btn-wrapper{display:flex;justify-content:flex-end;align-items:center}.form-header-container{display:flex;flex-wrap:nowrap;align-items:center;margin-right:2rem}.form-header-container .form-header-title{text-wrap:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i5.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i6.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }], encapsulation: i0.ViewEncapsulation.None });
935
933
  }
936
934
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FormContainerComponent, decorators: [{
937
935
  type: Component,
@@ -943,7 +941,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
943
941
  MessagesModule,
944
942
  ButtonComponent,
945
943
  TextBoxComponent,
946
- ], providers: [MessageService, ConfirmationService], encapsulation: ViewEncapsulation.None, template: "<div class=\"form-container\">\r\n <div class=\"text-900 font-bold text-xl form-header m-0 p-0\">\r\n <div class=\"form-header-container w-full mr-0\">\r\n <div class=\"form-header-title\"[innerHTML]=\"this.headerText\">\r\n </div>\r\n <div class=\"form-header-messege w-full\">\r\n <p-messages class=\"message-wrapper\" [(value)]=\"messages\" [enableService]=\"false\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"btn-wrapper\">\r\n <ng-content select=\"[headerButtons]\"></ng-content>\r\n @if(showSave){\r\n <button\r\n pButton\r\n pRipple\r\n label=\"Cancel\"\r\n (click)=\"handleCancelClick()\"\r\n class=\"p-button-outlined mr-2\"\r\n ></button>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-success\"\r\n label=\"Save\"\r\n type=\"button\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"handleSaveClick()\"\r\n ></button>\r\n }\r\n <ng-content select=\"[headerButtons]\"></ng-content>\r\n </div>\r\n </div>\r\n \r\n \r\n <p-toast></p-toast>\r\n\r\n <div>\r\n <p-confirmDialog>\r\n <ng-template pTemplate=\"message\" let-message>\r\n <div class=\"flex flex-column align-items-center w-full gap-3 border-bottom-1 surface-border\">\r\n <i class=\"pi pi-exclamation-circle text-6xl text-primary-500\"></i>\r\n <p>{{ message.message }}</p>\r\n </div>\r\n </ng-template>\r\n </p-confirmDialog>\r\n </div> \r\n <div class=\"grid m-0 mt-3\">\r\n <div class=\"col-12 p-0\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n ", styles: [".form-container{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.form-container.card{padding:0}.form-container .p-button{padding:.5rem 1.25rem}.form-container .form-footer{background-color:var(--surface-100);padding:6px 0;height:46px;width:100%;margin-top:auto;position:sticky;bottom:0;z-index:4}.form-container .form-footer.card{margin-bottom:0!important}.form-container .form-header{padding:6px 0;height:46px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:4;width:100%}.form-container .form-top button{height:fit-content}.form-container .form-header-bg-light{background-color:#e1e2e8!important}.form-container .form-header-bg-dark{background-color:#3b3848!important}.form-container .left-wrapper{display:flex}.form-container .p-16{padding:4px 32px 16px}.form-container .m-16{margin:0 16px}.form-container .errors{position:sticky;top:3.4rem;z-index:1;background-color:var(--surface-900);padding:0 16px}.btn-wrapper{display:flex;justify-content:flex-end;align-items:center}.form-header-container{display:flex;flex-wrap:nowrap;align-items:center;margin-right:2rem}.form-header-container .form-header-title{text-wrap:nowrap}\n"] }]
944
+ ], providers: [MessageService, ConfirmationService], encapsulation: ViewEncapsulation.None, template: "<div class=\"form-container\">\n <div class=\"text-900 font-bold text-xl form-header m-0 p-0\">\n <div class=\"form-header-container w-full mr-0\">\n <div class=\"form-header-title\"[innerHTML]=\"this.headerText\">\n </div>\n <div class=\"form-header-messege w-full\">\n <p-messages class=\"message-wrapper\" [(value)]=\"messages\" [enableService]=\"false\" />\n </div>\n </div>\n\n <div class=\"btn-wrapper\">\n <ng-content select=\"[headerButtons]\"></ng-content>\n @if(showSave){\n <button\n pButton\n pRipple\n label=\"Cancel\"\n (click)=\"handleCancelClick()\"\n class=\"p-button-outlined mr-2\"\n ></button>\n\n <button\n pButton\n class=\"p-button-success\"\n label=\"Save\"\n type=\"button\"\n tooltipPosition=\"bottom\"\n (click)=\"handleSaveClick()\"\n ></button>\n }\n <ng-content select=\"[headerButtons]\"></ng-content>\n </div>\n </div>\n \n \n <p-toast></p-toast>\n\n <div>\n <p-confirmDialog>\n <ng-template pTemplate=\"message\" let-message>\n <div class=\"flex flex-column align-items-center w-full gap-3 border-bottom-1 surface-border\">\n <i class=\"pi pi-exclamation-circle text-6xl text-primary-500\"></i>\n <p>{{ message.message }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n </div> \n <div class=\"grid m-0 mt-3\">\n <div class=\"col-12 p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n ", styles: [".form-container{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.form-container.card{padding:0}.form-container .p-button{padding:.5rem 1.25rem}.form-container .form-footer{background-color:var(--surface-100);padding:6px 0;height:46px;width:100%;margin-top:auto;position:sticky;bottom:0;z-index:4}.form-container .form-footer.card{margin-bottom:0!important}.form-container .form-header{padding:6px 0;height:46px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:4;width:100%}.form-container .form-top button{height:fit-content}.form-container .form-header-bg-light{background-color:#e1e2e8!important}.form-container .form-header-bg-dark{background-color:#3b3848!important}.form-container .left-wrapper{display:flex}.form-container .p-16{padding:4px 32px 16px}.form-container .m-16{margin:0 16px}.form-container .errors{position:sticky;top:3.4rem;z-index:1;background-color:var(--surface-900);padding:0 16px}.btn-wrapper{display:flex;justify-content:flex-end;align-items:center}.form-header-container{display:flex;flex-wrap:nowrap;align-items:center;margin-right:2rem}.form-header-container .form-header-title{text-wrap:nowrap}\n"] }]
947
945
  }], ctorParameters: () => [{ type: BaseQuery }, { type: BaseStore }], propDecorators: { messages: [{
948
946
  type: Input
949
947
  }], record: [{
@@ -1272,11 +1270,11 @@ class BaseListComponent {
1272
1270
  this.init();
1273
1271
  }
1274
1272
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseListComponent, deps: [{ token: BaseService }, { token: TableBuilder }], target: i0.ɵɵFactoryTarget.Component });
1275
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: BaseListComponent, isStandalone: true, selector: "lib-base-list", inputs: { refreshTable: "refreshTable" }, usesOnChanges: true, ngImport: i0, template: "<p>base-list works!</p>\r\n", styles: [""] });
1273
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: BaseListComponent, isStandalone: true, selector: "lib-base-list", inputs: { refreshTable: "refreshTable" }, usesOnChanges: true, ngImport: i0, template: "<p>base-list works!</p>\n", styles: [""] });
1276
1274
  }
1277
1275
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseListComponent, decorators: [{
1278
1276
  type: Component,
1279
- args: [{ selector: 'lib-base-list', template: "<p>base-list works!</p>\r\n" }]
1277
+ args: [{ selector: 'lib-base-list', template: "<p>base-list works!</p>\n" }]
1280
1278
  }], ctorParameters: () => [{ type: BaseService }, { type: TableBuilder }], propDecorators: { refreshTable: [{
1281
1279
  type: Input
1282
1280
  }] } });
@@ -1339,11 +1337,11 @@ class DropdownComponent extends BaseControlComponent {
1339
1337
  super.handleModelChange(event, valid);
1340
1338
  }
1341
1339
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DropdownComponent, deps: [{ token: BaseStore }, { token: ListService }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
1342
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DropdownComponent, isStandalone: true, selector: "dropdown", inputs: { isStaticDropdown: "isStaticDropdown" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container>\r\n <div class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"dropdownbox\">\r\n\r\n <p-dropdown \r\n \r\n [options]=\"options\" \r\n [disabled]=\"attributeModel.readonly ?? false\"\r\n [showClear]=\"true\"\r\n [name]=\"attributeModel.name ?? 'testSingleSelect'\" \r\n [ngModel]=\"record[attributeModel.name]\" \r\n [placeholder]=\"attributeModel.placeholder ?? ''\" \r\n [required]=\"attributeModel.isRequired ?? false\"\r\n filterBy=\"label\" \r\n [filter]=\"attributeModel.filter ?? false\" \r\n class=\"dropdownFeild\"\r\n #dropdown=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, dropdown.valid)\" \r\n [ngClass]=\"{'ng-dirty ng-invalid': (!dropdown.valid && dropdown.dirty)}\"\r\n appendTo=\"body\" \r\n optionLabel=\"label\" \r\n optionValue=\"value\">\r\n</p-dropdown>\r\n<div *ngIf=\"dropdown.errors?.['required'] && (dropdown.dirty || dropdown.touched)\" class=\"error-message\">\r\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\r\n</div>\r\n</div>\r\n\r\n</ng-container>\r\n", styles: [".asterisk{color:red}.p-dropdown,.dropdownFeild{width:100%!important}.dropdownbox{position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i5$1.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
1340
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DropdownComponent, isStandalone: true, selector: "dropdown", inputs: { isStaticDropdown: "isStaticDropdown" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"dropdownbox\">\n\n <p-dropdown \n \n [options]=\"options\" \n [disabled]=\"attributeModel.readonly ?? false\"\n [showClear]=\"true\"\n [name]=\"attributeModel.name ?? 'testSingleSelect'\" \n [ngModel]=\"record[attributeModel.name]\" \n [placeholder]=\"attributeModel.placeholder ?? ''\" \n [required]=\"attributeModel.isRequired ?? false\"\n filterBy=\"label\" \n [filter]=\"attributeModel.filter ?? false\" \n class=\"dropdownFeild\"\n #dropdown=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, dropdown.valid)\" \n [ngClass]=\"{'ng-dirty ng-invalid': (!dropdown.valid && dropdown.dirty)}\"\n appendTo=\"body\" \n optionLabel=\"label\" \n optionValue=\"value\">\n</p-dropdown>\n<div *ngIf=\"dropdown.errors?.['required'] && (dropdown.dirty || dropdown.touched)\" class=\"error-message\">\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\n</div>\n</div>\n\n</ng-container>\n", styles: [".asterisk{color:red}.p-dropdown,.dropdownFeild{width:100%!important}.dropdownbox{position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i5$1.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
1343
1341
  }
1344
1342
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DropdownComponent, decorators: [{
1345
1343
  type: Component,
1346
- args: [{ selector: 'dropdown', standalone: true, imports: [CommonModule, DropdownModule, FormsModule], encapsulation: ViewEncapsulation.None, template: "<ng-container>\r\n <div class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"dropdownbox\">\r\n\r\n <p-dropdown \r\n \r\n [options]=\"options\" \r\n [disabled]=\"attributeModel.readonly ?? false\"\r\n [showClear]=\"true\"\r\n [name]=\"attributeModel.name ?? 'testSingleSelect'\" \r\n [ngModel]=\"record[attributeModel.name]\" \r\n [placeholder]=\"attributeModel.placeholder ?? ''\" \r\n [required]=\"attributeModel.isRequired ?? false\"\r\n filterBy=\"label\" \r\n [filter]=\"attributeModel.filter ?? false\" \r\n class=\"dropdownFeild\"\r\n #dropdown=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, dropdown.valid)\" \r\n [ngClass]=\"{'ng-dirty ng-invalid': (!dropdown.valid && dropdown.dirty)}\"\r\n appendTo=\"body\" \r\n optionLabel=\"label\" \r\n optionValue=\"value\">\r\n</p-dropdown>\r\n<div *ngIf=\"dropdown.errors?.['required'] && (dropdown.dirty || dropdown.touched)\" class=\"error-message\">\r\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\r\n</div>\r\n</div>\r\n\r\n</ng-container>\r\n", styles: [".asterisk{color:red}.p-dropdown,.dropdownFeild{width:100%!important}.dropdownbox{position:relative}\n"] }]
1344
+ args: [{ selector: 'dropdown', standalone: true, imports: [CommonModule, DropdownModule, FormsModule], encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <div class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"dropdownbox\">\n\n <p-dropdown \n \n [options]=\"options\" \n [disabled]=\"attributeModel.readonly ?? false\"\n [showClear]=\"true\"\n [name]=\"attributeModel.name ?? 'testSingleSelect'\" \n [ngModel]=\"record[attributeModel.name]\" \n [placeholder]=\"attributeModel.placeholder ?? ''\" \n [required]=\"attributeModel.isRequired ?? false\"\n filterBy=\"label\" \n [filter]=\"attributeModel.filter ?? false\" \n class=\"dropdownFeild\"\n #dropdown=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, dropdown.valid)\" \n [ngClass]=\"{'ng-dirty ng-invalid': (!dropdown.valid && dropdown.dirty)}\"\n appendTo=\"body\" \n optionLabel=\"label\" \n optionValue=\"value\">\n</p-dropdown>\n<div *ngIf=\"dropdown.errors?.['required'] && (dropdown.dirty || dropdown.touched)\" class=\"error-message\">\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\n</div>\n</div>\n\n</ng-container>\n", styles: [".asterisk{color:red}.p-dropdown,.dropdownFeild{width:100%!important}.dropdownbox{position:relative}\n"] }]
1347
1345
  }], ctorParameters: () => [{ type: BaseStore }, { type: ListService }, { type: BaseQuery }], propDecorators: { isStaticDropdown: [{
1348
1346
  type: Input
1349
1347
  }] } });
@@ -1595,11 +1593,11 @@ class BaseFormComponent {
1595
1593
  this.formStateService.setIsFormSaved(false);
1596
1594
  }
1597
1595
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseFormComponent, deps: [{ token: BaseService }, { token: ValidatorService }, { token: i3$4.Router }, { token: i3$4.ActivatedRoute }, { token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
1598
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: BaseFormComponent, isStandalone: true, selector: "base-form", outputs: { onSave: "onSave", onFormNavigate: "onFormNavigate", onCancel: "onCancel" }, host: { listeners: { "window:beforeunload": "handleBeforeUnload($event)" } }, providers: [ValidatorService], ngImport: i0, template: "<p>base-form works!</p>\r\n", styles: [""] });
1596
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: BaseFormComponent, isStandalone: true, selector: "base-form", outputs: { onSave: "onSave", onFormNavigate: "onFormNavigate", onCancel: "onCancel" }, host: { listeners: { "window:beforeunload": "handleBeforeUnload($event)" } }, providers: [ValidatorService], ngImport: i0, template: "<p>base-form works!</p>\n", styles: [""] });
1599
1597
  }
1600
1598
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseFormComponent, decorators: [{
1601
1599
  type: Component,
1602
- args: [{ selector: 'base-form', providers: [ValidatorService], template: "<p>base-form works!</p>\r\n" }]
1600
+ args: [{ selector: 'base-form', providers: [ValidatorService], template: "<p>base-form works!</p>\n" }]
1603
1601
  }], ctorParameters: () => [{ type: BaseService }, { type: ValidatorService }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: BaseStore }, { type: BaseQuery }], propDecorators: { onSave: [{
1604
1602
  type: Output
1605
1603
  }], onFormNavigate: [{
@@ -1682,11 +1680,11 @@ class DateComponent extends BaseControlComponent {
1682
1680
  return SHARED.EMPTY;
1683
1681
  }
1684
1682
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DateComponent, deps: [{ token: BaseStore }, { token: DateParserService }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
1685
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: DateComponent, isStandalone: true, selector: "date", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (attributeModel && record) {\r\n<div class=\"\">\r\n <div class=\"mb-2\">\r\n <label>{{\r\n attributeModel?.displayText\r\n ? attributeModel?.displayText\r\n : attributeModel?.name\r\n }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n @if (attributeModel.readonly) {\r\n <div class=\"mb-2\" [ngStyle]=\"{ 'font-size': '14px', color: '#0F1729', 'font-weight':'600' }\">\r\n <label>{{ getValue() }}</label>\r\n </div>\r\n } @else {\r\n <div>\r\n <p-calendar\r\n [showIcon]=\"attributeModel.showCalenderIcon ?? true\"\r\n inputId=\"icon\"\r\n [disabled]=\"attributeModel?.readonly ?? false\"\r\n [required]=\"attributeModel?.isRequired ?? false\"\r\n [name]=\"attributeModel?.name ? attributeModel?.name : 'testDatePicker'\"\r\n [placeholder]=\"\r\n attributeModel.placeholder ? attributeModel.placeholder : ''\r\n \"\r\n [yearRange]=\"attributeModel.yearRange ?? '1950 : 2050'\"\r\n [title]=\"attributeModel.title ? attributeModel.title : ''\"\r\n [(ngModel)]=\"record[attributeModel?.name]\"\r\n #dateField=\"ngModel\"\r\n [dateFormat]=\"'dd/mm/yy'\"\r\n appendTo=\"body\"\r\n (ngModelChange)=\"handleModelChange($event, dateField.valid)\"\r\n [ngClass]=\"{\r\n 'ng-dirty ng-invalid': !dateField.valid && error == attributeModel?.name\r\n }\"\r\n [hourFormat]=\"attributeModel?.hourFormat ? '24' : ''\"\r\n >\r\n </p-calendar>\r\n </div>\r\n }\r\n</div>\r\n\r\n}\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i5$2.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1683
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: DateComponent, isStandalone: true, selector: "date", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (attributeModel && record) {\n<div class=\"\">\n <div class=\"mb-2\">\n <label>{{\n attributeModel?.displayText\n ? attributeModel?.displayText\n : attributeModel?.name\n }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n @if (attributeModel.readonly) {\n <div class=\"mb-2\" [ngStyle]=\"{ 'font-size': '14px', color: '#0F1729', 'font-weight':'600' }\">\n <label>{{ getValue() }}</label>\n </div>\n } @else {\n <div>\n <p-calendar\n [showIcon]=\"attributeModel.showCalenderIcon ?? true\"\n inputId=\"icon\"\n [disabled]=\"attributeModel?.readonly ?? false\"\n [required]=\"attributeModel?.isRequired ?? false\"\n [name]=\"attributeModel?.name ? attributeModel?.name : 'testDatePicker'\"\n [placeholder]=\"\n attributeModel.placeholder ? attributeModel.placeholder : ''\n \"\n [yearRange]=\"attributeModel.yearRange ?? '1950 : 2050'\"\n [title]=\"attributeModel.title ? attributeModel.title : ''\"\n [(ngModel)]=\"record[attributeModel?.name]\"\n #dateField=\"ngModel\"\n [dateFormat]=\"'dd/mm/yy'\"\n appendTo=\"body\"\n (ngModelChange)=\"handleModelChange($event, dateField.valid)\"\n [ngClass]=\"{\n 'ng-dirty ng-invalid': !dateField.valid && error == attributeModel?.name\n }\"\n [hourFormat]=\"attributeModel?.hourFormat ? '24' : ''\"\n >\n </p-calendar>\n </div>\n }\n</div>\n\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i5$2.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1686
1684
  }
1687
1685
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DateComponent, decorators: [{
1688
1686
  type: Component,
1689
- args: [{ selector: 'date', standalone: true, imports: [CommonModule, CalendarModule, FormsModule], template: "@if (attributeModel && record) {\r\n<div class=\"\">\r\n <div class=\"mb-2\">\r\n <label>{{\r\n attributeModel?.displayText\r\n ? attributeModel?.displayText\r\n : attributeModel?.name\r\n }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n @if (attributeModel.readonly) {\r\n <div class=\"mb-2\" [ngStyle]=\"{ 'font-size': '14px', color: '#0F1729', 'font-weight':'600' }\">\r\n <label>{{ getValue() }}</label>\r\n </div>\r\n } @else {\r\n <div>\r\n <p-calendar\r\n [showIcon]=\"attributeModel.showCalenderIcon ?? true\"\r\n inputId=\"icon\"\r\n [disabled]=\"attributeModel?.readonly ?? false\"\r\n [required]=\"attributeModel?.isRequired ?? false\"\r\n [name]=\"attributeModel?.name ? attributeModel?.name : 'testDatePicker'\"\r\n [placeholder]=\"\r\n attributeModel.placeholder ? attributeModel.placeholder : ''\r\n \"\r\n [yearRange]=\"attributeModel.yearRange ?? '1950 : 2050'\"\r\n [title]=\"attributeModel.title ? attributeModel.title : ''\"\r\n [(ngModel)]=\"record[attributeModel?.name]\"\r\n #dateField=\"ngModel\"\r\n [dateFormat]=\"'dd/mm/yy'\"\r\n appendTo=\"body\"\r\n (ngModelChange)=\"handleModelChange($event, dateField.valid)\"\r\n [ngClass]=\"{\r\n 'ng-dirty ng-invalid': !dateField.valid && error == attributeModel?.name\r\n }\"\r\n [hourFormat]=\"attributeModel?.hourFormat ? '24' : ''\"\r\n >\r\n </p-calendar>\r\n </div>\r\n }\r\n</div>\r\n\r\n}\r\n" }]
1687
+ args: [{ selector: 'date', standalone: true, imports: [CommonModule, CalendarModule, FormsModule], template: "@if (attributeModel && record) {\n<div class=\"\">\n <div class=\"mb-2\">\n <label>{{\n attributeModel?.displayText\n ? attributeModel?.displayText\n : attributeModel?.name\n }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n @if (attributeModel.readonly) {\n <div class=\"mb-2\" [ngStyle]=\"{ 'font-size': '14px', color: '#0F1729', 'font-weight':'600' }\">\n <label>{{ getValue() }}</label>\n </div>\n } @else {\n <div>\n <p-calendar\n [showIcon]=\"attributeModel.showCalenderIcon ?? true\"\n inputId=\"icon\"\n [disabled]=\"attributeModel?.readonly ?? false\"\n [required]=\"attributeModel?.isRequired ?? false\"\n [name]=\"attributeModel?.name ? attributeModel?.name : 'testDatePicker'\"\n [placeholder]=\"\n attributeModel.placeholder ? attributeModel.placeholder : ''\n \"\n [yearRange]=\"attributeModel.yearRange ?? '1950 : 2050'\"\n [title]=\"attributeModel.title ? attributeModel.title : ''\"\n [(ngModel)]=\"record[attributeModel?.name]\"\n #dateField=\"ngModel\"\n [dateFormat]=\"'dd/mm/yy'\"\n appendTo=\"body\"\n (ngModelChange)=\"handleModelChange($event, dateField.valid)\"\n [ngClass]=\"{\n 'ng-dirty ng-invalid': !dateField.valid && error == attributeModel?.name\n }\"\n [hourFormat]=\"attributeModel?.hourFormat ? '24' : ''\"\n >\n </p-calendar>\n </div>\n }\n</div>\n\n}\n" }]
1690
1688
  }], ctorParameters: () => [{ type: BaseStore }, { type: DateParserService }, { type: BaseQuery }] });
1691
1689
 
1692
1690
  class FileUploadComponent extends BaseControlComponent {
@@ -1694,11 +1692,11 @@ class FileUploadComponent extends BaseControlComponent {
1694
1692
  console.log(event);
1695
1693
  }
1696
1694
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FileUploadComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1697
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: FileUploadComponent, isStandalone: true, selector: "file-upload", usesInheritance: true, ngImport: i0, template: "<ng-container class=\"documentContainer\">\r\n @if(!attributeModel.hideLabelOnForm){\r\n <div class=\"mb-2\">\r\n <label class=\"form-header-label\">{{ attributeModel?.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n }\r\n<div class=\"card flex justify-content-center\">\r\n <p-fileUpload \r\n mode=\"basic\" \r\n [chooseLabel]=\"record[attributeModel.name] ? attributeModel.displayText : 'No Files'\"\r\n chooseIcon=\"pi pi-plus\"\r\n [name]=\"attributeModel?.name\"\r\n accept=\"image/*,application/pdf\" \r\n [maxFileSize]=\"209715200\" class=\"fileUploader\"\r\n (onSelect)=\"handleSingleUpload($event)\" />\r\n</div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i2$1.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }] });
1695
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: FileUploadComponent, isStandalone: true, selector: "file-upload", usesInheritance: true, ngImport: i0, template: "<ng-container class=\"documentContainer\">\n @if(!attributeModel.hideLabelOnForm){\n <div class=\"mb-2\">\n <label class=\"form-header-label\">{{ attributeModel?.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n }\n<div class=\"card flex justify-content-center\">\n <p-fileUpload \n mode=\"basic\" \n [chooseLabel]=\"record[attributeModel.name] ? attributeModel.displayText : 'No Files'\"\n chooseIcon=\"pi pi-plus\"\n [name]=\"attributeModel?.name\"\n accept=\"image/*,application/pdf\" \n [maxFileSize]=\"209715200\" class=\"fileUploader\"\n (onSelect)=\"handleSingleUpload($event)\" />\n</div>\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i2$1.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }] });
1698
1696
  }
1699
1697
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FileUploadComponent, decorators: [{
1700
1698
  type: Component,
1701
- args: [{ selector: 'file-upload', standalone: true, imports: [CommonModule, FormsModule, FileUploadModule], template: "<ng-container class=\"documentContainer\">\r\n @if(!attributeModel.hideLabelOnForm){\r\n <div class=\"mb-2\">\r\n <label class=\"form-header-label\">{{ attributeModel?.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n }\r\n<div class=\"card flex justify-content-center\">\r\n <p-fileUpload \r\n mode=\"basic\" \r\n [chooseLabel]=\"record[attributeModel.name] ? attributeModel.displayText : 'No Files'\"\r\n chooseIcon=\"pi pi-plus\"\r\n [name]=\"attributeModel?.name\"\r\n accept=\"image/*,application/pdf\" \r\n [maxFileSize]=\"209715200\" class=\"fileUploader\"\r\n (onSelect)=\"handleSingleUpload($event)\" />\r\n</div>\r\n</ng-container>" }]
1699
+ args: [{ selector: 'file-upload', standalone: true, imports: [CommonModule, FormsModule, FileUploadModule], template: "<ng-container class=\"documentContainer\">\n @if(!attributeModel.hideLabelOnForm){\n <div class=\"mb-2\">\n <label class=\"form-header-label\">{{ attributeModel?.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n }\n<div class=\"card flex justify-content-center\">\n <p-fileUpload \n mode=\"basic\" \n [chooseLabel]=\"record[attributeModel.name] ? attributeModel.displayText : 'No Files'\"\n chooseIcon=\"pi pi-plus\"\n [name]=\"attributeModel?.name\"\n accept=\"image/*,application/pdf\" \n [maxFileSize]=\"209715200\" class=\"fileUploader\"\n (onSelect)=\"handleSingleUpload($event)\" />\n</div>\n</ng-container>" }]
1702
1700
  }] });
1703
1701
 
1704
1702
  class CapitalizeWordsPipe {
@@ -1735,11 +1733,11 @@ class TextAreaComponent extends BaseControlComponent {
1735
1733
  }
1736
1734
  }
1737
1735
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TextAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1738
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: TextAreaComponent, isStandalone: true, selector: "text-area", inputs: { rowspan: "rowspan" }, usesInheritance: true, ngImport: i0, template: "<ng-container class=\"textAreaContainer\">\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n @if (attributeModel.readonly) {\r\n <div class=\"mb-2\" [ngStyle]=\"{'font-size':'14px', 'color':'#0F1729', 'font-weight':'600' }\">\r\n <label class=\"text-value-wrapper\" [ngStyle]=\"{color: attributeModel.textColorOnReadonly}\">{{ getValue() }}</label>\r\n </div>\r\n } @else {\r\n <div class=\"textAreaControl\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"rowspan ?? 3\"\r\n cols=\"30\"\r\n [disabled]=\"attributeModel?.readonly ?? false\"\r\n [ngModel]=\"record[attributeModel.name]\"\r\n [name]=\"attributeModel.name ?? 'textArea'\"\r\n [required]=\"attributeModel?.isRequired ?? false\"\r\n [ngStyle]=\"{\r\n width: attributeModel.customColumnWidth\r\n ? attributeModel.customColumnWidth\r\n : ''\r\n }\"\r\n #textArea=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, textArea.valid)\"\r\n [ngClass]=\"{\r\n 'ng-dirty ng-invalid':\r\n (!textArea.valid && error == attributeModel?.name)\r\n \r\n }\"\r\n ></textarea>\r\n <div *ngIf=\"textArea.errors?.['required'] && (textArea.dirty || textArea.touched)\" class=\"error-message\">\r\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\r\n </div>\r\n </div>\r\n }\r\n</ng-container>\r\n", styles: [".asterisk{color:red}.textAreaControl{position:relative}.textAreaControl textarea{width:100%;resize:vertical}.textCount{position:absolute;bottom:10%;right:2%;color:#bcbcbc}.markRed{color:red}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: InputTextareaModule }, { kind: "directive", type: i2$2.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1736
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: TextAreaComponent, isStandalone: true, selector: "text-area", inputs: { rowspan: "rowspan" }, usesInheritance: true, ngImport: i0, template: "<ng-container class=\"textAreaContainer\">\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n @if (attributeModel.readonly) {\n <div class=\"mb-2\" [ngStyle]=\"{'font-size':'14px', 'color':'#0F1729', 'font-weight':'600' }\">\n <label class=\"text-value-wrapper\" [ngStyle]=\"{color: attributeModel.textColorOnReadonly}\">{{ getValue() }}</label>\n </div>\n } @else {\n <div class=\"textAreaControl\">\n <textarea\n pInputTextarea\n [rows]=\"rowspan ?? 3\"\n cols=\"30\"\n [disabled]=\"attributeModel?.readonly ?? false\"\n [ngModel]=\"record[attributeModel.name]\"\n [name]=\"attributeModel.name ?? 'textArea'\"\n [required]=\"attributeModel?.isRequired ?? false\"\n [ngStyle]=\"{\n width: attributeModel.customColumnWidth\n ? attributeModel.customColumnWidth\n : ''\n }\"\n #textArea=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, textArea.valid)\"\n [ngClass]=\"{\n 'ng-dirty ng-invalid':\n (!textArea.valid && error == attributeModel?.name)\n \n }\"\n ></textarea>\n <div *ngIf=\"textArea.errors?.['required'] && (textArea.dirty || textArea.touched)\" class=\"error-message\">\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\n </div>\n </div>\n }\n</ng-container>\n", styles: [".asterisk{color:red}.textAreaControl{position:relative}.textAreaControl textarea{width:100%;resize:vertical}.textCount{position:absolute;bottom:10%;right:2%;color:#bcbcbc}.markRed{color:red}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: InputTextareaModule }, { kind: "directive", type: i2$2.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1739
1737
  }
1740
1738
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TextAreaComponent, decorators: [{
1741
1739
  type: Component,
1742
- args: [{ selector: 'text-area', standalone: true, imports: [CommonModule, InputTextareaModule, FormsModule], template: "<ng-container class=\"textAreaContainer\">\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n @if (attributeModel.readonly) {\r\n <div class=\"mb-2\" [ngStyle]=\"{'font-size':'14px', 'color':'#0F1729', 'font-weight':'600' }\">\r\n <label class=\"text-value-wrapper\" [ngStyle]=\"{color: attributeModel.textColorOnReadonly}\">{{ getValue() }}</label>\r\n </div>\r\n } @else {\r\n <div class=\"textAreaControl\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"rowspan ?? 3\"\r\n cols=\"30\"\r\n [disabled]=\"attributeModel?.readonly ?? false\"\r\n [ngModel]=\"record[attributeModel.name]\"\r\n [name]=\"attributeModel.name ?? 'textArea'\"\r\n [required]=\"attributeModel?.isRequired ?? false\"\r\n [ngStyle]=\"{\r\n width: attributeModel.customColumnWidth\r\n ? attributeModel.customColumnWidth\r\n : ''\r\n }\"\r\n #textArea=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, textArea.valid)\"\r\n [ngClass]=\"{\r\n 'ng-dirty ng-invalid':\r\n (!textArea.valid && error == attributeModel?.name)\r\n \r\n }\"\r\n ></textarea>\r\n <div *ngIf=\"textArea.errors?.['required'] && (textArea.dirty || textArea.touched)\" class=\"error-message\">\r\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\r\n </div>\r\n </div>\r\n }\r\n</ng-container>\r\n", styles: [".asterisk{color:red}.textAreaControl{position:relative}.textAreaControl textarea{width:100%;resize:vertical}.textCount{position:absolute;bottom:10%;right:2%;color:#bcbcbc}.markRed{color:red}\n"] }]
1740
+ args: [{ selector: 'text-area', standalone: true, imports: [CommonModule, InputTextareaModule, FormsModule], template: "<ng-container class=\"textAreaContainer\">\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n @if (attributeModel.readonly) {\n <div class=\"mb-2\" [ngStyle]=\"{'font-size':'14px', 'color':'#0F1729', 'font-weight':'600' }\">\n <label class=\"text-value-wrapper\" [ngStyle]=\"{color: attributeModel.textColorOnReadonly}\">{{ getValue() }}</label>\n </div>\n } @else {\n <div class=\"textAreaControl\">\n <textarea\n pInputTextarea\n [rows]=\"rowspan ?? 3\"\n cols=\"30\"\n [disabled]=\"attributeModel?.readonly ?? false\"\n [ngModel]=\"record[attributeModel.name]\"\n [name]=\"attributeModel.name ?? 'textArea'\"\n [required]=\"attributeModel?.isRequired ?? false\"\n [ngStyle]=\"{\n width: attributeModel.customColumnWidth\n ? attributeModel.customColumnWidth\n : ''\n }\"\n #textArea=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, textArea.valid)\"\n [ngClass]=\"{\n 'ng-dirty ng-invalid':\n (!textArea.valid && error == attributeModel?.name)\n \n }\"\n ></textarea>\n <div *ngIf=\"textArea.errors?.['required'] && (textArea.dirty || textArea.touched)\" class=\"error-message\">\n <small class=\"p-error\"><span class=\"capitalize\">{{attributeModel.name}}</span> is required</small>\n </div>\n </div>\n }\n</ng-container>\n", styles: [".asterisk{color:red}.textAreaControl{position:relative}.textAreaControl textarea{width:100%;resize:vertical}.textCount{position:absolute;bottom:10%;right:2%;color:#bcbcbc}.markRed{color:red}\n"] }]
1743
1741
  }], propDecorators: { rowspan: [{
1744
1742
  type: Input
1745
1743
  }] } });
@@ -1757,11 +1755,11 @@ class QueueSearchCustomerComponent {
1757
1755
  console.log(SHARED.SELECTED_QUEUE, this.selectedQueue);
1758
1756
  }
1759
1757
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueSearchCustomerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1760
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueSearchCustomerComponent, isStandalone: false, selector: "queue-search-customer", ngImport: i0, template: "<div class=\"flex mt-5 xl:mt-0 xl:justify-content-between xl:align-items-center vh-100\">\r\n <div class=\"p-field m-0 p-0 w-full bg-white border-round\">\r\n <div class=\"p-inputgroup border-round-left bg-white\">\r\n <span class=\"p-inputgroup-addon bg-white\">\r\n <i class=\"pi pi-search\"></i>\r\n </span>\r\n <input type=\"text\" class=\"border-none h-44 border-noround-right bg-white\" pInputText placeholder=\"Search with Applicaiton no., Name or Address\" />\r\n </div>\r\n </div>\r\n <div class=\"p-field m-0 p-0 py-2 border-round-right border-noround-left\">\r\n <p-dropdown \r\n [styleClass]=\"'bg-white font-bold'\"\r\n [options]=\"queues\" \r\n [(ngModel)]=\"selectedQueue\" \r\n placeholder=\"All queue\"\r\n optionLabel=\"name\"\r\n class=\"left-arrow-dropdown\"\r\n ></p-dropdown>\r\n </div>\r\n <div class=\"p-field p-0 m-0 ml-3\">\r\n <button class=\"py-3 border-none\" pButton type=\"button\" label=\"Search\" (click)=\"onSearch()\"></button>\r\n </div>\r\n </div>\r\n ", styles: [".p-inputgroup{width:100%}.bg-primary{background-color:#d9d9d9}::ng-deep .left-arrow-dropdown .p-dropdown{direction:rtl;width:100%;height:44px;border-top-left-radius:0;border-bottom-left-radius:0}::ng-deep .left-arrow-dropdown .p-dropdown-label{display:flex;align-items:center}.h-44{height:44px}@media screen and (min-width: 1200px){.vh-100{height:calc(100vh - 170px)}}.bg-while{background-color:#fff}\n"], dependencies: [{ 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: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i5$1.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
1758
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueSearchCustomerComponent, isStandalone: false, selector: "queue-search-customer", ngImport: i0, template: "<div class=\"flex mt-5 xl:mt-0 xl:justify-content-between xl:align-items-center vh-100\">\n <div class=\"p-field m-0 p-0 w-full bg-white border-round\">\n <div class=\"p-inputgroup border-round-left bg-white\">\n <span class=\"p-inputgroup-addon bg-white\">\n <i class=\"pi pi-search\"></i>\n </span>\n <input type=\"text\" class=\"border-none h-44 border-noround-right bg-white\" pInputText placeholder=\"Search with Applicaiton no., Name or Address\" />\n </div>\n </div>\n <div class=\"p-field m-0 p-0 py-2 border-round-right border-noround-left\">\n <p-dropdown \n [styleClass]=\"'bg-white font-bold'\"\n [options]=\"queues\" \n [(ngModel)]=\"selectedQueue\" \n placeholder=\"All queue\"\n optionLabel=\"name\"\n class=\"left-arrow-dropdown\"\n ></p-dropdown>\n </div>\n <div class=\"p-field p-0 m-0 ml-3\">\n <button class=\"py-3 border-none\" pButton type=\"button\" label=\"Search\" (click)=\"onSearch()\"></button>\n </div>\n </div>\n ", styles: [".p-inputgroup{width:100%}.bg-primary{background-color:#d9d9d9}::ng-deep .left-arrow-dropdown .p-dropdown{direction:rtl;width:100%;height:44px;border-top-left-radius:0;border-bottom-left-radius:0}::ng-deep .left-arrow-dropdown .p-dropdown-label{display:flex;align-items:center}.h-44{height:44px}@media screen and (min-width: 1200px){.vh-100{height:calc(100vh - 170px)}}.bg-while{background-color:#fff}\n"], dependencies: [{ 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: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i5$1.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
1761
1759
  }
1762
1760
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueSearchCustomerComponent, decorators: [{
1763
1761
  type: Component,
1764
- args: [{ selector: 'queue-search-customer', standalone: false, template: "<div class=\"flex mt-5 xl:mt-0 xl:justify-content-between xl:align-items-center vh-100\">\r\n <div class=\"p-field m-0 p-0 w-full bg-white border-round\">\r\n <div class=\"p-inputgroup border-round-left bg-white\">\r\n <span class=\"p-inputgroup-addon bg-white\">\r\n <i class=\"pi pi-search\"></i>\r\n </span>\r\n <input type=\"text\" class=\"border-none h-44 border-noround-right bg-white\" pInputText placeholder=\"Search with Applicaiton no., Name or Address\" />\r\n </div>\r\n </div>\r\n <div class=\"p-field m-0 p-0 py-2 border-round-right border-noround-left\">\r\n <p-dropdown \r\n [styleClass]=\"'bg-white font-bold'\"\r\n [options]=\"queues\" \r\n [(ngModel)]=\"selectedQueue\" \r\n placeholder=\"All queue\"\r\n optionLabel=\"name\"\r\n class=\"left-arrow-dropdown\"\r\n ></p-dropdown>\r\n </div>\r\n <div class=\"p-field p-0 m-0 ml-3\">\r\n <button class=\"py-3 border-none\" pButton type=\"button\" label=\"Search\" (click)=\"onSearch()\"></button>\r\n </div>\r\n </div>\r\n ", styles: [".p-inputgroup{width:100%}.bg-primary{background-color:#d9d9d9}::ng-deep .left-arrow-dropdown .p-dropdown{direction:rtl;width:100%;height:44px;border-top-left-radius:0;border-bottom-left-radius:0}::ng-deep .left-arrow-dropdown .p-dropdown-label{display:flex;align-items:center}.h-44{height:44px}@media screen and (min-width: 1200px){.vh-100{height:calc(100vh - 170px)}}.bg-while{background-color:#fff}\n"] }]
1762
+ args: [{ selector: 'queue-search-customer', standalone: false, template: "<div class=\"flex mt-5 xl:mt-0 xl:justify-content-between xl:align-items-center vh-100\">\n <div class=\"p-field m-0 p-0 w-full bg-white border-round\">\n <div class=\"p-inputgroup border-round-left bg-white\">\n <span class=\"p-inputgroup-addon bg-white\">\n <i class=\"pi pi-search\"></i>\n </span>\n <input type=\"text\" class=\"border-none h-44 border-noround-right bg-white\" pInputText placeholder=\"Search with Applicaiton no., Name or Address\" />\n </div>\n </div>\n <div class=\"p-field m-0 p-0 py-2 border-round-right border-noround-left\">\n <p-dropdown \n [styleClass]=\"'bg-white font-bold'\"\n [options]=\"queues\" \n [(ngModel)]=\"selectedQueue\" \n placeholder=\"All queue\"\n optionLabel=\"name\"\n class=\"left-arrow-dropdown\"\n ></p-dropdown>\n </div>\n <div class=\"p-field p-0 m-0 ml-3\">\n <button class=\"py-3 border-none\" pButton type=\"button\" label=\"Search\" (click)=\"onSearch()\"></button>\n </div>\n </div>\n ", styles: [".p-inputgroup{width:100%}.bg-primary{background-color:#d9d9d9}::ng-deep .left-arrow-dropdown .p-dropdown{direction:rtl;width:100%;height:44px;border-top-left-radius:0;border-bottom-left-radius:0}::ng-deep .left-arrow-dropdown .p-dropdown-label{display:flex;align-items:center}.h-44{height:44px}@media screen and (min-width: 1200px){.vh-100{height:calc(100vh - 170px)}}.bg-while{background-color:#fff}\n"] }]
1765
1763
  }], ctorParameters: () => [] });
1766
1764
 
1767
1765
  class ROUTES {
@@ -1820,11 +1818,11 @@ class BlockListComponent {
1820
1818
  }
1821
1819
  }
1822
1820
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BlockListComponent, deps: [{ token: i3$4.Router }], target: i0.ɵɵFactoryTarget.Component });
1823
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: BlockListComponent, isStandalone: true, selector: "block-list", inputs: { queueData: "queueData", showQueueDataForm: "showQueueDataForm" }, outputs: { queueDataById: "queueDataById" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"card p-4 pr-3 mb-0\">\r\n <!-- <div class=\"px-4 w-full flex\">\r\n <button pButton pRipple label=\"Add New Queue\" routerLinkActive=\"router-link-active\" icon=\"pi pi-plus font-semibold\" class=\"py-3 justify-content-center font-semibold w-full border-round\" (click)=\"insertQueue()\"></button>\r\n </div> -->\r\n <div class=\"queues overflow-y-scroll scrollable\">\r\n\r\n @for(queue of queueData; let i = $index; track queue){\r\n <div class=\"flex flex-column gap-5 overflow-y-auto scrollable kanban-list\" [ngClass]=\"i !== 0 ? 'mt-2 pt-1' : ''\" #listEl style=\"min-height:2rem\" (click)=\"handleQueueClick(queue._id, false)\" >\r\n <div class=\"flex flex-column py-4 px-3 cursor-pointer queue-list-wrapper\" [ngClass]=\"{'active-queue-wrapper': queue._id === this.selectedQueueId}\">\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\r\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\r\n <span class=\"text-color queue-name font-semibold\"\r\n [ngClass]=\"{'active-title-wrapper': queue._id === this.selectedQueueId}\"\r\n >{{queue.name}}</span>\r\n <p-badge [value]=\"queue.itemCount\" severity=\"primary\" />\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"flex flex-column gap-5 overflow-y-auto mt-2 pt-1 scrollable kanban-list\" #listEl style=\"min-height:2rem\" >\r\n <div class=\"flex flex-column py-4 px-3 p-3 cursor-pointer queue-list-wrapper\">\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\r\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\r\n <span class=\"text-color queue-name font-semibold\"\r\n >Total Loss</span>\r\n <p-badge [value]=\"11\" severity=\"primary\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-column gap-5 overflow-y-auto mt-2 pt-1 scrollable kanban-list\" #listEl style=\"min-height:2rem\" >\r\n <div class=\"flex flex-column py-4 px-3 p-3 cursor-pointer queue-list-wrapper\">\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\r\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\r\n <span class=\"text-color queue-name font-semibold\"\r\n >Repair</span>\r\n <p-badge [value]=\"7\" severity=\"primary\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> ", styles: [".block-list-wrapper{height:calc(100vh - 260px);overflow-y:scroll}.card{height:86vh}.scrollable{scroll-behavior:smooth;max-height:75vh}.queue-list-wrapper{border-radius:10px;border:1px solid rgba(76,98,146,.18);background:var(--surface-0)}.active-queue-wrapper{border:1px solid #0F8BFD}.active-title-wrapper{color:#0f8bfd!important}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background-color:#868181;border-radius:20px}.queue-name{max-width:150px;word-wrap:break-word;white-space:normal}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RippleModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i3$5.Badge, selector: "p-badge", inputs: ["styleClass", "style", "badgeSize", "severity", "value", "badgeDisabled", "size"] }] });
1821
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: BlockListComponent, isStandalone: true, selector: "block-list", inputs: { queueData: "queueData", showQueueDataForm: "showQueueDataForm" }, outputs: { queueDataById: "queueDataById" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"card p-4 pr-3 mb-0\">\n <!-- <div class=\"px-4 w-full flex\">\n <button pButton pRipple label=\"Add New Queue\" routerLinkActive=\"router-link-active\" icon=\"pi pi-plus font-semibold\" class=\"py-3 justify-content-center font-semibold w-full border-round\" (click)=\"insertQueue()\"></button>\n </div> -->\n <div class=\"queues overflow-y-scroll scrollable\">\n\n @for(queue of queueData; let i = $index; track queue){\n <div class=\"flex flex-column gap-5 overflow-y-auto scrollable kanban-list\" [ngClass]=\"i !== 0 ? 'mt-2 pt-1' : ''\" #listEl style=\"min-height:2rem\" (click)=\"handleQueueClick(queue._id, false)\" >\n <div class=\"flex flex-column py-4 px-3 cursor-pointer queue-list-wrapper\" [ngClass]=\"{'active-queue-wrapper': queue._id === this.selectedQueueId}\">\n <div class=\"flex text-center justify-content-between flex align-items-center\">\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\n <span class=\"text-color queue-name font-semibold\"\n [ngClass]=\"{'active-title-wrapper': queue._id === this.selectedQueueId}\"\n >{{queue.name}}</span>\n <p-badge [value]=\"queue.itemCount\" severity=\"primary\" />\n </div>\n </div>\n </div>\n }\n <div class=\"flex flex-column gap-5 overflow-y-auto mt-2 pt-1 scrollable kanban-list\" #listEl style=\"min-height:2rem\" >\n <div class=\"flex flex-column py-4 px-3 p-3 cursor-pointer queue-list-wrapper\">\n <div class=\"flex text-center justify-content-between flex align-items-center\">\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\n <span class=\"text-color queue-name font-semibold\"\n >Total Loss</span>\n <p-badge [value]=\"11\" severity=\"primary\" />\n </div>\n </div>\n </div>\n <div class=\"flex flex-column gap-5 overflow-y-auto mt-2 pt-1 scrollable kanban-list\" #listEl style=\"min-height:2rem\" >\n <div class=\"flex flex-column py-4 px-3 p-3 cursor-pointer queue-list-wrapper\">\n <div class=\"flex text-center justify-content-between flex align-items-center\">\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\n <span class=\"text-color queue-name font-semibold\"\n >Repair</span>\n <p-badge [value]=\"7\" severity=\"primary\" />\n </div>\n </div>\n </div>\n </div>\n</div> ", styles: [".block-list-wrapper{height:calc(100vh - 260px);overflow-y:scroll}.card{height:86vh}.scrollable{scroll-behavior:smooth;max-height:75vh}.queue-list-wrapper{border-radius:10px;border:1px solid rgba(76,98,146,.18);background:var(--surface-0)}.active-queue-wrapper{border:1px solid #0F8BFD}.active-title-wrapper{color:#0f8bfd!important}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background-color:#868181;border-radius:20px}.queue-name{max-width:150px;word-wrap:break-word;white-space:normal}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RippleModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i3$5.Badge, selector: "p-badge", inputs: ["styleClass", "style", "badgeSize", "severity", "value", "badgeDisabled", "size"] }] });
1824
1822
  }
1825
1823
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BlockListComponent, decorators: [{
1826
1824
  type: Component,
1827
- args: [{ selector: 'block-list', standalone: true, imports: [CommonModule, RippleModule, ButtonModule, RouterModule, BadgeModule], template: "<div class=\"card p-4 pr-3 mb-0\">\r\n <!-- <div class=\"px-4 w-full flex\">\r\n <button pButton pRipple label=\"Add New Queue\" routerLinkActive=\"router-link-active\" icon=\"pi pi-plus font-semibold\" class=\"py-3 justify-content-center font-semibold w-full border-round\" (click)=\"insertQueue()\"></button>\r\n </div> -->\r\n <div class=\"queues overflow-y-scroll scrollable\">\r\n\r\n @for(queue of queueData; let i = $index; track queue){\r\n <div class=\"flex flex-column gap-5 overflow-y-auto scrollable kanban-list\" [ngClass]=\"i !== 0 ? 'mt-2 pt-1' : ''\" #listEl style=\"min-height:2rem\" (click)=\"handleQueueClick(queue._id, false)\" >\r\n <div class=\"flex flex-column py-4 px-3 cursor-pointer queue-list-wrapper\" [ngClass]=\"{'active-queue-wrapper': queue._id === this.selectedQueueId}\">\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\r\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\r\n <span class=\"text-color queue-name font-semibold\"\r\n [ngClass]=\"{'active-title-wrapper': queue._id === this.selectedQueueId}\"\r\n >{{queue.name}}</span>\r\n <p-badge [value]=\"queue.itemCount\" severity=\"primary\" />\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"flex flex-column gap-5 overflow-y-auto mt-2 pt-1 scrollable kanban-list\" #listEl style=\"min-height:2rem\" >\r\n <div class=\"flex flex-column py-4 px-3 p-3 cursor-pointer queue-list-wrapper\">\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\r\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\r\n <span class=\"text-color queue-name font-semibold\"\r\n >Total Loss</span>\r\n <p-badge [value]=\"11\" severity=\"primary\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-column gap-5 overflow-y-auto mt-2 pt-1 scrollable kanban-list\" #listEl style=\"min-height:2rem\" >\r\n <div class=\"flex flex-column py-4 px-3 p-3 cursor-pointer queue-list-wrapper\">\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\r\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\r\n <span class=\"text-color queue-name font-semibold\"\r\n >Repair</span>\r\n <p-badge [value]=\"7\" severity=\"primary\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> ", styles: [".block-list-wrapper{height:calc(100vh - 260px);overflow-y:scroll}.card{height:86vh}.scrollable{scroll-behavior:smooth;max-height:75vh}.queue-list-wrapper{border-radius:10px;border:1px solid rgba(76,98,146,.18);background:var(--surface-0)}.active-queue-wrapper{border:1px solid #0F8BFD}.active-title-wrapper{color:#0f8bfd!important}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background-color:#868181;border-radius:20px}.queue-name{max-width:150px;word-wrap:break-word;white-space:normal}\n"] }]
1825
+ args: [{ selector: 'block-list', standalone: true, imports: [CommonModule, RippleModule, ButtonModule, RouterModule, BadgeModule], template: "<div class=\"card p-4 pr-3 mb-0\">\n <!-- <div class=\"px-4 w-full flex\">\n <button pButton pRipple label=\"Add New Queue\" routerLinkActive=\"router-link-active\" icon=\"pi pi-plus font-semibold\" class=\"py-3 justify-content-center font-semibold w-full border-round\" (click)=\"insertQueue()\"></button>\n </div> -->\n <div class=\"queues overflow-y-scroll scrollable\">\n\n @for(queue of queueData; let i = $index; track queue){\n <div class=\"flex flex-column gap-5 overflow-y-auto scrollable kanban-list\" [ngClass]=\"i !== 0 ? 'mt-2 pt-1' : ''\" #listEl style=\"min-height:2rem\" (click)=\"handleQueueClick(queue._id, false)\" >\n <div class=\"flex flex-column py-4 px-3 cursor-pointer queue-list-wrapper\" [ngClass]=\"{'active-queue-wrapper': queue._id === this.selectedQueueId}\">\n <div class=\"flex text-center justify-content-between flex align-items-center\">\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\n <span class=\"text-color queue-name font-semibold\"\n [ngClass]=\"{'active-title-wrapper': queue._id === this.selectedQueueId}\"\n >{{queue.name}}</span>\n <p-badge [value]=\"queue.itemCount\" severity=\"primary\" />\n </div>\n </div>\n </div>\n }\n <div class=\"flex flex-column gap-5 overflow-y-auto mt-2 pt-1 scrollable kanban-list\" #listEl style=\"min-height:2rem\" >\n <div class=\"flex flex-column py-4 px-3 p-3 cursor-pointer queue-list-wrapper\">\n <div class=\"flex text-center justify-content-between flex align-items-center\">\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\n <span class=\"text-color queue-name font-semibold\"\n >Total Loss</span>\n <p-badge [value]=\"11\" severity=\"primary\" />\n </div>\n </div>\n </div>\n <div class=\"flex flex-column gap-5 overflow-y-auto mt-2 pt-1 scrollable kanban-list\" #listEl style=\"min-height:2rem\" >\n <div class=\"flex flex-column py-4 px-3 p-3 cursor-pointer queue-list-wrapper\">\n <div class=\"flex text-center justify-content-between flex align-items-center\">\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\n <span class=\"text-color queue-name font-semibold\"\n >Repair</span>\n <p-badge [value]=\"7\" severity=\"primary\" />\n </div>\n </div>\n </div>\n </div>\n</div> ", styles: [".block-list-wrapper{height:calc(100vh - 260px);overflow-y:scroll}.card{height:86vh}.scrollable{scroll-behavior:smooth;max-height:75vh}.queue-list-wrapper{border-radius:10px;border:1px solid rgba(76,98,146,.18);background:var(--surface-0)}.active-queue-wrapper{border:1px solid #0F8BFD}.active-title-wrapper{color:#0f8bfd!important}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background-color:#868181;border-radius:20px}.queue-name{max-width:150px;word-wrap:break-word;white-space:normal}\n"] }]
1828
1826
  }], ctorParameters: () => [{ type: i3$4.Router }], propDecorators: { queueData: [{
1829
1827
  type: Input
1830
1828
  }], showQueueDataForm: [{
@@ -2019,11 +2017,11 @@ class HEADERS {
2019
2017
 
2020
2018
  class UsernameComponent extends BaseControlComponent {
2021
2019
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: UsernameComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2022
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: UsernameComponent, isStandalone: true, selector: "username", usesInheritance: true, ngImport: i0, template: "<ng-container>\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"username-control\">\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-envelope\"></i>\r\n <input pInputText type=\"text\"\r\n autocomplete=\"off\"\r\n [placeholder]=\"attributeModel.placeholder ?? ''\" \r\n [ngModel]=\"record[attributeModel.name]\"\r\n [required]=\"attributeModel.isRequired ?? false\" \r\n [disabled]=\"attributeModel.readonly ?? false\"\r\n #usernameField=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, usernameField.valid)\" \r\n />\r\n </span>\r\n </div>\r\n </ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
2020
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: UsernameComponent, isStandalone: true, selector: "username", usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"username-control\">\n <span class=\"p-input-icon-left\">\n <i class=\"pi pi-envelope\"></i>\n <input pInputText type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"attributeModel.placeholder ?? ''\" \n [ngModel]=\"record[attributeModel.name]\"\n [required]=\"attributeModel.isRequired ?? false\" \n [disabled]=\"attributeModel.readonly ?? false\"\n #usernameField=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, usernameField.valid)\" \n />\n </span>\n </div>\n </ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
2023
2021
  }
2024
2022
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: UsernameComponent, decorators: [{
2025
2023
  type: Component,
2026
- args: [{ selector: 'username', standalone: true, imports: [CommonModule, InputTextModule, FormsModule], template: "<ng-container>\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"username-control\">\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-envelope\"></i>\r\n <input pInputText type=\"text\"\r\n autocomplete=\"off\"\r\n [placeholder]=\"attributeModel.placeholder ?? ''\" \r\n [ngModel]=\"record[attributeModel.name]\"\r\n [required]=\"attributeModel.isRequired ?? false\" \r\n [disabled]=\"attributeModel.readonly ?? false\"\r\n #usernameField=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, usernameField.valid)\" \r\n />\r\n </span>\r\n </div>\r\n </ng-container>" }]
2024
+ args: [{ selector: 'username', standalone: true, imports: [CommonModule, InputTextModule, FormsModule], template: "<ng-container>\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"username-control\">\n <span class=\"p-input-icon-left\">\n <i class=\"pi pi-envelope\"></i>\n <input pInputText type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"attributeModel.placeholder ?? ''\" \n [ngModel]=\"record[attributeModel.name]\"\n [required]=\"attributeModel.isRequired ?? false\" \n [disabled]=\"attributeModel.readonly ?? false\"\n #usernameField=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, usernameField.valid)\" \n />\n </span>\n </div>\n </ng-container>" }]
2027
2025
  }] });
2028
2026
 
2029
2027
  class PasswordComponent extends BaseControlComponent {
@@ -2035,11 +2033,11 @@ class PasswordComponent extends BaseControlComponent {
2035
2033
  this.invalidPasswordErrorMsg = "Invalid Password";
2036
2034
  }
2037
2035
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: PasswordComponent, deps: [{ token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
2038
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: PasswordComponent, isStandalone: true, selector: "password", usesInheritance: true, ngImport: i0, template: "<ng-container>\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"password-control\">\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-key\"></i>\r\n <input type=\"password\" autocomplete=\"off\" pInputText [placeholder]=\"attributeModel.placeholder ?? ''\"\r\n [ngModel]=\"record[attributeModel.name]\" [required]=\"attributeModel.isRequired ?? false\" #passwordField=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, passwordField.valid)\" [ngClass]=\"{\r\n 'ng-dirty ng-invalid': !passwordField.valid && error == attributeModel.name\r\n }\" class=\"block p-inputtext\" />\r\n\r\n </span>\r\n </div>\r\n @if (!passwordField.valid && passwordField.dirty) {\r\n <div>\r\n <small id=\"password-help\" class=\"p-error\">{{\r\n invalidPasswordErrorMsg\r\n }}</small>\r\n </div>\r\n }\r\n\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
2036
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: PasswordComponent, isStandalone: true, selector: "password", usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"password-control\">\n <span class=\"p-input-icon-left\">\n <i class=\"pi pi-key\"></i>\n <input type=\"password\" autocomplete=\"off\" pInputText [placeholder]=\"attributeModel.placeholder ?? ''\"\n [ngModel]=\"record[attributeModel.name]\" [required]=\"attributeModel.isRequired ?? false\" #passwordField=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, passwordField.valid)\" [ngClass]=\"{\n 'ng-dirty ng-invalid': !passwordField.valid && error == attributeModel.name\n }\" class=\"block p-inputtext\" />\n\n </span>\n </div>\n @if (!passwordField.valid && passwordField.dirty) {\n <div>\n <small id=\"password-help\" class=\"p-error\">{{\n invalidPasswordErrorMsg\n }}</small>\n </div>\n }\n\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
2039
2037
  }
2040
2038
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: PasswordComponent, decorators: [{
2041
2039
  type: Component,
2042
- args: [{ selector: 'password', standalone: true, imports: [CommonModule, FormsModule], template: "<ng-container>\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"password-control\">\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-key\"></i>\r\n <input type=\"password\" autocomplete=\"off\" pInputText [placeholder]=\"attributeModel.placeholder ?? ''\"\r\n [ngModel]=\"record[attributeModel.name]\" [required]=\"attributeModel.isRequired ?? false\" #passwordField=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, passwordField.valid)\" [ngClass]=\"{\r\n 'ng-dirty ng-invalid': !passwordField.valid && error == attributeModel.name\r\n }\" class=\"block p-inputtext\" />\r\n\r\n </span>\r\n </div>\r\n @if (!passwordField.valid && passwordField.dirty) {\r\n <div>\r\n <small id=\"password-help\" class=\"p-error\">{{\r\n invalidPasswordErrorMsg\r\n }}</small>\r\n </div>\r\n }\r\n\r\n</ng-container>" }]
2040
+ args: [{ selector: 'password', standalone: true, imports: [CommonModule, FormsModule], template: "<ng-container>\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"password-control\">\n <span class=\"p-input-icon-left\">\n <i class=\"pi pi-key\"></i>\n <input type=\"password\" autocomplete=\"off\" pInputText [placeholder]=\"attributeModel.placeholder ?? ''\"\n [ngModel]=\"record[attributeModel.name]\" [required]=\"attributeModel.isRequired ?? false\" #passwordField=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, passwordField.valid)\" [ngClass]=\"{\n 'ng-dirty ng-invalid': !passwordField.valid && error == attributeModel.name\n }\" class=\"block p-inputtext\" />\n\n </span>\n </div>\n @if (!passwordField.valid && passwordField.dirty) {\n <div>\n <small id=\"password-help\" class=\"p-error\">{{\n invalidPasswordErrorMsg\n }}</small>\n </div>\n }\n\n</ng-container>" }]
2043
2041
  }], ctorParameters: () => [{ type: BaseStore }, { type: BaseQuery }] });
2044
2042
 
2045
2043
  class CSS {
@@ -2132,11 +2130,11 @@ class BaseContainerComponent {
2132
2130
  this.service.initList();
2133
2131
  }
2134
2132
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseContainerComponent, deps: [{ token: BaseService }], target: i0.ɵɵFactoryTarget.Component });
2135
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: BaseContainerComponent, isStandalone: true, selector: "lib-base-container", ngImport: i0, template: "<p>base-container works!</p>\r\n", styles: [""] });
2133
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: BaseContainerComponent, isStandalone: true, selector: "lib-base-container", ngImport: i0, template: "<p>base-container works!</p>\n", styles: [""] });
2136
2134
  }
2137
2135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseContainerComponent, decorators: [{
2138
2136
  type: Component,
2139
- args: [{ selector: 'lib-base-container', template: "<p>base-container works!</p>\r\n" }]
2137
+ args: [{ selector: 'lib-base-container', template: "<p>base-container works!</p>\n" }]
2140
2138
  }], ctorParameters: () => [{ type: BaseService }] });
2141
2139
 
2142
2140
  class LOOKUPS {
@@ -2293,11 +2291,11 @@ class TablePrimaryComponent {
2293
2291
  this.templateDestroy$.complete();
2294
2292
  }
2295
2293
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TablePrimaryComponent, deps: [{ token: i3$4.Router }, { token: BaseService }, { token: TableBuilder }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
2296
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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 }, { propertyName: "paginator", first: true, predicate: ["paginator"], descendants: true }], ngImport: i0, template: "<p-table #dt2 [lazy]=\"true\" \r\n [paginator]=\"false\"\r\n [rows]=\"metaData.itemsPerPage\"\r\n [totalRecords]=\"metaData.totalItems\"\r\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\r\n (onPage)=\"handleLoadRecords($event)\"\r\n [ngClass]=\"{'no-pagination': metaData.totalItems <= 10}\"\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 w-full\" *ngIf=\"showSearchBar\">\r\n <div class=\"grid m-0 flex align-items-center w-full\">\r\n <div class=\"col-8 pl-0\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"globalFilter\" (ngModelChange)=\"onSearchChange($event)\"\r\n [placeholder]=\"'Search ...'\" class=\"search-input-wrapper w-full\" />\r\n </div>\r\n <div class=\"col-4 pr-0 flex align-items-center justify-content-end gap-2 filter-dropdown-wrapper\">\r\n <p-dropdown \r\n [options]=\"statusList\" \r\n [(ngModel)]=\"isDataActive\" \r\n optionLabel=\"name\" \r\n placeholder=\"Status\"\r\n (onChange)=\"onStatusChange($event)\"\r\n />\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 </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\" [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\" [pSortableColumn]=\"col.name\" (click)=\"handleSortColumn(col.name)\">\r\n <span class=\"table-title-wrapper text-overflow-wrapper p-0 mt-1\">{{ col.name }}</span>\r\n <p-sortIcon [field]=\"col.name\"></p-sortIcon>\r\n </h4>\r\n </th>\r\n <th *ngIf=\"false\" [permission]=\"this.table.editPermission ?? this.table.deletePermission\" class=\"table-action-title p-4\" [ngClass]=\"table.headers[0]?.width ? 'w-2' : 'w-full'\">\r\n <h4 class=\"text-color font-semibold table-title-wrapper text-overflow-wrapper 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 cursor-pointer\" (click)=\"handleEditClick(rowData._id)\">\r\n <td class=\"text-left p-4\" *ngFor=\"let col of table.headers\">\r\n <div class=\"table-text-wrapper text-overflow-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 <span *ngIf=\"col.name.toLowerCase() === 'body'; else normalText\" [innerHTML]=\"decodeHtml(rowData[col.name])\"></span>\r\n <ng-template #normalText>\r\n {{ rowData[col.name] }}\r\n </ng-template>\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=\"false\" class=\"action-data-wrapper text-left p-4\">\r\n <div class=\"flex align-items-center\">\r\n <p-button icon=\"pi pi-pencil\" [permission]=\"this.table.editPermission\" (click)=\"handleEditClick(rowData._id)\" class=\"edit-icon-wrapper mr-3\"></p-button>\r\n <p-button icon=\"pi pi-trash\" [permission]=\"this.table.deletePermission\" (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\" 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>\r\n\r\n<div *ngIf=\"metaData.totalItems > 10\" class=\"paginator-container flex align-items-center justify-content-center table-pagination-wrapper bg-white\">\r\n <div class=\"pagination-text text-color\">\r\n Showing {{ (metaData.currentPage - 1) * metaData.itemsPerPage + 1 }} to {{ recordNumber }} of {{ metaData?.totalItems || 0 }} entries\r\n </div>\r\n \r\n <p-paginator\r\n #paginator\r\n [rows]=\"metaData.itemsPerPage\"\r\n [totalRecords]=\"metaData.totalItems\"\r\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\r\n (onPageChange)=\"handleLoadRecords($event)\"\r\n ></p-paginator>\r\n </div>", styles: [".table-header-container{padding:20px 20px 20px 8px}.text-overflow-wrapper{display:block;-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:14px;-webkit-line-clamp:1}.table-text-wrapper{-webkit-line-clamp:2}.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;cursor:pointer}.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}.radio-label-wrapper{color:#0f1729}.table-pagination-wrapper{border-radius:0 0 10px 10px;padding-bottom:10px}::ng-deep .no-pagination .p-datatable-table{border-radius:0 0 10px 10px;padding-bottom:24px!important}::ng-deep .filter-dropdown-wrapper .p-dropdown{height:100%!important;padding:5px;background:#fff;border-radius:10px;border:1px solid rgba(76,98,146,.1)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-placeholder{color:var(--primary-color)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-dropdown-clear-icon{color:var(--primary-color)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-dropdown-trigger{color:var(--primary-color)}::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 .p-sortable-column.p-highlight,::ng-deep .p-sortable-column:not(.p-highlight):hover{background-color:inherit}::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 20px 12px;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: SharedModule }, { kind: "directive", type: HasPermissionDirective, selector: "[permission]", inputs: ["permission"] }, { 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: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i9.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: i9.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i9.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3$3.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: "ngmodule", type: InputSwitchModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i12.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "component", type: i5$1.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: DropdownModule }] });
2294
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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 }, { propertyName: "paginator", first: true, predicate: ["paginator"], descendants: true }], ngImport: i0, template: "<p-table #dt2 [lazy]=\"true\" \n [paginator]=\"false\"\n [rows]=\"metaData.itemsPerPage\"\n [totalRecords]=\"metaData.totalItems\"\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\n (onPage)=\"handleLoadRecords($event)\"\n [ngClass]=\"{'no-pagination': metaData.totalItems <= 10}\"\n [columns]=\"table.headers\" class=\"table-primary-container\" [value]=\"table.records\">\n <ng-template pTemplate=\"caption\">\n <div class=\"table-header-wrapper flex align-items-center justify-content-between\">\n <h3 class=\"text-color table-title-wrapper text-color m-0\">{{title}}</h3>\n <div class=\"flex align-items-center w-full\" *ngIf=\"showSearchBar\">\n <div class=\"grid m-0 flex align-items-center w-full\">\n <div class=\"col-8 pl-0\">\n <input pInputText type=\"text\" [(ngModel)]=\"globalFilter\" (ngModelChange)=\"onSearchChange($event)\"\n [placeholder]=\"'Search ...'\" class=\"search-input-wrapper w-full\" />\n </div>\n <div class=\"col-4 pr-0 flex align-items-center justify-content-end gap-2 filter-dropdown-wrapper\">\n <p-dropdown \n [options]=\"statusList\" \n [(ngModel)]=\"isDataActive\" \n optionLabel=\"name\" \n placeholder=\"Status\"\n (onChange)=\"onStatusChange($event)\"\n />\n <!-- <p-button icon=\"pi pi-cog\" class=\"setting-icon-wrapper ml-3\"></p-button> -->\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- Header Template -->\n <ng-template pTemplate=\"header\" let-columns>\n <tr *ngIf=\"table.headers.length > 0\">\n <th *ngFor=\"let col of table.headers\" class=\"p-4\" [ngClass]=\"col.width ? col.width : 'w-full'\">\n <h4 class=\"flex align-items-center table-header-title capitalize text-color font-semibold m-0\" [pSortableColumn]=\"col.name\" (click)=\"handleSortColumn(col.name)\">\n <span class=\"table-title-wrapper text-overflow-wrapper p-0 mt-1\">{{ col.name }}</span>\n <p-sortIcon [field]=\"col.name\"></p-sortIcon>\n </h4>\n </th>\n <th *ngIf=\"false\" [permission]=\"this.table.editPermission ?? this.table.deletePermission\" class=\"table-action-title p-4\" [ngClass]=\"table.headers[0]?.width ? 'w-2' : 'w-full'\">\n <h4 class=\"text-color font-semibold table-title-wrapper text-overflow-wrapper capitalize m-0\">Actions</h4></th>\n </tr>\n </ng-template>\n\n <!-- Table Body -->\n <ng-template pTemplate=\"body\" let-rowData>\n <tr *ngIf=\"table.headers.length > 0\" class=\"table-row-wrapper relative table-group-wrapper cursor-pointer\" (click)=\"handleEditClick(rowData._id)\">\n <td class=\"text-left p-4\" *ngFor=\"let col of table.headers\">\n <div class=\"table-text-wrapper text-overflow-wrapper p-0\" \n [ngClass]=\"{\n 'enable-badge-wrapper': col.name.toLowerCase() === 'status' && rowData[col.name] === 'Enable',\n 'disable-badge-wrapper': col.name.toLowerCase() === 'status' && rowData[col.name] === 'Disable',\n 'w-8': col.name.toLowerCase() === 'status',\n 'text-primary font-semibold': col.name.toLowerCase() === 'action' || col.name.toLowerCase() === 'name'\n }\"\n >\n <span *ngIf=\"col.name.toLowerCase() === 'body'; else normalText\" [innerHTML]=\"decodeHtml(rowData[col.name])\"></span>\n <ng-template #normalText>\n {{ rowData[col.name] }}\n </ng-template>\n <p *ngIf=\"col.name.toLowerCase() === 'action'\" class=\"text-color font-normal\">{{rowData['apiEndPoint']}}</p>\n </div>\n </td>\n\n <!-- Actions -->\n <td *ngIf=\"false\" class=\"action-data-wrapper text-left p-4\">\n <div class=\"flex align-items-center\">\n <p-button icon=\"pi pi-pencil\" [permission]=\"this.table.editPermission\" (click)=\"handleEditClick(rowData._id)\" class=\"edit-icon-wrapper mr-3\"></p-button>\n <p-button icon=\"pi pi-trash\" [permission]=\"this.table.deletePermission\" (click)=\"deleteRow(rowData)\" class=\"delete-icon-wrapper mr-3\"></p-button>\n </div>\n </td>\n <!-- <p-button icon=\"pi pi-eye\" (click)=\"viewRow(rowData)\" class=\"view-icon-wrapper icon-position-wrapper table-group-wrapper-hover:visible\"></p-button> -->\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"table.headers.length\" class=\"text-center text-color font-semibold p-4\">\n No records found\n </td>\n </tr>\n </ng-template>\n</p-table>\n\n<div *ngIf=\"metaData.totalItems > 10\" class=\"paginator-container flex align-items-center justify-content-center table-pagination-wrapper bg-white\">\n <div class=\"pagination-text text-color\">\n Showing {{ (metaData.currentPage - 1) * metaData.itemsPerPage + 1 }} to {{ recordNumber }} of {{ metaData?.totalItems || 0 }} entries\n </div>\n \n <p-paginator\n #paginator\n [rows]=\"metaData.itemsPerPage\"\n [totalRecords]=\"metaData.totalItems\"\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\n (onPageChange)=\"handleLoadRecords($event)\"\n ></p-paginator>\n </div>", styles: [".table-header-container{padding:20px 20px 20px 8px}.text-overflow-wrapper{display:block;-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:14px;-webkit-line-clamp:1}.table-text-wrapper{-webkit-line-clamp:2}.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;cursor:pointer}.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}.radio-label-wrapper{color:#0f1729}.table-pagination-wrapper{border-radius:0 0 10px 10px;padding-bottom:10px}::ng-deep .no-pagination .p-datatable-table{border-radius:0 0 10px 10px;padding-bottom:24px!important}::ng-deep .filter-dropdown-wrapper .p-dropdown{height:100%!important;padding:5px;background:#fff;border-radius:10px;border:1px solid rgba(76,98,146,.1)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-placeholder{color:var(--primary-color)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-dropdown-clear-icon{color:var(--primary-color)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-dropdown-trigger{color:var(--primary-color)}::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 .p-sortable-column.p-highlight,::ng-deep .p-sortable-column:not(.p-highlight):hover{background-color:inherit}::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 20px 12px;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: SharedModule }, { kind: "directive", type: HasPermissionDirective, selector: "[permission]", inputs: ["permission"] }, { 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: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i9.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: i9.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i9.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3$3.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: "ngmodule", type: InputSwitchModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i12.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "component", type: i5$1.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: DropdownModule }] });
2297
2295
  }
2298
2296
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TablePrimaryComponent, decorators: [{
2299
2297
  type: Component,
2300
- args: [{ selector: 'lib-table-primary', standalone: true, imports: [CommonModule, SharedModule, TableModule, ButtonModule, ToggleButtonModule, FormsModule, InputSwitchModule, InputTextModule, TooltipModule, RadioButtonModule, PaginatorModule, DropdownModule], template: "<p-table #dt2 [lazy]=\"true\" \r\n [paginator]=\"false\"\r\n [rows]=\"metaData.itemsPerPage\"\r\n [totalRecords]=\"metaData.totalItems\"\r\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\r\n (onPage)=\"handleLoadRecords($event)\"\r\n [ngClass]=\"{'no-pagination': metaData.totalItems <= 10}\"\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 w-full\" *ngIf=\"showSearchBar\">\r\n <div class=\"grid m-0 flex align-items-center w-full\">\r\n <div class=\"col-8 pl-0\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"globalFilter\" (ngModelChange)=\"onSearchChange($event)\"\r\n [placeholder]=\"'Search ...'\" class=\"search-input-wrapper w-full\" />\r\n </div>\r\n <div class=\"col-4 pr-0 flex align-items-center justify-content-end gap-2 filter-dropdown-wrapper\">\r\n <p-dropdown \r\n [options]=\"statusList\" \r\n [(ngModel)]=\"isDataActive\" \r\n optionLabel=\"name\" \r\n placeholder=\"Status\"\r\n (onChange)=\"onStatusChange($event)\"\r\n />\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 </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\" [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\" [pSortableColumn]=\"col.name\" (click)=\"handleSortColumn(col.name)\">\r\n <span class=\"table-title-wrapper text-overflow-wrapper p-0 mt-1\">{{ col.name }}</span>\r\n <p-sortIcon [field]=\"col.name\"></p-sortIcon>\r\n </h4>\r\n </th>\r\n <th *ngIf=\"false\" [permission]=\"this.table.editPermission ?? this.table.deletePermission\" class=\"table-action-title p-4\" [ngClass]=\"table.headers[0]?.width ? 'w-2' : 'w-full'\">\r\n <h4 class=\"text-color font-semibold table-title-wrapper text-overflow-wrapper 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 cursor-pointer\" (click)=\"handleEditClick(rowData._id)\">\r\n <td class=\"text-left p-4\" *ngFor=\"let col of table.headers\">\r\n <div class=\"table-text-wrapper text-overflow-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 <span *ngIf=\"col.name.toLowerCase() === 'body'; else normalText\" [innerHTML]=\"decodeHtml(rowData[col.name])\"></span>\r\n <ng-template #normalText>\r\n {{ rowData[col.name] }}\r\n </ng-template>\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=\"false\" class=\"action-data-wrapper text-left p-4\">\r\n <div class=\"flex align-items-center\">\r\n <p-button icon=\"pi pi-pencil\" [permission]=\"this.table.editPermission\" (click)=\"handleEditClick(rowData._id)\" class=\"edit-icon-wrapper mr-3\"></p-button>\r\n <p-button icon=\"pi pi-trash\" [permission]=\"this.table.deletePermission\" (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\" 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>\r\n\r\n<div *ngIf=\"metaData.totalItems > 10\" class=\"paginator-container flex align-items-center justify-content-center table-pagination-wrapper bg-white\">\r\n <div class=\"pagination-text text-color\">\r\n Showing {{ (metaData.currentPage - 1) * metaData.itemsPerPage + 1 }} to {{ recordNumber }} of {{ metaData?.totalItems || 0 }} entries\r\n </div>\r\n \r\n <p-paginator\r\n #paginator\r\n [rows]=\"metaData.itemsPerPage\"\r\n [totalRecords]=\"metaData.totalItems\"\r\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\r\n (onPageChange)=\"handleLoadRecords($event)\"\r\n ></p-paginator>\r\n </div>", styles: [".table-header-container{padding:20px 20px 20px 8px}.text-overflow-wrapper{display:block;-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:14px;-webkit-line-clamp:1}.table-text-wrapper{-webkit-line-clamp:2}.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;cursor:pointer}.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}.radio-label-wrapper{color:#0f1729}.table-pagination-wrapper{border-radius:0 0 10px 10px;padding-bottom:10px}::ng-deep .no-pagination .p-datatable-table{border-radius:0 0 10px 10px;padding-bottom:24px!important}::ng-deep .filter-dropdown-wrapper .p-dropdown{height:100%!important;padding:5px;background:#fff;border-radius:10px;border:1px solid rgba(76,98,146,.1)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-placeholder{color:var(--primary-color)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-dropdown-clear-icon{color:var(--primary-color)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-dropdown-trigger{color:var(--primary-color)}::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 .p-sortable-column.p-highlight,::ng-deep .p-sortable-column:not(.p-highlight):hover{background-color:inherit}::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 20px 12px;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"] }]
2298
+ args: [{ selector: 'lib-table-primary', standalone: true, imports: [CommonModule, SharedModule, TableModule, ButtonModule, ToggleButtonModule, FormsModule, InputSwitchModule, InputTextModule, TooltipModule, RadioButtonModule, PaginatorModule, DropdownModule], template: "<p-table #dt2 [lazy]=\"true\" \n [paginator]=\"false\"\n [rows]=\"metaData.itemsPerPage\"\n [totalRecords]=\"metaData.totalItems\"\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\n (onPage)=\"handleLoadRecords($event)\"\n [ngClass]=\"{'no-pagination': metaData.totalItems <= 10}\"\n [columns]=\"table.headers\" class=\"table-primary-container\" [value]=\"table.records\">\n <ng-template pTemplate=\"caption\">\n <div class=\"table-header-wrapper flex align-items-center justify-content-between\">\n <h3 class=\"text-color table-title-wrapper text-color m-0\">{{title}}</h3>\n <div class=\"flex align-items-center w-full\" *ngIf=\"showSearchBar\">\n <div class=\"grid m-0 flex align-items-center w-full\">\n <div class=\"col-8 pl-0\">\n <input pInputText type=\"text\" [(ngModel)]=\"globalFilter\" (ngModelChange)=\"onSearchChange($event)\"\n [placeholder]=\"'Search ...'\" class=\"search-input-wrapper w-full\" />\n </div>\n <div class=\"col-4 pr-0 flex align-items-center justify-content-end gap-2 filter-dropdown-wrapper\">\n <p-dropdown \n [options]=\"statusList\" \n [(ngModel)]=\"isDataActive\" \n optionLabel=\"name\" \n placeholder=\"Status\"\n (onChange)=\"onStatusChange($event)\"\n />\n <!-- <p-button icon=\"pi pi-cog\" class=\"setting-icon-wrapper ml-3\"></p-button> -->\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- Header Template -->\n <ng-template pTemplate=\"header\" let-columns>\n <tr *ngIf=\"table.headers.length > 0\">\n <th *ngFor=\"let col of table.headers\" class=\"p-4\" [ngClass]=\"col.width ? col.width : 'w-full'\">\n <h4 class=\"flex align-items-center table-header-title capitalize text-color font-semibold m-0\" [pSortableColumn]=\"col.name\" (click)=\"handleSortColumn(col.name)\">\n <span class=\"table-title-wrapper text-overflow-wrapper p-0 mt-1\">{{ col.name }}</span>\n <p-sortIcon [field]=\"col.name\"></p-sortIcon>\n </h4>\n </th>\n <th *ngIf=\"false\" [permission]=\"this.table.editPermission ?? this.table.deletePermission\" class=\"table-action-title p-4\" [ngClass]=\"table.headers[0]?.width ? 'w-2' : 'w-full'\">\n <h4 class=\"text-color font-semibold table-title-wrapper text-overflow-wrapper capitalize m-0\">Actions</h4></th>\n </tr>\n </ng-template>\n\n <!-- Table Body -->\n <ng-template pTemplate=\"body\" let-rowData>\n <tr *ngIf=\"table.headers.length > 0\" class=\"table-row-wrapper relative table-group-wrapper cursor-pointer\" (click)=\"handleEditClick(rowData._id)\">\n <td class=\"text-left p-4\" *ngFor=\"let col of table.headers\">\n <div class=\"table-text-wrapper text-overflow-wrapper p-0\" \n [ngClass]=\"{\n 'enable-badge-wrapper': col.name.toLowerCase() === 'status' && rowData[col.name] === 'Enable',\n 'disable-badge-wrapper': col.name.toLowerCase() === 'status' && rowData[col.name] === 'Disable',\n 'w-8': col.name.toLowerCase() === 'status',\n 'text-primary font-semibold': col.name.toLowerCase() === 'action' || col.name.toLowerCase() === 'name'\n }\"\n >\n <span *ngIf=\"col.name.toLowerCase() === 'body'; else normalText\" [innerHTML]=\"decodeHtml(rowData[col.name])\"></span>\n <ng-template #normalText>\n {{ rowData[col.name] }}\n </ng-template>\n <p *ngIf=\"col.name.toLowerCase() === 'action'\" class=\"text-color font-normal\">{{rowData['apiEndPoint']}}</p>\n </div>\n </td>\n\n <!-- Actions -->\n <td *ngIf=\"false\" class=\"action-data-wrapper text-left p-4\">\n <div class=\"flex align-items-center\">\n <p-button icon=\"pi pi-pencil\" [permission]=\"this.table.editPermission\" (click)=\"handleEditClick(rowData._id)\" class=\"edit-icon-wrapper mr-3\"></p-button>\n <p-button icon=\"pi pi-trash\" [permission]=\"this.table.deletePermission\" (click)=\"deleteRow(rowData)\" class=\"delete-icon-wrapper mr-3\"></p-button>\n </div>\n </td>\n <!-- <p-button icon=\"pi pi-eye\" (click)=\"viewRow(rowData)\" class=\"view-icon-wrapper icon-position-wrapper table-group-wrapper-hover:visible\"></p-button> -->\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"table.headers.length\" class=\"text-center text-color font-semibold p-4\">\n No records found\n </td>\n </tr>\n </ng-template>\n</p-table>\n\n<div *ngIf=\"metaData.totalItems > 10\" class=\"paginator-container flex align-items-center justify-content-center table-pagination-wrapper bg-white\">\n <div class=\"pagination-text text-color\">\n Showing {{ (metaData.currentPage - 1) * metaData.itemsPerPage + 1 }} to {{ recordNumber }} of {{ metaData?.totalItems || 0 }} entries\n </div>\n \n <p-paginator\n #paginator\n [rows]=\"metaData.itemsPerPage\"\n [totalRecords]=\"metaData.totalItems\"\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\n (onPageChange)=\"handleLoadRecords($event)\"\n ></p-paginator>\n </div>", styles: [".table-header-container{padding:20px 20px 20px 8px}.text-overflow-wrapper{display:block;-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:14px;-webkit-line-clamp:1}.table-text-wrapper{-webkit-line-clamp:2}.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;cursor:pointer}.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}.radio-label-wrapper{color:#0f1729}.table-pagination-wrapper{border-radius:0 0 10px 10px;padding-bottom:10px}::ng-deep .no-pagination .p-datatable-table{border-radius:0 0 10px 10px;padding-bottom:24px!important}::ng-deep .filter-dropdown-wrapper .p-dropdown{height:100%!important;padding:5px;background:#fff;border-radius:10px;border:1px solid rgba(76,98,146,.1)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-placeholder{color:var(--primary-color)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-dropdown-clear-icon{color:var(--primary-color)}::ng-deep .filter-dropdown-wrapper .p-dropdown .p-dropdown-trigger{color:var(--primary-color)}::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 .p-sortable-column.p-highlight,::ng-deep .p-sortable-column:not(.p-highlight):hover{background-color:inherit}::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 20px 12px;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"] }]
2301
2299
  }], ctorParameters: () => [{ type: i3$4.Router }, { type: BaseService }, { type: TableBuilder }, { type: BaseQuery }], propDecorators: { table: [{
2302
2300
  type: Input
2303
2301
  }], metaData: [{
@@ -2326,7 +2324,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
2326
2324
 
2327
2325
  var columnStyles = {
2328
2326
  riskRating: {
2329
- containerNgClass: "rowData['riskRating'] === 'Low' ? 'queue-chip queue-chip--light-green-success' : rowData['riskRating'] === 'Med' ? 'queue-chip queue-chip--light-amber-warning' : rowData['riskRating'] === 'High' ? 'queue-chip queue-chip--light-red-danger' : ''",
2327
+ containerNgClass: "rowData['riskRating'] === 'Low' ? 'queue-chip queue-chip--light-green-success' : rowData['riskRating'] === 'Med' ? 'queue-chip queue-chip--light-amber-warning' : (rowData['riskRating'] === 'High' || rowData['riskRating'] === 'Unacceptable') ? 'queue-chip queue-chip--light-red-danger' : ''",
2330
2328
  textNgClass: "",
2331
2329
  isShowSortIcon: true
2332
2330
  },
@@ -2348,7 +2346,7 @@ var columnStyles = {
2348
2346
  isShowSortIcon: true
2349
2347
  },
2350
2348
  appId: {
2351
- isShowSortIcon: false,
2349
+ isShowSortIcon: true,
2352
2350
  textNgClass: "text-black font-semibold"
2353
2351
  },
2354
2352
  brokerName: {
@@ -2374,28 +2372,13 @@ var columnStyles = {
2374
2372
  textNgClass: "text-black font-semibold",
2375
2373
  isShowSortIcon: false
2376
2374
  },
2377
- basePrice: {
2378
- containerNgClass: "",
2379
- textNgClass: "text-black font-semibold",
2380
- isShowSortIcon: false
2381
- },
2382
- monthlyPayment: {
2383
- containerNgClass: "",
2384
- textNgClass: "text-black font-semibold",
2385
- isShowSortIcon: false
2386
- },
2387
- submittedDate: {
2388
- containerNgClass: "",
2389
- textNgClass: "text-black font-semibold white-space-nowrap",
2390
- isShowSortIcon: false
2391
- },
2392
2375
  pending: {
2393
2376
  containerNgClass: "rowData['pending'] && rowData['pending'] !== '' ? 'queue-chip queue-chip--neutral' : ''",
2394
2377
  textNgClass: "text-black font-semibold",
2395
2378
  isShowSortIcon: true
2396
2379
  },
2397
2380
  applicants: {
2398
- containerNgClass: "rowData.isSeperateBubble ? 'border-round-full bg-blue-400 text-white' : rowData.isCustomerVulnerable === 'true' ? 'border-round-full applicant-vulnerable-customer-wrapper text-white' : rowData.riskRating === 'Low' ? 'border-round-full applicant-success-badge-wrapper text-white' : rowData.riskRating === 'Med' ? 'border-round-full applicant-amber-badge-wrapper text-white' : rowData.riskRating === 'High' ? 'border-round-full applicant-red-badge-wrapper text-white' : 'border-round-full bg-gray-200 text-white'",
2381
+ containerNgClass: "rowData.isSeperateBubble ? 'border-round-full bg-blue-400 text-white' : rowData.isCustomerVulnerable === 'true' ? 'border-round-full applicant-vulnerable-customer-wrapper text-white' : rowData.riskRating === 'Low' ? 'border-round-full applicant-success-badge-wrapper text-white' : rowData.riskRating === 'Med' ? 'border-round-full applicant-amber-badge-wrapper text-white' : (rowData.riskRating === 'High' || rowData.riskRating === 'Unacceptable') ? 'border-round-full applicant-red-badge-wrapper text-white' : 'border-round-full bg-gray-200 text-white'",
2399
2382
  containerNgStyle: "{ minWidth: 'fit-content', maxWidth: '200px', minHeight: '32px', display: 'inline-flex', alignItems: 'center', justifyContent: 'center', padding: '6px 14px', whiteSpace: 'normal', wordBreak: 'break-word', lineHeight: '1.4' }",
2400
2383
  textNgClass: "text-black"
2401
2384
  },
@@ -2428,11 +2411,11 @@ class SkeletonComponent {
2428
2411
  this.products = Array.from({ length: this.count }).map((_, i) => `Item #${i}`);
2429
2412
  }
2430
2413
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2431
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: SkeletonComponent, isStandalone: true, selector: "lib-skeleton", inputs: { count: "count", columns: "columns", width: "width", height: "height", isAllowCard: "isAllowCard" }, ngImport: i0, template: "<div [ngClass]=\"{'card': isAllowCard}\">\r\n <div *ngFor=\"let col of products\" class=\"mb-5\">\r\n <p-skeleton [width]=\"width\" [height]=\"height\" />\r\n </div>\r\n</div>", styles: [""], 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: "ngmodule", type: SkeletonModule }, { kind: "component", type: i2$3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "ngmodule", type: TableModule }] });
2414
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: SkeletonComponent, isStandalone: true, selector: "lib-skeleton", inputs: { count: "count", columns: "columns", width: "width", height: "height", isAllowCard: "isAllowCard" }, ngImport: i0, template: "<div [ngClass]=\"{'card': isAllowCard}\">\n <div *ngFor=\"let col of products\" class=\"mb-5\">\n <p-skeleton [width]=\"width\" [height]=\"height\" />\n </div>\n</div>", styles: [""], 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: "ngmodule", type: SkeletonModule }, { kind: "component", type: i2$3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "ngmodule", type: TableModule }] });
2432
2415
  }
2433
2416
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SkeletonComponent, decorators: [{
2434
2417
  type: Component,
2435
- args: [{ selector: 'lib-skeleton', standalone: true, imports: [CommonModule, SkeletonModule, TableModule], template: "<div [ngClass]=\"{'card': isAllowCard}\">\r\n <div *ngFor=\"let col of products\" class=\"mb-5\">\r\n <p-skeleton [width]=\"width\" [height]=\"height\" />\r\n </div>\r\n</div>" }]
2418
+ args: [{ selector: 'lib-skeleton', standalone: true, imports: [CommonModule, SkeletonModule, TableModule], template: "<div [ngClass]=\"{'card': isAllowCard}\">\n <div *ngFor=\"let col of products\" class=\"mb-5\">\n <p-skeleton [width]=\"width\" [height]=\"height\" />\n </div>\n</div>" }]
2436
2419
  }], propDecorators: { count: [{
2437
2420
  type: Input
2438
2421
  }], columns: [{
@@ -3370,11 +3353,11 @@ class TableSecondaryComponent {
3370
3353
  return 'default';
3371
3354
  }
3372
3355
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TableSecondaryComponent, deps: [{ token: i3$4.Router }, { token: BaseService }, { token: SessionService }, { token: BaseQuery }, { token: BaseStore }, { token: QueueBusinessService }, { token: QueueQuery$1 }], target: i0.ɵɵFactoryTarget.Component });
3373
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: TableSecondaryComponent, isStandalone: true, selector: "lib-table-secondary", inputs: { table: "table", metaData: "metaData", title: "title", builder: "builder", showStatus: "showStatus", showActions: "showActions", showSearchBar: "showSearchBar", showNewRecordButton: "showNewRecordButton", showRefreshButton: "showRefreshButton", isShowSkeleton: "isShowSkeleton", pathName: "pathName", selectionMode: "selectionMode", selection: "selection", usePagination: "usePagination", scrollHeight: "scrollHeight", rowSelection: "rowSelection", enableSelection: "enableSelection", noRecordsMessage: "noRecordsMessage", sortField: "sortField", sortOrder: "sortOrder", searchTerm: "searchTerm", filterQuery: "filterQuery" }, outputs: { selectionChange: "selectionChange", rowSelectionChange: "rowSelectionChange", sortChanged: "sortChanged", onDeleteRow: "onDeleteRow", onPage: "onPage" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: ["paginator"], descendants: true }], usesOnChanges: true, ngImport: i0, template: " <lib-skeleton *ngIf=\"isShowSkeleton\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\r\n <p-table\r\n *ngIf=\"table && table.headers && !isShowSkeleton\"\r\n #dt2\r\n [lazy]=\"true\"\r\n (onSort)=\"onSort($event)\"\r\n [paginator]=\"false\"\r\n [rows]=\"metaData?.itemsPerPage ?? 10\"\r\n [totalRecords]=\"metaData?.totalItems ?? 0\"\r\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\r\n [first]=\"((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10)\"\r\n [columns]=\"table.headers\"\r\n class=\"table-secondary-container\"\r\n [value]=\"table.records\"\r\n [sortField]=\"sortField\"\r\n [sortOrder]=\"sortOrder\"\r\n [dataKey]=\"table.dataKey\"\r\n [selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selection\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [ngClass]=\"tableNgClassExpression ? evaluateNgClass(tableNgClassExpression, {}) : ''\"\r\n >\r\n <!-- Header -->\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr *ngIf=\"table.headers.length > 0\">\r\n <th\r\n *ngFor=\"let col of table.headers; let i = index\"\r\n class=\"table-header-wrapper bg-white\"\r\n [pSortableColumn]=\"col.name\"\r\n [pSortableColumnDisabled]=\"!(table.isSortingAllow && col.isShowSortIcon)\"\r\n [ngClass]=\"[col.width ? col.width : 'w-full', (!showActions && selectionMode !== 'multiple' && (i === table.headers.length - 1)) ? 'table-action-title' : '']\"\r\n style=\"min-width: 100px\"\r\n > \r\n <h4\r\n [ngClass]=\"[\r\n col.class || '', \r\n getColumnAlignment(col.name) === 'justify-content-start' ? 'justify-content-start text-left' : 'justify-content-center text-center'\r\n ]\"\r\n class=\"flex align-items-center table-header-title font-semibold m-0\">\r\n {{ col.displayName || col.name }}\r\n @if(table.isSortingAllow && col.isShowSortIcon){\r\n <p-sortIcon [field]=\"col.name\" />\r\n }\r\n </h4>\r\n </th>\r\n \r\n <th *ngIf=\"selectionMode === 'multiple' && (!isUwLogin || (isUwLogin && (selectedQueueName === 'Unassigned')))\" \r\n class=\"table-header-wrapper text-right table-action-title\" style=\"width: 6rem;\">\r\n <h4 class=\"flex align-items-center justify-content-end gap-2 table-header-title capitalize font-semibold m-0\">\r\n <span *ngIf=\"headerSelectionCount > 0\">\r\n ({{ headerSelectionCount }})\r\n </span>\r\n <p-checkbox\r\n [binary]=\"true\"\r\n [ngModel]=\"isAllCurrentPageSelected\"\r\n (ngModelChange)=\"handleSelectAllRowData($event)\"></p-checkbox>\r\n </h4>\r\n </th>\r\n \r\n <th\r\n *ngIf=\"showActions\"\r\n class=\"table-action-title table-header-wrapper\"\r\n [ngClass]=\"table.headers[0]?.width ? 'w-2' : 'w-2'\"\r\n >\r\n </th>\r\n \r\n </tr>\r\n </ng-template>\r\n \r\n <!-- 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 <!-- one TD per column -->\r\n <td *ngFor=\"let col of table.headers; let j = index\" class=\"p-0 border-none bg-none table-body-row-wrapper\"\r\n (click)=\"handleRowClick(rowData)\"\r\n [ngClass]=\"[rowData._columnWidths ? rowData._columnWidths?.[col.name] : col.width]\">\r\n <div class=\"table-body-wrapper table-row-card-wrapper\"\r\n [ngClass]=\"[\r\n rowData.rowNgClassExpression ? evaluateNgClass(rowData.rowNgClassExpression, rowData) : '',\r\n isRowSelected(rowData) ? 'row-selected' : '',\r\n selection?.includes(rowData) ? 'green-highlight' : ''\r\n ]\">\r\n \r\n <div class=\"flex align-items-center h-full\" [ngClass]=\"getColumnAlignment(col.name)\">\r\n <!-- your existing inner column wrapper -->\r\n <div class=\"row-wrapprt flex align-items-center\" [ngClass]=\"getColumnAlignment(col.name)\">\r\n <ng-container [ngSwitch]=\"getSwitchCase(rowData, col)\">\r\n <!-- task items - check this first -->\r\n <ng-container *ngSwitchCase=\"'taskItems'\">\r\n <div class=\"col-tasks\">\r\n <ng-container *ngFor=\"let taskItem of rowData[col.name]\">\r\n <div class=\"task-item\" [ngClass]=\"taskItem.status === 'warning' ? 'task-warning' : (taskItem.status === 'default' ? 'task-default' : 'task-success')\">\r\n <span class=\"font-semibold\">{{ taskItem.type }}</span>\r\n <span *ngIf=\"taskItem.count !== null && taskItem.count !== undefined\" class=\"task-badge\">{{ taskItem.count }}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n \r\n <!-- Finance amount with special styling -->\r\n <ng-container *ngSwitchCase=\"'finance'\">\r\n <p class=\"text-black font-semibold mb-0\">\r\n {{ rowData[col.name].amount }}\r\n </p>\r\n </ng-container>\r\n \r\n <!-- App ID with type and risk tags -->\r\n <ng-container *ngSwitchCase=\"'appId'\">\r\n <div class=\"w-full text-left\">\r\n <p class=\"font-semibold mb-0 text-black\">{{ rowData[col.name].appId }}</p>\r\n <div class=\"flex gap-2 justify-content-start app-id-tags\">\r\n <!-- Type chip using style config (lending) -->\r\n <div *ngIf=\"rowData[col.name].type\" [ngClass]=\"getTypeContainerClass(rowData[col.name].type)\">\r\n <small class=\"mb-0\" [ngClass]=\"getTypeTextClass(rowData[col.name].type)\">\r\n {{ rowData[col.name].type }}\r\n </small>\r\n </div>\r\n <!-- Risk chip using style config (riskRating) -->\r\n <div *ngIf=\"rowData[col.name].risk && rowData[col.name].risk.toLowerCase() !== 'unknown'\"\r\n [ngClass]=\"getRiskContainerClass(rowData[col.name].risk)\">\r\n <small class=\"mb-0\" [ngClass]=\"getRiskTextClass(rowData[col.name].risk)\">\r\n {{ rowData[col.name].risk }}\r\n </small>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n \r\n <!-- Broker with name and company name -->\r\n <ng-container *ngSwitchCase=\"'broker'\">\r\n <div class=\"w-full text-left\">\r\n <div class=\"font-medium\">{{ rowData[col.name].brokerName }}</div>\r\n <div *ngIf=\"rowData[col.name].brokerCompanyName\" class=\"text-gray-700\">\r\n {{ rowData[col.name].brokerCompanyName }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!--Render two lines with dynamic classes for any two-line column -->\r\n <ng-container *ngSwitchCase=\"'twoLine'\">\r\n <div class=\"w-full\" [ngClass]=\"[\r\n getColumnAlignment(col.name) === 'justify-content-start' ? 'text-left' : 'text-center',\r\n rowData[col.name]?.containerClass || (col.containerNgClassExpression ? evaluateNgClass(col.containerNgClassExpression, rowData) : '')\r\n ]\">\r\n <div class=\"row-multi-line-wrapper flex align-items-center justify-content-center\">\r\n <i\r\n *ngIf=\"rowData[col.name]?.iconClass && rowData[col.name]?.addressLine1\"\r\n class=\"pi\"\r\n [ngClass]=\"[rowData[col.name].addressLine1, rowData[col.name].iconClass]\"\r\n ></i>\r\n <span\r\n *ngIf=\"!rowData[col.name]?.iconClass\"\r\n [ngClass]=\"getLine1DisplayClasses(col, rowData)\"\r\n >\r\n {{ rowData[col.name]?.addressLine1 }}\r\n </span>\r\n </div>\r\n <p class=\"row-multi-line-wrapper\"\r\n [ngClass]=\"rowData[col.name]?.textClass || (col.line2NgClassExpression ? evaluateNgClass(col.line2NgClassExpression, rowData) : '')\">\r\n {{ rowData[col.name]?.postCode }}\r\n </p>\r\n </div>\r\n </ng-container>\r\n <!-- progress bar -->\r\n <ng-container *ngSwitchCase=\"'progress'\">\r\n <div class=\"progress-wrapper\">\r\n <round-progress [current]=\"rowData['taskCompletionPercent']\" [max]=\"100\"\r\n [color]=\"getProgressColor(rowData['taskCompletionPercent'])\"\r\n [background]=\"getProgressBackground(rowData['taskCompletionPercent'])\" [radius]=\"125\" [stroke]=\"20\"\r\n [semicircle]=\"false\" [rounded]=\"true\" [clockwise]=\"true\" [responsive]=\"false\" [duration]=\"800\"\r\n [animation]=\"'easeInOutQuart'\" [animationDelay]=\"0\">\r\n </round-progress>\r\n <div class=\"progress-title\" [ngStyle]=\"{color: getProgressColor(rowData['taskCompletionPercent'])}\">\r\n {{ rowData[col.name] }}\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n <!-- Default cell rendering for other columns -->\r\n <ng-container *ngSwitchDefault>\r\n <!-- Don't render default content if we have task items -->\r\n <ng-container *ngIf=\"!isTaskItemsArray(rowData[col.name])\">\r\n <div\r\n class=\"table-text-wrapper text-center p-0 flex align-items-center\"\r\n [ngClass]=\"[\r\n getRowClass(col, rowData),\r\n j === 0 ? 'justify-content-start' : 'justify-content-center'\r\n ]\"\r\n [ngStyle]=\"{ 'font-weight': col.name === table.showDecriptionFor ? 'bold' : 'normal' }\"\r\n >\r\n <div *ngIf=\"!col.skipParentNgClass\" [ngClass]=\"rowData[col.name]?.containerClass || (col.containerNgClassExpression ? evaluateNgClass(col.containerNgClassExpression, rowData) : '')\">\r\n <ng-container *ngTemplateOutlet=\"bubbleOrFallback\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"col.skipParentNgClass\">\r\n <div class=\"w-full text-left\">\r\n <ng-container *ngTemplateOutlet=\"bubbleOrFallback\"></ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-template #bubbleOrFallback>\r\n <ng-container *ngIf=\"isArray(rowData[col.name]) && rowData[col.name].length\">\r\n <div class=\"flex flex-column gap-1\">\r\n <ng-container *ngFor=\"let bubble of rowData[col.name]; let i = index\">\r\n <p\r\n *ngIf=\"bubble.fullName\"\r\n class=\"mb-0\"\r\n [ngClass]=\"[\r\n col.textNgClassExpression ? evaluateNgClass(col.textNgClassExpression, rowData) : 'text-gray-700',\r\n 'text-black font-semibold'\r\n ]\"\r\n >\r\n {{ bubble.fullName }}\r\n </p>\r\n <p\r\n *ngIf=\"bubble.inviteEmail\"\r\n class=\"mb-0 text-black font-semibold\"\r\n >\r\n {{ bubble.inviteEmail }}\r\n </p>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"shouldShowValue(col, rowData)\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i\r\n *ngIf=\"rowData[col.name]?.icon\"\r\n class=\"pi\"\r\n [ngClass]=\"[rowData[col.name].icon, rowData[col.name].iconClass]\"\r\n ></i>\r\n <p class=\"mb-0 text-black font-semibold\" [ngClass]=\"rowData[col.name]?.textClass || (col.textNgClassExpression ? evaluateNgClass(col.textNgClassExpression, rowData) : '')\">\r\n {{ rowData[col.name]?.text || rowData[col.name] }}\r\n </p>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n <div\r\n *ngIf=\"col.name === table.showDecriptionFor && rowData[table.descriptionColumnName]\"\r\n class=\"text-black-500 text-sm mt-1\"\r\n style=\"font-weight: 600;\"\r\n >\r\n {{ rowData[table.descriptionColumnName] }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </td>\r\n <!-- Checkbox column -->\r\n <td *ngIf=\"selectionMode === 'multiple' && (!isUwLogin || (isUwLogin && (selectedQueueName === 'Unassigned')))\" class=\"text-right p-0 border-none bg-none table-body-row-wrapper\"\r\n style=\"width: 4rem\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"table-body-wrapper table-select-row-wrapper flex align-items-center justify-content-end\"\r\n [ngClass]=\"[\r\n rowData.rowNgClassExpression ? evaluateNgClass(rowData.rowNgClassExpression, rowData) : '',\r\n isRowSelected(rowData) ? 'row-selected' : '',\r\n selection?.includes(rowData) ? 'green-highlight' : ''\r\n ]\">\r\n <p-tableCheckbox [value]=\"rowData\" [disabled]=\"!enableSelection\"></p-tableCheckbox>\r\n </div>\r\n </td>\r\n\r\n <!-- Actions column -->\r\n <td *ngIf=\"showActions\" class=\"action-data-wrapper text-left table-body-wrapper\">\r\n <div *ngIf=\"(rowData.isRowDelete !== null || rowData.canDelete !== undefined) ? (showActions && rowData.isRowDelete) : showActions\" class=\"flex align-items-center justify-content-center\">\r\n <p-button\r\n icon=\"pi pi-trash\"\r\n (click)=\"deleteRow($event, rowData)\"\r\n class=\"delete-icon-wrapper mr-3\"\r\n [disabled]=\"!enableSelection\"\r\n ></p-button>\r\n </div>\r\n </td>\r\n </tr>\r\n</ng-template>\r\n \r\n <!-- Empty Message -->\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td\r\n [attr.colspan]=\"table.headers.length + (showActions ? 1 : 0) + (selectionMode === 'multiple' ? 1 : 0)\"\r\n class=\"text-center text-color font-semibold p-4\"\r\n >\r\n {{ noRecordsMessage }}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n\r\n<!-- Paginator -->\r\n <div class=\"paginator-container flex align-items-center justify-content-center table-pagination-wrapper\" *ngIf=\"usePagination\">\r\n <div class=\"pagination-text text-color\">\r\n Showing {{ (metaData?.totalItems ?? 0) > 0 ? (((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10) + 1) : 0 }} to {{ recordNumber }} of {{ metaData?.totalItems ?? 0 }} entries\r\n </div>\r\n\r\n <p-paginator\r\n #paginator\r\n [first]=\"((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10)\"\r\n [rows]=\"metaData?.itemsPerPage ?? 10\"\r\n [totalRecords]=\"metaData?.totalItems ?? 0\"\r\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\r\n (onPageChange)=\"handleLoadRecords($event)\"\r\n ></p-paginator>\r\n</div> ", styles: [".table-header-container{padding:20px 20px 20px 8px}.table-header-title{font-size:12px;font-weight:600;color:var(--text-color-tertiary)!important}.table-header-wrapper{padding:12px 14px}.queue-chip{display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;min-height:1.5rem;border-radius:9999px;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;gap:.25rem;background-color:#e5e7eb;color:#111827;border:1px solid transparent;width:fit-content;max-width:100%}.queue-chip--danger{background-color:var(--color-red-600, #dc2626);color:#fff}.queue-chip--warning{background-color:var(--color-amber-500, #f59e0b);color:#fff}.queue-chip--neutral{background-color:var(--color-gray-300, #d1d5db);color:#111827}.queue-chip--success{background-color:var(--color-green-500, #22c55e);color:#fff}.queue-chip--info{background-color:var(--color-blue-500, #3b82f6);color:#fff}.queue-chip--light-green-success{background-color:var(--color-green-50, #f0fdf4);color:var(--color-green-700, #15803d);border:1px solid var(--color-green-200, #bbf7d0)}.queue-chip--light-amber-warning{background-color:var(--color-amber-50, #fffbeb);color:var(--color-amber-700, #b45309);border:1px solid var(--color-amber-200, #fde68a)}.queue-chip--light-red-danger{background-color:var(--color-red-50, #fef2f2);color:var(--color-red-700, #b91c1c);border:1px solid var(--color-red-200, #fecaca)}.queue-chip--light-neutral{background-color:var(--color-blue-50, #eff6ff);color:var(--color-blue-700, #1e40af);border:1px solid var(--color-blue-200, #bfdbfe)}.table-body-wrapper{padding:12px 14px}.column-style-wrapper{height:96px;margin-bottom:16px}.column-style-wrapper-tall{height:132px}.bubble-seperator-wrapper{margin-left:-12px}.applicant-vulnerable-customer-wrapper{background-color:var(--color-red-600)}.applicant-red-badge-wrapper{background-color:var(--color-red-400)}.applicant-amber-badge-wrapper{background-color:var(--color-amber-500)}.applicant-success-badge-wrapper{background-color:var(--color-green-500)}.red-text-wrapper{color:var(--color-red-500)}.amber-text-wrapper{color:var(--color-amber-500)}.success-text-wrapper{color:var(--color-green-500)}.record_username{color:#0f8bfd}.table-title-wrapper{font-size:20px;font-weight:700}.table-action-title,.header-text-wrapper,.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}.verified-status{background-color:var(--green-500)}.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}.Verified{background-color:var(--green-400);padding:.3rem!important;border-radius:5px;color:#fff}.DirectDebitDetails{background-color:#b2eaf2;padding:.3rem!important;border-radius:5px;color:#00bcd4}.Application{background-color:#4caf501a;padding:.3rem!important;border-radius:5px;color:#4caf50}.Property{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}.Applicant,.ApplicationNote{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}.OnBoarding,.PropertyDetails{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}.Alert{background-color:var(--red-500);padding:.3rem!important;border-radius:5px;color:#fff}.Pending{background-color:var(--orange-300);padding:.3rem!important;border-radius:5px;color:#fff}.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}.table-pagination-wrapper{border-radius:0 0 10px 10px}::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 .record_username{color:var(--primary-color)}::ng-deep .table-title-wrapper{font-size:20px;font-weight:700}::ng-deep .table-action-title,::ng-deep .header-text-wrapper{border-right:1px solid var(--primary-border-color)!important}::ng-deep .table-action-title{border-radius:0 10px 0 0}::ng-deep .action-data-wrapper{border-right:1px solid var(--primary-border-color)!important}::ng-deep .enable-badge-wrapper{border-radius:4px;background:var(--green-500);color:var(--surface-0);text-align:center;padding:5px!important}::ng-deep .verified-status{background-color:var(--green-500)}::ng-deep .disable-badge-wrapper{border-radius:4px;background:#44486d;color:var(--surface-0);text-align:center;padding:5px!important}::ng-deep .search-input-wrapper{height:50px;border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}::ng-deep .Verified{background-color:var(--green-400);padding:.3rem!important;border-radius:5px;color:#fff}::ng-deep .DirectDebitDetails{background-color:#b2eaf2;padding:.3rem!important;border-radius:5px;color:#00bcd4}::ng-deep .Application{background-color:#4caf501a;padding:.3rem!important;border-radius:5px;color:#4caf50}::ng-deep .Property{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .Applicant{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}::ng-deep .ApplicationNote{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}::ng-deep .OnBoarding{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .PropertyDetails{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .Alert{background-color:var(--red-500);padding:.3rem!important;border-radius:5px;color:#fff}::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-secondary-container .p-datatable-table{background-color:#fff;table-layout:fixed}::ng-deep .table-secondary-container .p-datatable-table .p-datatable-thead{background-color:var(--color-surface)}::ng-deep .table-secondary-container .p-datatable-header{padding:20px 20px 0;border-radius:10px 10px 0 0!important;border:none!important}::ng-deep .table-secondary-container .p-datatable-thead th{border:1px solid rgba(68,72,109,.1);border-left:none;border-right:none}::ng-deep .table-secondary-container .p-datatable-thead th:first-child{border-radius:10px 0 0;border-left:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr td{border-bottom:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr td:first-child{border-left:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr:last-child td:first-child{border-radius:0 0 0 10px}::ng-deep .table-secondary-container tr:last-child td:last-child{border-radius:0 0 10px}::ng-deep .table-body-row-wrapper:first-child .border-row-wrapper{border-style:solid;border-width:1px 0 1px 1px;border-radius:.75rem 0 0 .75rem!important}::ng-deep .table-body-row-wrapper:not(:first-child):not(:last-child) .border-row-wrapper{border-style:solid;border-width:1px 0;border-radius:0!important}::ng-deep .table-body-row-wrapper:last-child .border-row-wrapper{border-style:solid;border-width:1px 1px 1px 0;border-radius:0 .75rem .75rem 0!important}::ng-deep .table-select-row-wrapper .border-row-wrapper{border-style:solid;border-width:1px 1px 1px 0;border-radius:0 .75rem .75rem 0!important}::ng-deep .table-row-wrapper:hover .table-body-wrapper{background-color:#0f8bfd05}.pending-badge-wrapper{background-color:#e5e7eb}:host ::ng-deep .p-checkbox-box.p-highlight{background-color:var(--color-green-500)!important;border-color:var(--color-green-500)!important}.green-highlight{background-color:var(--color-green-10)!important}:host ::ng-deep .p-checkbox-box.p-highlight .p-checkbox-icon{color:var(--color-surface-light)}:host ::ng-deep .p-checkbox-box:hover{border:1px solid #8a8ea6}:host ::ng-deep .p-checkbox-box.p-highlight:hover{background-color:var(--color-green-500)!important;border-color:var(--color-green-500)!important}@media screen and (min-width: 1200px) and (max-width: 1500px){.table-header-wrapper{padding:12px 8px;background-color:#fff}.table-body-wrapper{padding:8px}}.table-secondary-container tr th{border:none!important}.border-round-full{border-radius:50%!important}.col-tasks{display:flex;width:75px;padding-left:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px}.task-item{display:flex;align-items:center;justify-content:space-between;border-radius:9999px;padding:0 3px 0 12px;font-size:12px;font-weight:600;width:100%;max-width:60px}.task-warning{background-color:#fdecce;color:#f59e0b}.task-success{background-color:#c5f7d7;color:#16a34a}.task-default{background-color:transparent;color:#1f2937;border:1px solid #d1d5db}.task-badge{background-color:#fff;border-radius:9999px;padding:3px 8px;color:#1f2937}.task-warning .task-badge{border:1px solid #f59e0b}.task-success .task-badge{border:1px solid #16a34a}.app-id-tags{margin-top:7px}\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: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: SkeletonComponent, selector: "lib-skeleton", inputs: ["count", "columns", "width", "height", "isAllowCard"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i9.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: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i9.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i9.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i9.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3$3.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.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: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i12.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "ngmodule", type: RoundProgressModule }, { kind: "component", type: i14.RoundProgressComponent, selector: "round-progress", inputs: ["current", "max", "radius", "animation", "animationDelay", "duration", "stroke", "color", "background", "responsive", "clockwise", "semicircle", "rounded"], outputs: ["onRender"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3$2.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3356
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: TableSecondaryComponent, isStandalone: true, selector: "lib-table-secondary", inputs: { table: "table", metaData: "metaData", title: "title", builder: "builder", showStatus: "showStatus", showActions: "showActions", showSearchBar: "showSearchBar", showNewRecordButton: "showNewRecordButton", showRefreshButton: "showRefreshButton", isShowSkeleton: "isShowSkeleton", pathName: "pathName", selectionMode: "selectionMode", selection: "selection", usePagination: "usePagination", scrollHeight: "scrollHeight", rowSelection: "rowSelection", enableSelection: "enableSelection", noRecordsMessage: "noRecordsMessage", sortField: "sortField", sortOrder: "sortOrder", searchTerm: "searchTerm", filterQuery: "filterQuery" }, outputs: { selectionChange: "selectionChange", rowSelectionChange: "rowSelectionChange", sortChanged: "sortChanged", onDeleteRow: "onDeleteRow", onPage: "onPage" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: ["paginator"], descendants: true }], usesOnChanges: true, ngImport: i0, template: " <lib-skeleton *ngIf=\"isShowSkeleton\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\n <p-table\n *ngIf=\"table && table.headers && !isShowSkeleton\"\n #dt2\n [lazy]=\"true\"\n (onSort)=\"onSort($event)\"\n [paginator]=\"false\"\n [rows]=\"metaData?.itemsPerPage ?? 10\"\n [totalRecords]=\"metaData?.totalItems ?? 0\"\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\n [first]=\"((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10)\"\n [columns]=\"table.headers\"\n class=\"table-secondary-container\"\n [value]=\"table.records\"\n [sortField]=\"sortField\"\n [sortOrder]=\"sortOrder\"\n [dataKey]=\"table.dataKey\"\n [selectionMode]=\"selectionMode\"\n [(selection)]=\"selection\"\n (selectionChange)=\"onSelectionChange($event)\"\n [ngClass]=\"tableNgClassExpression ? evaluateNgClass(tableNgClassExpression, {}) : ''\"\n >\n <!-- Header -->\n <ng-template pTemplate=\"header\" let-columns>\n <tr *ngIf=\"table.headers.length > 0\">\n <th\n *ngFor=\"let col of table.headers; let i = index\"\n class=\"table-header-wrapper bg-white\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"!(table.isSortingAllow && col.isShowSortIcon)\"\n [ngClass]=\"[col.width ? col.width : 'w-full', (!showActions && selectionMode !== 'multiple' && (i === table.headers.length - 1)) ? 'table-action-title' : '']\"\n style=\"min-width: 100px\"\n > \n <h4\n [ngClass]=\"[\n col.class || '', \n getColumnAlignment(col.name) === 'justify-content-start' ? 'justify-content-start text-left' : 'justify-content-center text-center'\n ]\"\n class=\"flex align-items-center table-header-title font-semibold m-0\">\n {{ col.displayName || col.name }}\n @if(table.isSortingAllow && col.isShowSortIcon){\n <p-sortIcon [field]=\"col.name\" />\n }\n </h4>\n </th>\n \n <th *ngIf=\"selectionMode === 'multiple' && (!isUwLogin || (isUwLogin && (selectedQueueName === 'Unassigned')))\" \n class=\"table-header-wrapper text-right table-action-title\" style=\"width: 6rem;\">\n <h4 class=\"flex align-items-center justify-content-end gap-2 table-header-title capitalize font-semibold m-0\">\n <span *ngIf=\"headerSelectionCount > 0\">\n ({{ headerSelectionCount }})\n </span>\n <p-checkbox\n [binary]=\"true\"\n [ngModel]=\"isAllCurrentPageSelected\"\n (ngModelChange)=\"handleSelectAllRowData($event)\"></p-checkbox>\n </h4>\n </th>\n \n <th\n *ngIf=\"showActions\"\n class=\"table-action-title table-header-wrapper\"\n [ngClass]=\"table.headers[0]?.width ? 'w-2' : 'w-2'\"\n >\n </th>\n \n </tr>\n </ng-template>\n \n <!-- Body -->\n<ng-template pTemplate=\"body\" let-rowData>\n <tr *ngIf=\"table.headers.length > 0\" class=\"table-row-wrapper relative table-group-wrapper\">\n <!-- one TD per column -->\n <td *ngFor=\"let col of table.headers; let j = index\" class=\"p-0 border-none bg-none table-body-row-wrapper\"\n (click)=\"handleRowClick(rowData)\"\n [ngClass]=\"[rowData._columnWidths ? rowData._columnWidths?.[col.name] : col.width]\">\n <div class=\"table-body-wrapper table-row-card-wrapper\"\n [ngClass]=\"[\n rowData.rowNgClassExpression ? evaluateNgClass(rowData.rowNgClassExpression, rowData) : '',\n isRowSelected(rowData) ? 'row-selected' : '',\n selection?.includes(rowData) ? 'green-highlight' : ''\n ]\">\n \n <div class=\"flex align-items-center h-full\" [ngClass]=\"getColumnAlignment(col.name)\">\n <!-- your existing inner column wrapper -->\n <div class=\"row-wrapprt flex align-items-center\" [ngClass]=\"getColumnAlignment(col.name)\">\n <ng-container [ngSwitch]=\"getSwitchCase(rowData, col)\">\n <!-- task items - check this first -->\n <ng-container *ngSwitchCase=\"'taskItems'\">\n <div class=\"col-tasks\">\n <ng-container *ngFor=\"let taskItem of rowData[col.name]\">\n <div class=\"task-item\" [ngClass]=\"taskItem.status === 'warning' ? 'task-warning' : (taskItem.status === 'default' ? 'task-default' : 'task-success')\">\n <span class=\"font-semibold\">{{ taskItem.type }}</span>\n <span *ngIf=\"taskItem.count !== null && taskItem.count !== undefined\" class=\"task-badge\">{{ taskItem.count }}</span>\n </div>\n </ng-container>\n </div>\n </ng-container>\n \n <!-- Finance amount with special styling -->\n <ng-container *ngSwitchCase=\"'finance'\">\n <p class=\"text-black font-semibold mb-0\">\n {{ rowData[col.name].amount }}\n </p>\n </ng-container>\n \n <!-- App ID with type and risk tags -->\n <ng-container *ngSwitchCase=\"'appId'\">\n <div class=\"w-full text-left\">\n <p class=\"font-semibold mb-0 text-black\">{{ rowData[col.name].appId }}</p>\n <div class=\"flex gap-2 justify-content-start app-id-tags\">\n <!-- Type chip using style config (lending) -->\n <div *ngIf=\"rowData[col.name].type\" [ngClass]=\"getTypeContainerClass(rowData[col.name].type)\">\n <small class=\"mb-0\" [ngClass]=\"getTypeTextClass(rowData[col.name].type)\">\n {{ rowData[col.name].type }}\n </small>\n </div>\n <!-- Risk chip using style config (riskRating) -->\n <div *ngIf=\"rowData[col.name].risk && rowData[col.name].risk.toLowerCase() !== 'unknown'\"\n [ngClass]=\"getRiskContainerClass(rowData[col.name].risk)\">\n <small class=\"mb-0\" [ngClass]=\"getRiskTextClass(rowData[col.name].risk)\">\n {{ rowData[col.name].risk }}\n </small>\n </div>\n </div>\n </div>\n </ng-container>\n \n <!-- Broker with name and company name -->\n <ng-container *ngSwitchCase=\"'broker'\">\n <div class=\"w-full text-left\">\n <div class=\"font-medium\">{{ rowData[col.name].brokerName }}</div>\n <div *ngIf=\"rowData[col.name].brokerCompanyName\" class=\"text-gray-700\">\n {{ rowData[col.name].brokerCompanyName }}\n </div>\n </div>\n </ng-container>\n <!--Render two lines with dynamic classes for any two-line column -->\n <ng-container *ngSwitchCase=\"'twoLine'\">\n <div class=\"w-full\" [ngClass]=\"[\n getColumnAlignment(col.name) === 'justify-content-start' ? 'text-left' : 'text-center',\n rowData[col.name]?.containerClass || (col.containerNgClassExpression ? evaluateNgClass(col.containerNgClassExpression, rowData) : '')\n ]\">\n <div class=\"row-multi-line-wrapper flex align-items-center justify-content-center\">\n <i\n *ngIf=\"rowData[col.name]?.iconClass && rowData[col.name]?.addressLine1\"\n class=\"pi\"\n [ngClass]=\"[rowData[col.name].addressLine1, rowData[col.name].iconClass]\"\n ></i>\n <span\n *ngIf=\"!rowData[col.name]?.iconClass\"\n [ngClass]=\"getLine1DisplayClasses(col, rowData)\"\n >\n {{ rowData[col.name]?.addressLine1 }}\n </span>\n </div>\n <p class=\"row-multi-line-wrapper\"\n [ngClass]=\"rowData[col.name]?.textClass || (col.line2NgClassExpression ? evaluateNgClass(col.line2NgClassExpression, rowData) : '')\">\n {{ rowData[col.name]?.postCode }}\n </p>\n </div>\n </ng-container>\n <!-- progress bar -->\n <ng-container *ngSwitchCase=\"'progress'\">\n <div class=\"progress-wrapper\">\n <round-progress [current]=\"rowData['taskCompletionPercent']\" [max]=\"100\"\n [color]=\"getProgressColor(rowData['taskCompletionPercent'])\"\n [background]=\"getProgressBackground(rowData['taskCompletionPercent'])\" [radius]=\"125\" [stroke]=\"20\"\n [semicircle]=\"false\" [rounded]=\"true\" [clockwise]=\"true\" [responsive]=\"false\" [duration]=\"800\"\n [animation]=\"'easeInOutQuart'\" [animationDelay]=\"0\">\n </round-progress>\n <div class=\"progress-title\" [ngStyle]=\"{color: getProgressColor(rowData['taskCompletionPercent'])}\">\n {{ rowData[col.name] }}\n </div>\n </div>\n \n </ng-container>\n <!-- Default cell rendering for other columns -->\n <ng-container *ngSwitchDefault>\n <!-- Don't render default content if we have task items -->\n <ng-container *ngIf=\"!isTaskItemsArray(rowData[col.name])\">\n <div\n class=\"table-text-wrapper text-center p-0 flex align-items-center\"\n [ngClass]=\"[\n getRowClass(col, rowData),\n j === 0 ? 'justify-content-start' : 'justify-content-center'\n ]\"\n [ngStyle]=\"{ 'font-weight': col.name === table.showDecriptionFor ? 'bold' : 'normal' }\"\n >\n <div *ngIf=\"!col.skipParentNgClass\" [ngClass]=\"rowData[col.name]?.containerClass || (col.containerNgClassExpression ? evaluateNgClass(col.containerNgClassExpression, rowData) : '')\">\n <ng-container *ngTemplateOutlet=\"bubbleOrFallback\"></ng-container>\n </div>\n <ng-container *ngIf=\"col.skipParentNgClass\">\n <div class=\"w-full text-left\">\n <ng-container *ngTemplateOutlet=\"bubbleOrFallback\"></ng-container>\n </div>\n </ng-container>\n <ng-template #bubbleOrFallback>\n <ng-container *ngIf=\"isArray(rowData[col.name]) && rowData[col.name].length && rowData[col.name][0]?.fullName\">\n <div class=\"flex flex-column gap-1\">\n <ng-container *ngFor=\"let bubble of rowData[col.name]; let i = index\">\n <p\n class=\"mb-0\"\n [ngClass]=\"col.textNgClassExpression ? evaluateNgClass(col.textNgClassExpression, rowData) : 'text-gray-700'\"\n >\n {{ bubble.fullName }}\n </p>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"shouldShowValue(col, rowData)\">\n <div class=\"flex align-items-center gap-2\">\n <i\n *ngIf=\"rowData[col.name]?.icon\"\n class=\"pi\"\n [ngClass]=\"[rowData[col.name].icon, rowData[col.name].iconClass]\"\n ></i>\n <p class=\"mb-0\" [ngClass]=\"rowData[col.name]?.textClass || (col.textNgClassExpression ? evaluateNgClass(col.textNgClassExpression, rowData) : '')\">\n {{ rowData[col.name]?.text || rowData[col.name] }}\n </p>\n </div>\n </ng-container>\n </ng-template>\n <div\n *ngIf=\"col.name === table.showDecriptionFor && rowData[table.descriptionColumnName]\"\n class=\"text-black-500 text-sm mt-1\"\n style=\"font-weight: 600;\"\n >\n {{ rowData[table.descriptionColumnName] }}\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </td>\n <!-- Checkbox column -->\n <td *ngIf=\"selectionMode === 'multiple' && (!isUwLogin || (isUwLogin && (selectedQueueName === 'Unassigned')))\" class=\"text-right p-0 border-none bg-none table-body-row-wrapper\"\n style=\"width: 4rem\" (click)=\"$event.stopPropagation()\">\n <div class=\"table-body-wrapper table-select-row-wrapper flex align-items-center justify-content-end\"\n [ngClass]=\"[\n rowData.rowNgClassExpression ? evaluateNgClass(rowData.rowNgClassExpression, rowData) : '',\n isRowSelected(rowData) ? 'row-selected' : '',\n selection?.includes(rowData) ? 'green-highlight' : ''\n ]\">\n <p-tableCheckbox [value]=\"rowData\" [disabled]=\"!enableSelection\"></p-tableCheckbox>\n </div>\n </td>\n\n <!-- Actions column -->\n <td *ngIf=\"showActions\" class=\"action-data-wrapper text-left table-body-wrapper\">\n <div *ngIf=\"(rowData.isRowDelete !== null || rowData.canDelete !== undefined) ? (showActions && rowData.isRowDelete) : showActions\" class=\"flex align-items-center justify-content-center\">\n <p-button\n icon=\"pi pi-trash\"\n (click)=\"deleteRow($event, rowData)\"\n class=\"delete-icon-wrapper mr-3\"\n [disabled]=\"!enableSelection\"\n ></p-button>\n </div>\n </td>\n </tr>\n</ng-template>\n \n <!-- Empty Message -->\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td\n [attr.colspan]=\"table.headers.length + (showActions ? 1 : 0) + (selectionMode === 'multiple' ? 1 : 0)\"\n class=\"text-center text-color font-semibold p-4\"\n >\n {{ noRecordsMessage }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n\n<!-- Paginator -->\n <div class=\"paginator-container flex align-items-center justify-content-center table-pagination-wrapper\" *ngIf=\"usePagination\">\n <div class=\"pagination-text text-color\">\n Showing {{ (metaData?.totalItems ?? 0) > 0 ? (((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10) + 1) : 0 }} to {{ recordNumber }} of {{ metaData?.totalItems ?? 0 }} entries\n </div>\n\n <p-paginator\n #paginator\n [first]=\"((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10)\"\n [rows]=\"metaData?.itemsPerPage ?? 10\"\n [totalRecords]=\"metaData?.totalItems ?? 0\"\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\n (onPageChange)=\"handleLoadRecords($event)\"\n ></p-paginator>\n</div> ", styles: [".table-header-container{padding:20px 20px 20px 8px}.table-header-title{font-size:12px;font-weight:600;color:var(--text-color-tertiary)!important}.table-header-wrapper{padding:12px 14px}.queue-chip{display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;min-height:1.5rem;border-radius:9999px;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;gap:.25rem;background-color:#e5e7eb;color:#111827;border:1px solid transparent;width:fit-content;max-width:100%}.queue-chip--danger{background-color:var(--color-red-600, #dc2626);color:#fff}.queue-chip--warning{background-color:var(--color-amber-500, #f59e0b);color:#fff}.queue-chip--neutral{background-color:var(--color-gray-300, #d1d5db);color:#111827}.queue-chip--success{background-color:var(--color-green-500, #22c55e);color:#fff}.queue-chip--info{background-color:var(--color-blue-500, #3b82f6);color:#fff}.queue-chip--light-green-success{background-color:var(--color-green-50, #f0fdf4);color:var(--color-green-700, #15803d);border:1px solid var(--color-green-200, #bbf7d0)}.queue-chip--light-amber-warning{background-color:var(--color-amber-50, #fffbeb);color:var(--color-amber-700, #b45309);border:1px solid var(--color-amber-200, #fde68a)}.queue-chip--light-red-danger{background-color:var(--color-red-50, #fef2f2);color:var(--color-red-700, #b91c1c);border:1px solid var(--color-red-200, #fecaca)}.queue-chip--light-neutral{background-color:var(--color-blue-50, #eff6ff);color:var(--color-blue-700, #1e40af);border:1px solid var(--color-blue-200, #bfdbfe)}.table-body-wrapper{padding:12px 14px}.column-style-wrapper{height:80px;margin-bottom:16px}.column-style-wrapper-tall{height:110px}.bubble-seperator-wrapper{margin-left:-12px}.applicant-vulnerable-customer-wrapper{background-color:var(--color-red-600)}.applicant-red-badge-wrapper{background-color:var(--color-red-400)}.applicant-amber-badge-wrapper{background-color:var(--color-amber-500)}.applicant-success-badge-wrapper{background-color:var(--color-green-500)}.red-text-wrapper{color:var(--color-red-500)}.amber-text-wrapper{color:var(--color-amber-500)}.success-text-wrapper{color:var(--color-green-500)}.record_username{color:#0f8bfd}.table-title-wrapper{font-size:20px;font-weight:700}.table-action-title,.header-text-wrapper,.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}.verified-status{background-color:var(--green-500)}.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}.Verified{background-color:var(--green-400);padding:.3rem!important;border-radius:5px;color:#fff}.DirectDebitDetails{background-color:#b2eaf2;padding:.3rem!important;border-radius:5px;color:#00bcd4}.Application{background-color:#4caf501a;padding:.3rem!important;border-radius:5px;color:#4caf50}.Property{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}.Applicant,.ApplicationNote{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}.OnBoarding,.PropertyDetails{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}.Alert{background-color:var(--red-500);padding:.3rem!important;border-radius:5px;color:#fff}.Pending{background-color:var(--orange-300);padding:.3rem!important;border-radius:5px;color:#fff}.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}.table-pagination-wrapper{border-radius:0 0 10px 10px}::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 .record_username{color:var(--primary-color)}::ng-deep .table-title-wrapper{font-size:20px;font-weight:700}::ng-deep .table-action-title,::ng-deep .header-text-wrapper{border-right:1px solid var(--primary-border-color)!important}::ng-deep .table-action-title{border-radius:0 10px 0 0}::ng-deep .action-data-wrapper{border-right:1px solid var(--primary-border-color)!important}::ng-deep .enable-badge-wrapper{border-radius:4px;background:var(--green-500);color:var(--surface-0);text-align:center;padding:5px!important}::ng-deep .verified-status{background-color:var(--green-500)}::ng-deep .disable-badge-wrapper{border-radius:4px;background:#44486d;color:var(--surface-0);text-align:center;padding:5px!important}::ng-deep .search-input-wrapper{height:50px;border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}::ng-deep .Verified{background-color:var(--green-400);padding:.3rem!important;border-radius:5px;color:#fff}::ng-deep .DirectDebitDetails{background-color:#b2eaf2;padding:.3rem!important;border-radius:5px;color:#00bcd4}::ng-deep .Application{background-color:#4caf501a;padding:.3rem!important;border-radius:5px;color:#4caf50}::ng-deep .Property{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .Applicant{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}::ng-deep .ApplicationNote{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}::ng-deep .OnBoarding{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .PropertyDetails{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .Alert{background-color:var(--red-500);padding:.3rem!important;border-radius:5px;color:#fff}::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-secondary-container .p-datatable-table{background-color:#fff;table-layout:fixed}::ng-deep .table-secondary-container .p-datatable-table .p-datatable-thead{background-color:var(--color-surface)}::ng-deep .table-secondary-container .p-datatable-header{padding:20px 20px 0;border-radius:10px 10px 0 0!important;border:none!important}::ng-deep .table-secondary-container .p-datatable-thead th{border:1px solid rgba(68,72,109,.1);border-left:none;border-right:none}::ng-deep .table-secondary-container .p-datatable-thead th:first-child{border-radius:10px 0 0;border-left:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr td{border-bottom:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr td:first-child{border-left:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr:last-child td:first-child{border-radius:0 0 0 10px}::ng-deep .table-secondary-container tr:last-child td:last-child{border-radius:0 0 10px}::ng-deep .table-body-row-wrapper:first-child .border-row-wrapper{border-style:solid;border-width:1px 0 1px 1px;border-radius:.75rem 0 0 .75rem!important}::ng-deep .table-body-row-wrapper:not(:first-child):not(:last-child) .border-row-wrapper{border-style:solid;border-width:1px 0;border-radius:0!important}::ng-deep .table-body-row-wrapper:last-child .border-row-wrapper{border-style:solid;border-width:1px 1px 1px 0;border-radius:0 .75rem .75rem 0!important}::ng-deep .table-select-row-wrapper .border-row-wrapper{border-style:solid;border-width:1px 1px 1px 0;border-radius:0 .75rem .75rem 0!important}::ng-deep .table-row-wrapper:hover .table-body-wrapper{background-color:#0f8bfd05}.pending-badge-wrapper{background-color:#e5e7eb}:host ::ng-deep .p-checkbox-box.p-highlight{background-color:var(--color-green-500)!important;border-color:var(--color-green-500)!important}.green-highlight{background-color:var(--color-green-10)!important}:host ::ng-deep .p-checkbox-box.p-highlight .p-checkbox-icon{color:var(--color-surface-light)}:host ::ng-deep .p-checkbox-box:hover{border:1px solid #8a8ea6}:host ::ng-deep .p-checkbox-box.p-highlight:hover{background-color:var(--color-green-500)!important;border-color:var(--color-green-500)!important}@media screen and (min-width: 1200px) and (max-width: 1500px){.table-header-wrapper{padding:12px 8px;background-color:#fff}.table-body-wrapper{padding:8px}}.table-secondary-container tr th{border:none!important}.border-round-full{border-radius:50%!important}.col-tasks{display:flex;width:75px;padding-left:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px}.task-item{display:flex;align-items:center;justify-content:space-between;border-radius:9999px;padding:0 3px 0 12px;font-size:12px;font-weight:600;width:100%;max-width:60px}.task-warning{background-color:#fdecce;color:#f59e0b}.task-success{background-color:#c5f7d7;color:#16a34a}.task-default{background-color:transparent;color:#1f2937;border:1px solid #d1d5db}.task-badge{background-color:#fff;border-radius:9999px;padding:3px 8px;color:#1f2937}.task-warning .task-badge{border:1px solid #f59e0b}.task-success .task-badge{border:1px solid #16a34a}.app-id-tags{margin-top:7px}\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: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: SkeletonComponent, selector: "lib-skeleton", inputs: ["count", "columns", "width", "height", "isAllowCard"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i9.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: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i9.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i9.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i9.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3$3.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.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: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i12.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "ngmodule", type: RoundProgressModule }, { kind: "component", type: i14.RoundProgressComponent, selector: "round-progress", inputs: ["current", "max", "radius", "animation", "animationDelay", "duration", "stroke", "color", "background", "responsive", "clockwise", "semicircle", "rounded"], outputs: ["onRender"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3$2.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3374
3357
  }
3375
3358
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TableSecondaryComponent, decorators: [{
3376
3359
  type: Component,
3377
- args: [{ selector: 'lib-table-secondary', standalone: true, imports: [CommonModule, SkeletonComponent, TableModule, ButtonModule, ToggleButtonModule, FormsModule, InputSwitchModule, InputTextModule, TooltipModule, PaginatorModule, RoundProgressModule, CheckboxModule], changeDetection: ChangeDetectionStrategy.OnPush, template: " <lib-skeleton *ngIf=\"isShowSkeleton\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\r\n <p-table\r\n *ngIf=\"table && table.headers && !isShowSkeleton\"\r\n #dt2\r\n [lazy]=\"true\"\r\n (onSort)=\"onSort($event)\"\r\n [paginator]=\"false\"\r\n [rows]=\"metaData?.itemsPerPage ?? 10\"\r\n [totalRecords]=\"metaData?.totalItems ?? 0\"\r\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\r\n [first]=\"((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10)\"\r\n [columns]=\"table.headers\"\r\n class=\"table-secondary-container\"\r\n [value]=\"table.records\"\r\n [sortField]=\"sortField\"\r\n [sortOrder]=\"sortOrder\"\r\n [dataKey]=\"table.dataKey\"\r\n [selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selection\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [ngClass]=\"tableNgClassExpression ? evaluateNgClass(tableNgClassExpression, {}) : ''\"\r\n >\r\n <!-- Header -->\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr *ngIf=\"table.headers.length > 0\">\r\n <th\r\n *ngFor=\"let col of table.headers; let i = index\"\r\n class=\"table-header-wrapper bg-white\"\r\n [pSortableColumn]=\"col.name\"\r\n [pSortableColumnDisabled]=\"!(table.isSortingAllow && col.isShowSortIcon)\"\r\n [ngClass]=\"[col.width ? col.width : 'w-full', (!showActions && selectionMode !== 'multiple' && (i === table.headers.length - 1)) ? 'table-action-title' : '']\"\r\n style=\"min-width: 100px\"\r\n > \r\n <h4\r\n [ngClass]=\"[\r\n col.class || '', \r\n getColumnAlignment(col.name) === 'justify-content-start' ? 'justify-content-start text-left' : 'justify-content-center text-center'\r\n ]\"\r\n class=\"flex align-items-center table-header-title font-semibold m-0\">\r\n {{ col.displayName || col.name }}\r\n @if(table.isSortingAllow && col.isShowSortIcon){\r\n <p-sortIcon [field]=\"col.name\" />\r\n }\r\n </h4>\r\n </th>\r\n \r\n <th *ngIf=\"selectionMode === 'multiple' && (!isUwLogin || (isUwLogin && (selectedQueueName === 'Unassigned')))\" \r\n class=\"table-header-wrapper text-right table-action-title\" style=\"width: 6rem;\">\r\n <h4 class=\"flex align-items-center justify-content-end gap-2 table-header-title capitalize font-semibold m-0\">\r\n <span *ngIf=\"headerSelectionCount > 0\">\r\n ({{ headerSelectionCount }})\r\n </span>\r\n <p-checkbox\r\n [binary]=\"true\"\r\n [ngModel]=\"isAllCurrentPageSelected\"\r\n (ngModelChange)=\"handleSelectAllRowData($event)\"></p-checkbox>\r\n </h4>\r\n </th>\r\n \r\n <th\r\n *ngIf=\"showActions\"\r\n class=\"table-action-title table-header-wrapper\"\r\n [ngClass]=\"table.headers[0]?.width ? 'w-2' : 'w-2'\"\r\n >\r\n </th>\r\n \r\n </tr>\r\n </ng-template>\r\n \r\n <!-- 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 <!-- one TD per column -->\r\n <td *ngFor=\"let col of table.headers; let j = index\" class=\"p-0 border-none bg-none table-body-row-wrapper\"\r\n (click)=\"handleRowClick(rowData)\"\r\n [ngClass]=\"[rowData._columnWidths ? rowData._columnWidths?.[col.name] : col.width]\">\r\n <div class=\"table-body-wrapper table-row-card-wrapper\"\r\n [ngClass]=\"[\r\n rowData.rowNgClassExpression ? evaluateNgClass(rowData.rowNgClassExpression, rowData) : '',\r\n isRowSelected(rowData) ? 'row-selected' : '',\r\n selection?.includes(rowData) ? 'green-highlight' : ''\r\n ]\">\r\n \r\n <div class=\"flex align-items-center h-full\" [ngClass]=\"getColumnAlignment(col.name)\">\r\n <!-- your existing inner column wrapper -->\r\n <div class=\"row-wrapprt flex align-items-center\" [ngClass]=\"getColumnAlignment(col.name)\">\r\n <ng-container [ngSwitch]=\"getSwitchCase(rowData, col)\">\r\n <!-- task items - check this first -->\r\n <ng-container *ngSwitchCase=\"'taskItems'\">\r\n <div class=\"col-tasks\">\r\n <ng-container *ngFor=\"let taskItem of rowData[col.name]\">\r\n <div class=\"task-item\" [ngClass]=\"taskItem.status === 'warning' ? 'task-warning' : (taskItem.status === 'default' ? 'task-default' : 'task-success')\">\r\n <span class=\"font-semibold\">{{ taskItem.type }}</span>\r\n <span *ngIf=\"taskItem.count !== null && taskItem.count !== undefined\" class=\"task-badge\">{{ taskItem.count }}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n \r\n <!-- Finance amount with special styling -->\r\n <ng-container *ngSwitchCase=\"'finance'\">\r\n <p class=\"text-black font-semibold mb-0\">\r\n {{ rowData[col.name].amount }}\r\n </p>\r\n </ng-container>\r\n \r\n <!-- App ID with type and risk tags -->\r\n <ng-container *ngSwitchCase=\"'appId'\">\r\n <div class=\"w-full text-left\">\r\n <p class=\"font-semibold mb-0 text-black\">{{ rowData[col.name].appId }}</p>\r\n <div class=\"flex gap-2 justify-content-start app-id-tags\">\r\n <!-- Type chip using style config (lending) -->\r\n <div *ngIf=\"rowData[col.name].type\" [ngClass]=\"getTypeContainerClass(rowData[col.name].type)\">\r\n <small class=\"mb-0\" [ngClass]=\"getTypeTextClass(rowData[col.name].type)\">\r\n {{ rowData[col.name].type }}\r\n </small>\r\n </div>\r\n <!-- Risk chip using style config (riskRating) -->\r\n <div *ngIf=\"rowData[col.name].risk && rowData[col.name].risk.toLowerCase() !== 'unknown'\"\r\n [ngClass]=\"getRiskContainerClass(rowData[col.name].risk)\">\r\n <small class=\"mb-0\" [ngClass]=\"getRiskTextClass(rowData[col.name].risk)\">\r\n {{ rowData[col.name].risk }}\r\n </small>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n \r\n <!-- Broker with name and company name -->\r\n <ng-container *ngSwitchCase=\"'broker'\">\r\n <div class=\"w-full text-left\">\r\n <div class=\"font-medium\">{{ rowData[col.name].brokerName }}</div>\r\n <div *ngIf=\"rowData[col.name].brokerCompanyName\" class=\"text-gray-700\">\r\n {{ rowData[col.name].brokerCompanyName }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!--Render two lines with dynamic classes for any two-line column -->\r\n <ng-container *ngSwitchCase=\"'twoLine'\">\r\n <div class=\"w-full\" [ngClass]=\"[\r\n getColumnAlignment(col.name) === 'justify-content-start' ? 'text-left' : 'text-center',\r\n rowData[col.name]?.containerClass || (col.containerNgClassExpression ? evaluateNgClass(col.containerNgClassExpression, rowData) : '')\r\n ]\">\r\n <div class=\"row-multi-line-wrapper flex align-items-center justify-content-center\">\r\n <i\r\n *ngIf=\"rowData[col.name]?.iconClass && rowData[col.name]?.addressLine1\"\r\n class=\"pi\"\r\n [ngClass]=\"[rowData[col.name].addressLine1, rowData[col.name].iconClass]\"\r\n ></i>\r\n <span\r\n *ngIf=\"!rowData[col.name]?.iconClass\"\r\n [ngClass]=\"getLine1DisplayClasses(col, rowData)\"\r\n >\r\n {{ rowData[col.name]?.addressLine1 }}\r\n </span>\r\n </div>\r\n <p class=\"row-multi-line-wrapper\"\r\n [ngClass]=\"rowData[col.name]?.textClass || (col.line2NgClassExpression ? evaluateNgClass(col.line2NgClassExpression, rowData) : '')\">\r\n {{ rowData[col.name]?.postCode }}\r\n </p>\r\n </div>\r\n </ng-container>\r\n <!-- progress bar -->\r\n <ng-container *ngSwitchCase=\"'progress'\">\r\n <div class=\"progress-wrapper\">\r\n <round-progress [current]=\"rowData['taskCompletionPercent']\" [max]=\"100\"\r\n [color]=\"getProgressColor(rowData['taskCompletionPercent'])\"\r\n [background]=\"getProgressBackground(rowData['taskCompletionPercent'])\" [radius]=\"125\" [stroke]=\"20\"\r\n [semicircle]=\"false\" [rounded]=\"true\" [clockwise]=\"true\" [responsive]=\"false\" [duration]=\"800\"\r\n [animation]=\"'easeInOutQuart'\" [animationDelay]=\"0\">\r\n </round-progress>\r\n <div class=\"progress-title\" [ngStyle]=\"{color: getProgressColor(rowData['taskCompletionPercent'])}\">\r\n {{ rowData[col.name] }}\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n <!-- Default cell rendering for other columns -->\r\n <ng-container *ngSwitchDefault>\r\n <!-- Don't render default content if we have task items -->\r\n <ng-container *ngIf=\"!isTaskItemsArray(rowData[col.name])\">\r\n <div\r\n class=\"table-text-wrapper text-center p-0 flex align-items-center\"\r\n [ngClass]=\"[\r\n getRowClass(col, rowData),\r\n j === 0 ? 'justify-content-start' : 'justify-content-center'\r\n ]\"\r\n [ngStyle]=\"{ 'font-weight': col.name === table.showDecriptionFor ? 'bold' : 'normal' }\"\r\n >\r\n <div *ngIf=\"!col.skipParentNgClass\" [ngClass]=\"rowData[col.name]?.containerClass || (col.containerNgClassExpression ? evaluateNgClass(col.containerNgClassExpression, rowData) : '')\">\r\n <ng-container *ngTemplateOutlet=\"bubbleOrFallback\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"col.skipParentNgClass\">\r\n <div class=\"w-full text-left\">\r\n <ng-container *ngTemplateOutlet=\"bubbleOrFallback\"></ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-template #bubbleOrFallback>\r\n <ng-container *ngIf=\"isArray(rowData[col.name]) && rowData[col.name].length\">\r\n <div class=\"flex flex-column gap-1\">\r\n <ng-container *ngFor=\"let bubble of rowData[col.name]; let i = index\">\r\n <p\r\n *ngIf=\"bubble.fullName\"\r\n class=\"mb-0\"\r\n [ngClass]=\"[\r\n col.textNgClassExpression ? evaluateNgClass(col.textNgClassExpression, rowData) : 'text-gray-700',\r\n 'text-black font-semibold'\r\n ]\"\r\n >\r\n {{ bubble.fullName }}\r\n </p>\r\n <p\r\n *ngIf=\"bubble.inviteEmail\"\r\n class=\"mb-0 text-black font-semibold\"\r\n >\r\n {{ bubble.inviteEmail }}\r\n </p>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"shouldShowValue(col, rowData)\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i\r\n *ngIf=\"rowData[col.name]?.icon\"\r\n class=\"pi\"\r\n [ngClass]=\"[rowData[col.name].icon, rowData[col.name].iconClass]\"\r\n ></i>\r\n <p class=\"mb-0 text-black font-semibold\" [ngClass]=\"rowData[col.name]?.textClass || (col.textNgClassExpression ? evaluateNgClass(col.textNgClassExpression, rowData) : '')\">\r\n {{ rowData[col.name]?.text || rowData[col.name] }}\r\n </p>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n <div\r\n *ngIf=\"col.name === table.showDecriptionFor && rowData[table.descriptionColumnName]\"\r\n class=\"text-black-500 text-sm mt-1\"\r\n style=\"font-weight: 600;\"\r\n >\r\n {{ rowData[table.descriptionColumnName] }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </td>\r\n <!-- Checkbox column -->\r\n <td *ngIf=\"selectionMode === 'multiple' && (!isUwLogin || (isUwLogin && (selectedQueueName === 'Unassigned')))\" class=\"text-right p-0 border-none bg-none table-body-row-wrapper\"\r\n style=\"width: 4rem\" (click)=\"$event.stopPropagation()\">\r\n <div class=\"table-body-wrapper table-select-row-wrapper flex align-items-center justify-content-end\"\r\n [ngClass]=\"[\r\n rowData.rowNgClassExpression ? evaluateNgClass(rowData.rowNgClassExpression, rowData) : '',\r\n isRowSelected(rowData) ? 'row-selected' : '',\r\n selection?.includes(rowData) ? 'green-highlight' : ''\r\n ]\">\r\n <p-tableCheckbox [value]=\"rowData\" [disabled]=\"!enableSelection\"></p-tableCheckbox>\r\n </div>\r\n </td>\r\n\r\n <!-- Actions column -->\r\n <td *ngIf=\"showActions\" class=\"action-data-wrapper text-left table-body-wrapper\">\r\n <div *ngIf=\"(rowData.isRowDelete !== null || rowData.canDelete !== undefined) ? (showActions && rowData.isRowDelete) : showActions\" class=\"flex align-items-center justify-content-center\">\r\n <p-button\r\n icon=\"pi pi-trash\"\r\n (click)=\"deleteRow($event, rowData)\"\r\n class=\"delete-icon-wrapper mr-3\"\r\n [disabled]=\"!enableSelection\"\r\n ></p-button>\r\n </div>\r\n </td>\r\n </tr>\r\n</ng-template>\r\n \r\n <!-- Empty Message -->\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr>\r\n <td\r\n [attr.colspan]=\"table.headers.length + (showActions ? 1 : 0) + (selectionMode === 'multiple' ? 1 : 0)\"\r\n class=\"text-center text-color font-semibold p-4\"\r\n >\r\n {{ noRecordsMessage }}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n\r\n<!-- Paginator -->\r\n <div class=\"paginator-container flex align-items-center justify-content-center table-pagination-wrapper\" *ngIf=\"usePagination\">\r\n <div class=\"pagination-text text-color\">\r\n Showing {{ (metaData?.totalItems ?? 0) > 0 ? (((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10) + 1) : 0 }} to {{ recordNumber }} of {{ metaData?.totalItems ?? 0 }} entries\r\n </div>\r\n\r\n <p-paginator\r\n #paginator\r\n [first]=\"((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10)\"\r\n [rows]=\"metaData?.itemsPerPage ?? 10\"\r\n [totalRecords]=\"metaData?.totalItems ?? 0\"\r\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\r\n (onPageChange)=\"handleLoadRecords($event)\"\r\n ></p-paginator>\r\n</div> ", styles: [".table-header-container{padding:20px 20px 20px 8px}.table-header-title{font-size:12px;font-weight:600;color:var(--text-color-tertiary)!important}.table-header-wrapper{padding:12px 14px}.queue-chip{display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;min-height:1.5rem;border-radius:9999px;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;gap:.25rem;background-color:#e5e7eb;color:#111827;border:1px solid transparent;width:fit-content;max-width:100%}.queue-chip--danger{background-color:var(--color-red-600, #dc2626);color:#fff}.queue-chip--warning{background-color:var(--color-amber-500, #f59e0b);color:#fff}.queue-chip--neutral{background-color:var(--color-gray-300, #d1d5db);color:#111827}.queue-chip--success{background-color:var(--color-green-500, #22c55e);color:#fff}.queue-chip--info{background-color:var(--color-blue-500, #3b82f6);color:#fff}.queue-chip--light-green-success{background-color:var(--color-green-50, #f0fdf4);color:var(--color-green-700, #15803d);border:1px solid var(--color-green-200, #bbf7d0)}.queue-chip--light-amber-warning{background-color:var(--color-amber-50, #fffbeb);color:var(--color-amber-700, #b45309);border:1px solid var(--color-amber-200, #fde68a)}.queue-chip--light-red-danger{background-color:var(--color-red-50, #fef2f2);color:var(--color-red-700, #b91c1c);border:1px solid var(--color-red-200, #fecaca)}.queue-chip--light-neutral{background-color:var(--color-blue-50, #eff6ff);color:var(--color-blue-700, #1e40af);border:1px solid var(--color-blue-200, #bfdbfe)}.table-body-wrapper{padding:12px 14px}.column-style-wrapper{height:96px;margin-bottom:16px}.column-style-wrapper-tall{height:132px}.bubble-seperator-wrapper{margin-left:-12px}.applicant-vulnerable-customer-wrapper{background-color:var(--color-red-600)}.applicant-red-badge-wrapper{background-color:var(--color-red-400)}.applicant-amber-badge-wrapper{background-color:var(--color-amber-500)}.applicant-success-badge-wrapper{background-color:var(--color-green-500)}.red-text-wrapper{color:var(--color-red-500)}.amber-text-wrapper{color:var(--color-amber-500)}.success-text-wrapper{color:var(--color-green-500)}.record_username{color:#0f8bfd}.table-title-wrapper{font-size:20px;font-weight:700}.table-action-title,.header-text-wrapper,.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}.verified-status{background-color:var(--green-500)}.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}.Verified{background-color:var(--green-400);padding:.3rem!important;border-radius:5px;color:#fff}.DirectDebitDetails{background-color:#b2eaf2;padding:.3rem!important;border-radius:5px;color:#00bcd4}.Application{background-color:#4caf501a;padding:.3rem!important;border-radius:5px;color:#4caf50}.Property{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}.Applicant,.ApplicationNote{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}.OnBoarding,.PropertyDetails{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}.Alert{background-color:var(--red-500);padding:.3rem!important;border-radius:5px;color:#fff}.Pending{background-color:var(--orange-300);padding:.3rem!important;border-radius:5px;color:#fff}.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}.table-pagination-wrapper{border-radius:0 0 10px 10px}::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 .record_username{color:var(--primary-color)}::ng-deep .table-title-wrapper{font-size:20px;font-weight:700}::ng-deep .table-action-title,::ng-deep .header-text-wrapper{border-right:1px solid var(--primary-border-color)!important}::ng-deep .table-action-title{border-radius:0 10px 0 0}::ng-deep .action-data-wrapper{border-right:1px solid var(--primary-border-color)!important}::ng-deep .enable-badge-wrapper{border-radius:4px;background:var(--green-500);color:var(--surface-0);text-align:center;padding:5px!important}::ng-deep .verified-status{background-color:var(--green-500)}::ng-deep .disable-badge-wrapper{border-radius:4px;background:#44486d;color:var(--surface-0);text-align:center;padding:5px!important}::ng-deep .search-input-wrapper{height:50px;border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}::ng-deep .Verified{background-color:var(--green-400);padding:.3rem!important;border-radius:5px;color:#fff}::ng-deep .DirectDebitDetails{background-color:#b2eaf2;padding:.3rem!important;border-radius:5px;color:#00bcd4}::ng-deep .Application{background-color:#4caf501a;padding:.3rem!important;border-radius:5px;color:#4caf50}::ng-deep .Property{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .Applicant{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}::ng-deep .ApplicationNote{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}::ng-deep .OnBoarding{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .PropertyDetails{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .Alert{background-color:var(--red-500);padding:.3rem!important;border-radius:5px;color:#fff}::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-secondary-container .p-datatable-table{background-color:#fff;table-layout:fixed}::ng-deep .table-secondary-container .p-datatable-table .p-datatable-thead{background-color:var(--color-surface)}::ng-deep .table-secondary-container .p-datatable-header{padding:20px 20px 0;border-radius:10px 10px 0 0!important;border:none!important}::ng-deep .table-secondary-container .p-datatable-thead th{border:1px solid rgba(68,72,109,.1);border-left:none;border-right:none}::ng-deep .table-secondary-container .p-datatable-thead th:first-child{border-radius:10px 0 0;border-left:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr td{border-bottom:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr td:first-child{border-left:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr:last-child td:first-child{border-radius:0 0 0 10px}::ng-deep .table-secondary-container tr:last-child td:last-child{border-radius:0 0 10px}::ng-deep .table-body-row-wrapper:first-child .border-row-wrapper{border-style:solid;border-width:1px 0 1px 1px;border-radius:.75rem 0 0 .75rem!important}::ng-deep .table-body-row-wrapper:not(:first-child):not(:last-child) .border-row-wrapper{border-style:solid;border-width:1px 0;border-radius:0!important}::ng-deep .table-body-row-wrapper:last-child .border-row-wrapper{border-style:solid;border-width:1px 1px 1px 0;border-radius:0 .75rem .75rem 0!important}::ng-deep .table-select-row-wrapper .border-row-wrapper{border-style:solid;border-width:1px 1px 1px 0;border-radius:0 .75rem .75rem 0!important}::ng-deep .table-row-wrapper:hover .table-body-wrapper{background-color:#0f8bfd05}.pending-badge-wrapper{background-color:#e5e7eb}:host ::ng-deep .p-checkbox-box.p-highlight{background-color:var(--color-green-500)!important;border-color:var(--color-green-500)!important}.green-highlight{background-color:var(--color-green-10)!important}:host ::ng-deep .p-checkbox-box.p-highlight .p-checkbox-icon{color:var(--color-surface-light)}:host ::ng-deep .p-checkbox-box:hover{border:1px solid #8a8ea6}:host ::ng-deep .p-checkbox-box.p-highlight:hover{background-color:var(--color-green-500)!important;border-color:var(--color-green-500)!important}@media screen and (min-width: 1200px) and (max-width: 1500px){.table-header-wrapper{padding:12px 8px;background-color:#fff}.table-body-wrapper{padding:8px}}.table-secondary-container tr th{border:none!important}.border-round-full{border-radius:50%!important}.col-tasks{display:flex;width:75px;padding-left:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px}.task-item{display:flex;align-items:center;justify-content:space-between;border-radius:9999px;padding:0 3px 0 12px;font-size:12px;font-weight:600;width:100%;max-width:60px}.task-warning{background-color:#fdecce;color:#f59e0b}.task-success{background-color:#c5f7d7;color:#16a34a}.task-default{background-color:transparent;color:#1f2937;border:1px solid #d1d5db}.task-badge{background-color:#fff;border-radius:9999px;padding:3px 8px;color:#1f2937}.task-warning .task-badge{border:1px solid #f59e0b}.task-success .task-badge{border:1px solid #16a34a}.app-id-tags{margin-top:7px}\n"] }]
3360
+ args: [{ selector: 'lib-table-secondary', standalone: true, imports: [CommonModule, SkeletonComponent, TableModule, ButtonModule, ToggleButtonModule, FormsModule, InputSwitchModule, InputTextModule, TooltipModule, PaginatorModule, RoundProgressModule, CheckboxModule], changeDetection: ChangeDetectionStrategy.OnPush, template: " <lib-skeleton *ngIf=\"isShowSkeleton\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\n <p-table\n *ngIf=\"table && table.headers && !isShowSkeleton\"\n #dt2\n [lazy]=\"true\"\n (onSort)=\"onSort($event)\"\n [paginator]=\"false\"\n [rows]=\"metaData?.itemsPerPage ?? 10\"\n [totalRecords]=\"metaData?.totalItems ?? 0\"\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\n [first]=\"((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10)\"\n [columns]=\"table.headers\"\n class=\"table-secondary-container\"\n [value]=\"table.records\"\n [sortField]=\"sortField\"\n [sortOrder]=\"sortOrder\"\n [dataKey]=\"table.dataKey\"\n [selectionMode]=\"selectionMode\"\n [(selection)]=\"selection\"\n (selectionChange)=\"onSelectionChange($event)\"\n [ngClass]=\"tableNgClassExpression ? evaluateNgClass(tableNgClassExpression, {}) : ''\"\n >\n <!-- Header -->\n <ng-template pTemplate=\"header\" let-columns>\n <tr *ngIf=\"table.headers.length > 0\">\n <th\n *ngFor=\"let col of table.headers; let i = index\"\n class=\"table-header-wrapper bg-white\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"!(table.isSortingAllow && col.isShowSortIcon)\"\n [ngClass]=\"[col.width ? col.width : 'w-full', (!showActions && selectionMode !== 'multiple' && (i === table.headers.length - 1)) ? 'table-action-title' : '']\"\n style=\"min-width: 100px\"\n > \n <h4\n [ngClass]=\"[\n col.class || '', \n getColumnAlignment(col.name) === 'justify-content-start' ? 'justify-content-start text-left' : 'justify-content-center text-center'\n ]\"\n class=\"flex align-items-center table-header-title font-semibold m-0\">\n {{ col.displayName || col.name }}\n @if(table.isSortingAllow && col.isShowSortIcon){\n <p-sortIcon [field]=\"col.name\" />\n }\n </h4>\n </th>\n \n <th *ngIf=\"selectionMode === 'multiple' && (!isUwLogin || (isUwLogin && (selectedQueueName === 'Unassigned')))\" \n class=\"table-header-wrapper text-right table-action-title\" style=\"width: 6rem;\">\n <h4 class=\"flex align-items-center justify-content-end gap-2 table-header-title capitalize font-semibold m-0\">\n <span *ngIf=\"headerSelectionCount > 0\">\n ({{ headerSelectionCount }})\n </span>\n <p-checkbox\n [binary]=\"true\"\n [ngModel]=\"isAllCurrentPageSelected\"\n (ngModelChange)=\"handleSelectAllRowData($event)\"></p-checkbox>\n </h4>\n </th>\n \n <th\n *ngIf=\"showActions\"\n class=\"table-action-title table-header-wrapper\"\n [ngClass]=\"table.headers[0]?.width ? 'w-2' : 'w-2'\"\n >\n </th>\n \n </tr>\n </ng-template>\n \n <!-- Body -->\n<ng-template pTemplate=\"body\" let-rowData>\n <tr *ngIf=\"table.headers.length > 0\" class=\"table-row-wrapper relative table-group-wrapper\">\n <!-- one TD per column -->\n <td *ngFor=\"let col of table.headers; let j = index\" class=\"p-0 border-none bg-none table-body-row-wrapper\"\n (click)=\"handleRowClick(rowData)\"\n [ngClass]=\"[rowData._columnWidths ? rowData._columnWidths?.[col.name] : col.width]\">\n <div class=\"table-body-wrapper table-row-card-wrapper\"\n [ngClass]=\"[\n rowData.rowNgClassExpression ? evaluateNgClass(rowData.rowNgClassExpression, rowData) : '',\n isRowSelected(rowData) ? 'row-selected' : '',\n selection?.includes(rowData) ? 'green-highlight' : ''\n ]\">\n \n <div class=\"flex align-items-center h-full\" [ngClass]=\"getColumnAlignment(col.name)\">\n <!-- your existing inner column wrapper -->\n <div class=\"row-wrapprt flex align-items-center\" [ngClass]=\"getColumnAlignment(col.name)\">\n <ng-container [ngSwitch]=\"getSwitchCase(rowData, col)\">\n <!-- task items - check this first -->\n <ng-container *ngSwitchCase=\"'taskItems'\">\n <div class=\"col-tasks\">\n <ng-container *ngFor=\"let taskItem of rowData[col.name]\">\n <div class=\"task-item\" [ngClass]=\"taskItem.status === 'warning' ? 'task-warning' : (taskItem.status === 'default' ? 'task-default' : 'task-success')\">\n <span class=\"font-semibold\">{{ taskItem.type }}</span>\n <span *ngIf=\"taskItem.count !== null && taskItem.count !== undefined\" class=\"task-badge\">{{ taskItem.count }}</span>\n </div>\n </ng-container>\n </div>\n </ng-container>\n \n <!-- Finance amount with special styling -->\n <ng-container *ngSwitchCase=\"'finance'\">\n <p class=\"text-black font-semibold mb-0\">\n {{ rowData[col.name].amount }}\n </p>\n </ng-container>\n \n <!-- App ID with type and risk tags -->\n <ng-container *ngSwitchCase=\"'appId'\">\n <div class=\"w-full text-left\">\n <p class=\"font-semibold mb-0 text-black\">{{ rowData[col.name].appId }}</p>\n <div class=\"flex gap-2 justify-content-start app-id-tags\">\n <!-- Type chip using style config (lending) -->\n <div *ngIf=\"rowData[col.name].type\" [ngClass]=\"getTypeContainerClass(rowData[col.name].type)\">\n <small class=\"mb-0\" [ngClass]=\"getTypeTextClass(rowData[col.name].type)\">\n {{ rowData[col.name].type }}\n </small>\n </div>\n <!-- Risk chip using style config (riskRating) -->\n <div *ngIf=\"rowData[col.name].risk && rowData[col.name].risk.toLowerCase() !== 'unknown'\"\n [ngClass]=\"getRiskContainerClass(rowData[col.name].risk)\">\n <small class=\"mb-0\" [ngClass]=\"getRiskTextClass(rowData[col.name].risk)\">\n {{ rowData[col.name].risk }}\n </small>\n </div>\n </div>\n </div>\n </ng-container>\n \n <!-- Broker with name and company name -->\n <ng-container *ngSwitchCase=\"'broker'\">\n <div class=\"w-full text-left\">\n <div class=\"font-medium\">{{ rowData[col.name].brokerName }}</div>\n <div *ngIf=\"rowData[col.name].brokerCompanyName\" class=\"text-gray-700\">\n {{ rowData[col.name].brokerCompanyName }}\n </div>\n </div>\n </ng-container>\n <!--Render two lines with dynamic classes for any two-line column -->\n <ng-container *ngSwitchCase=\"'twoLine'\">\n <div class=\"w-full\" [ngClass]=\"[\n getColumnAlignment(col.name) === 'justify-content-start' ? 'text-left' : 'text-center',\n rowData[col.name]?.containerClass || (col.containerNgClassExpression ? evaluateNgClass(col.containerNgClassExpression, rowData) : '')\n ]\">\n <div class=\"row-multi-line-wrapper flex align-items-center justify-content-center\">\n <i\n *ngIf=\"rowData[col.name]?.iconClass && rowData[col.name]?.addressLine1\"\n class=\"pi\"\n [ngClass]=\"[rowData[col.name].addressLine1, rowData[col.name].iconClass]\"\n ></i>\n <span\n *ngIf=\"!rowData[col.name]?.iconClass\"\n [ngClass]=\"getLine1DisplayClasses(col, rowData)\"\n >\n {{ rowData[col.name]?.addressLine1 }}\n </span>\n </div>\n <p class=\"row-multi-line-wrapper\"\n [ngClass]=\"rowData[col.name]?.textClass || (col.line2NgClassExpression ? evaluateNgClass(col.line2NgClassExpression, rowData) : '')\">\n {{ rowData[col.name]?.postCode }}\n </p>\n </div>\n </ng-container>\n <!-- progress bar -->\n <ng-container *ngSwitchCase=\"'progress'\">\n <div class=\"progress-wrapper\">\n <round-progress [current]=\"rowData['taskCompletionPercent']\" [max]=\"100\"\n [color]=\"getProgressColor(rowData['taskCompletionPercent'])\"\n [background]=\"getProgressBackground(rowData['taskCompletionPercent'])\" [radius]=\"125\" [stroke]=\"20\"\n [semicircle]=\"false\" [rounded]=\"true\" [clockwise]=\"true\" [responsive]=\"false\" [duration]=\"800\"\n [animation]=\"'easeInOutQuart'\" [animationDelay]=\"0\">\n </round-progress>\n <div class=\"progress-title\" [ngStyle]=\"{color: getProgressColor(rowData['taskCompletionPercent'])}\">\n {{ rowData[col.name] }}\n </div>\n </div>\n \n </ng-container>\n <!-- Default cell rendering for other columns -->\n <ng-container *ngSwitchDefault>\n <!-- Don't render default content if we have task items -->\n <ng-container *ngIf=\"!isTaskItemsArray(rowData[col.name])\">\n <div\n class=\"table-text-wrapper text-center p-0 flex align-items-center\"\n [ngClass]=\"[\n getRowClass(col, rowData),\n j === 0 ? 'justify-content-start' : 'justify-content-center'\n ]\"\n [ngStyle]=\"{ 'font-weight': col.name === table.showDecriptionFor ? 'bold' : 'normal' }\"\n >\n <div *ngIf=\"!col.skipParentNgClass\" [ngClass]=\"rowData[col.name]?.containerClass || (col.containerNgClassExpression ? evaluateNgClass(col.containerNgClassExpression, rowData) : '')\">\n <ng-container *ngTemplateOutlet=\"bubbleOrFallback\"></ng-container>\n </div>\n <ng-container *ngIf=\"col.skipParentNgClass\">\n <div class=\"w-full text-left\">\n <ng-container *ngTemplateOutlet=\"bubbleOrFallback\"></ng-container>\n </div>\n </ng-container>\n <ng-template #bubbleOrFallback>\n <ng-container *ngIf=\"isArray(rowData[col.name]) && rowData[col.name].length && rowData[col.name][0]?.fullName\">\n <div class=\"flex flex-column gap-1\">\n <ng-container *ngFor=\"let bubble of rowData[col.name]; let i = index\">\n <p\n class=\"mb-0\"\n [ngClass]=\"col.textNgClassExpression ? evaluateNgClass(col.textNgClassExpression, rowData) : 'text-gray-700'\"\n >\n {{ bubble.fullName }}\n </p>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"shouldShowValue(col, rowData)\">\n <div class=\"flex align-items-center gap-2\">\n <i\n *ngIf=\"rowData[col.name]?.icon\"\n class=\"pi\"\n [ngClass]=\"[rowData[col.name].icon, rowData[col.name].iconClass]\"\n ></i>\n <p class=\"mb-0\" [ngClass]=\"rowData[col.name]?.textClass || (col.textNgClassExpression ? evaluateNgClass(col.textNgClassExpression, rowData) : '')\">\n {{ rowData[col.name]?.text || rowData[col.name] }}\n </p>\n </div>\n </ng-container>\n </ng-template>\n <div\n *ngIf=\"col.name === table.showDecriptionFor && rowData[table.descriptionColumnName]\"\n class=\"text-black-500 text-sm mt-1\"\n style=\"font-weight: 600;\"\n >\n {{ rowData[table.descriptionColumnName] }}\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </td>\n <!-- Checkbox column -->\n <td *ngIf=\"selectionMode === 'multiple' && (!isUwLogin || (isUwLogin && (selectedQueueName === 'Unassigned')))\" class=\"text-right p-0 border-none bg-none table-body-row-wrapper\"\n style=\"width: 4rem\" (click)=\"$event.stopPropagation()\">\n <div class=\"table-body-wrapper table-select-row-wrapper flex align-items-center justify-content-end\"\n [ngClass]=\"[\n rowData.rowNgClassExpression ? evaluateNgClass(rowData.rowNgClassExpression, rowData) : '',\n isRowSelected(rowData) ? 'row-selected' : '',\n selection?.includes(rowData) ? 'green-highlight' : ''\n ]\">\n <p-tableCheckbox [value]=\"rowData\" [disabled]=\"!enableSelection\"></p-tableCheckbox>\n </div>\n </td>\n\n <!-- Actions column -->\n <td *ngIf=\"showActions\" class=\"action-data-wrapper text-left table-body-wrapper\">\n <div *ngIf=\"(rowData.isRowDelete !== null || rowData.canDelete !== undefined) ? (showActions && rowData.isRowDelete) : showActions\" class=\"flex align-items-center justify-content-center\">\n <p-button\n icon=\"pi pi-trash\"\n (click)=\"deleteRow($event, rowData)\"\n class=\"delete-icon-wrapper mr-3\"\n [disabled]=\"!enableSelection\"\n ></p-button>\n </div>\n </td>\n </tr>\n</ng-template>\n \n <!-- Empty Message -->\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td\n [attr.colspan]=\"table.headers.length + (showActions ? 1 : 0) + (selectionMode === 'multiple' ? 1 : 0)\"\n class=\"text-center text-color font-semibold p-4\"\n >\n {{ noRecordsMessage }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n\n<!-- Paginator -->\n <div class=\"paginator-container flex align-items-center justify-content-center table-pagination-wrapper\" *ngIf=\"usePagination\">\n <div class=\"pagination-text text-color\">\n Showing {{ (metaData?.totalItems ?? 0) > 0 ? (((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10) + 1) : 0 }} to {{ recordNumber }} of {{ metaData?.totalItems ?? 0 }} entries\n </div>\n\n <p-paginator\n #paginator\n [first]=\"((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10)\"\n [rows]=\"metaData?.itemsPerPage ?? 10\"\n [totalRecords]=\"metaData?.totalItems ?? 0\"\n [rowsPerPageOptions]=\"[10, 20, 30, 40, 50]\"\n (onPageChange)=\"handleLoadRecords($event)\"\n ></p-paginator>\n</div> ", styles: [".table-header-container{padding:20px 20px 20px 8px}.table-header-title{font-size:12px;font-weight:600;color:var(--text-color-tertiary)!important}.table-header-wrapper{padding:12px 14px}.queue-chip{display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;min-height:1.5rem;border-radius:9999px;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;gap:.25rem;background-color:#e5e7eb;color:#111827;border:1px solid transparent;width:fit-content;max-width:100%}.queue-chip--danger{background-color:var(--color-red-600, #dc2626);color:#fff}.queue-chip--warning{background-color:var(--color-amber-500, #f59e0b);color:#fff}.queue-chip--neutral{background-color:var(--color-gray-300, #d1d5db);color:#111827}.queue-chip--success{background-color:var(--color-green-500, #22c55e);color:#fff}.queue-chip--info{background-color:var(--color-blue-500, #3b82f6);color:#fff}.queue-chip--light-green-success{background-color:var(--color-green-50, #f0fdf4);color:var(--color-green-700, #15803d);border:1px solid var(--color-green-200, #bbf7d0)}.queue-chip--light-amber-warning{background-color:var(--color-amber-50, #fffbeb);color:var(--color-amber-700, #b45309);border:1px solid var(--color-amber-200, #fde68a)}.queue-chip--light-red-danger{background-color:var(--color-red-50, #fef2f2);color:var(--color-red-700, #b91c1c);border:1px solid var(--color-red-200, #fecaca)}.queue-chip--light-neutral{background-color:var(--color-blue-50, #eff6ff);color:var(--color-blue-700, #1e40af);border:1px solid var(--color-blue-200, #bfdbfe)}.table-body-wrapper{padding:12px 14px}.column-style-wrapper{height:80px;margin-bottom:16px}.column-style-wrapper-tall{height:110px}.bubble-seperator-wrapper{margin-left:-12px}.applicant-vulnerable-customer-wrapper{background-color:var(--color-red-600)}.applicant-red-badge-wrapper{background-color:var(--color-red-400)}.applicant-amber-badge-wrapper{background-color:var(--color-amber-500)}.applicant-success-badge-wrapper{background-color:var(--color-green-500)}.red-text-wrapper{color:var(--color-red-500)}.amber-text-wrapper{color:var(--color-amber-500)}.success-text-wrapper{color:var(--color-green-500)}.record_username{color:#0f8bfd}.table-title-wrapper{font-size:20px;font-weight:700}.table-action-title,.header-text-wrapper,.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}.verified-status{background-color:var(--green-500)}.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}.Verified{background-color:var(--green-400);padding:.3rem!important;border-radius:5px;color:#fff}.DirectDebitDetails{background-color:#b2eaf2;padding:.3rem!important;border-radius:5px;color:#00bcd4}.Application{background-color:#4caf501a;padding:.3rem!important;border-radius:5px;color:#4caf50}.Property{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}.Applicant,.ApplicationNote{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}.OnBoarding,.PropertyDetails{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}.Alert{background-color:var(--red-500);padding:.3rem!important;border-radius:5px;color:#fff}.Pending{background-color:var(--orange-300);padding:.3rem!important;border-radius:5px;color:#fff}.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}.table-pagination-wrapper{border-radius:0 0 10px 10px}::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 .record_username{color:var(--primary-color)}::ng-deep .table-title-wrapper{font-size:20px;font-weight:700}::ng-deep .table-action-title,::ng-deep .header-text-wrapper{border-right:1px solid var(--primary-border-color)!important}::ng-deep .table-action-title{border-radius:0 10px 0 0}::ng-deep .action-data-wrapper{border-right:1px solid var(--primary-border-color)!important}::ng-deep .enable-badge-wrapper{border-radius:4px;background:var(--green-500);color:var(--surface-0);text-align:center;padding:5px!important}::ng-deep .verified-status{background-color:var(--green-500)}::ng-deep .disable-badge-wrapper{border-radius:4px;background:#44486d;color:var(--surface-0);text-align:center;padding:5px!important}::ng-deep .search-input-wrapper{height:50px;border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}::ng-deep .Verified{background-color:var(--green-400);padding:.3rem!important;border-radius:5px;color:#fff}::ng-deep .DirectDebitDetails{background-color:#b2eaf2;padding:.3rem!important;border-radius:5px;color:#00bcd4}::ng-deep .Application{background-color:#4caf501a;padding:.3rem!important;border-radius:5px;color:#4caf50}::ng-deep .Property{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .Applicant{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}::ng-deep .ApplicationNote{background-color:#f6a5c0;padding:.3rem!important;border-radius:5px;color:#e91e63}::ng-deep .OnBoarding{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .PropertyDetails{background-color:#d8dcf0;padding:.3rem!important;border-radius:5px;color:#3f51b5}::ng-deep .Alert{background-color:var(--red-500);padding:.3rem!important;border-radius:5px;color:#fff}::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-secondary-container .p-datatable-table{background-color:#fff;table-layout:fixed}::ng-deep .table-secondary-container .p-datatable-table .p-datatable-thead{background-color:var(--color-surface)}::ng-deep .table-secondary-container .p-datatable-header{padding:20px 20px 0;border-radius:10px 10px 0 0!important;border:none!important}::ng-deep .table-secondary-container .p-datatable-thead th{border:1px solid rgba(68,72,109,.1);border-left:none;border-right:none}::ng-deep .table-secondary-container .p-datatable-thead th:first-child{border-radius:10px 0 0;border-left:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr td{border-bottom:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr td:first-child{border-left:1px solid rgba(68,72,109,.1)}::ng-deep .table-secondary-container tr:last-child td:first-child{border-radius:0 0 0 10px}::ng-deep .table-secondary-container tr:last-child td:last-child{border-radius:0 0 10px}::ng-deep .table-body-row-wrapper:first-child .border-row-wrapper{border-style:solid;border-width:1px 0 1px 1px;border-radius:.75rem 0 0 .75rem!important}::ng-deep .table-body-row-wrapper:not(:first-child):not(:last-child) .border-row-wrapper{border-style:solid;border-width:1px 0;border-radius:0!important}::ng-deep .table-body-row-wrapper:last-child .border-row-wrapper{border-style:solid;border-width:1px 1px 1px 0;border-radius:0 .75rem .75rem 0!important}::ng-deep .table-select-row-wrapper .border-row-wrapper{border-style:solid;border-width:1px 1px 1px 0;border-radius:0 .75rem .75rem 0!important}::ng-deep .table-row-wrapper:hover .table-body-wrapper{background-color:#0f8bfd05}.pending-badge-wrapper{background-color:#e5e7eb}:host ::ng-deep .p-checkbox-box.p-highlight{background-color:var(--color-green-500)!important;border-color:var(--color-green-500)!important}.green-highlight{background-color:var(--color-green-10)!important}:host ::ng-deep .p-checkbox-box.p-highlight .p-checkbox-icon{color:var(--color-surface-light)}:host ::ng-deep .p-checkbox-box:hover{border:1px solid #8a8ea6}:host ::ng-deep .p-checkbox-box.p-highlight:hover{background-color:var(--color-green-500)!important;border-color:var(--color-green-500)!important}@media screen and (min-width: 1200px) and (max-width: 1500px){.table-header-wrapper{padding:12px 8px;background-color:#fff}.table-body-wrapper{padding:8px}}.table-secondary-container tr th{border:none!important}.border-round-full{border-radius:50%!important}.col-tasks{display:flex;width:75px;padding-left:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px}.task-item{display:flex;align-items:center;justify-content:space-between;border-radius:9999px;padding:0 3px 0 12px;font-size:12px;font-weight:600;width:100%;max-width:60px}.task-warning{background-color:#fdecce;color:#f59e0b}.task-success{background-color:#c5f7d7;color:#16a34a}.task-default{background-color:transparent;color:#1f2937;border:1px solid #d1d5db}.task-badge{background-color:#fff;border-radius:9999px;padding:3px 8px;color:#1f2937}.task-warning .task-badge{border:1px solid #f59e0b}.task-success .task-badge{border:1px solid #16a34a}.app-id-tags{margin-top:7px}\n"] }]
3378
3361
  }], ctorParameters: () => [{ type: i3$4.Router }, { type: BaseService }, { type: SessionService }, { type: BaseQuery }, { type: BaseStore }, { type: QueueBusinessService }, { type: QueueQuery$1 }], propDecorators: { table: [{
3379
3362
  type: Input
3380
3363
  }], metaData: [{
@@ -3641,11 +3624,11 @@ class ApiAdminFormComponent extends BaseFormComponent {
3641
3624
  super.ngOnDestroy();
3642
3625
  }
3643
3626
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminFormComponent, deps: [{ token: ApiAdminService }, { token: ValidatorService }, { token: i3$4.Router }, { token: i3$4.ActivatedRoute }, { token: ApiAdminStore }, { token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
3644
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: ApiAdminFormComponent, isStandalone: false, selector: "lib-api-admin-form", usesInheritance: true, ngImport: i0, template: "<form-container\r\n [record]=\"record\"\r\n [headerText]=\"'Api Management Form'\"\r\n [messages]=\"messages\"\r\n (onSave)=\"handleSubmit()\"\r\n [showSave]=\"true\" \r\n (onCancel)=\"handleCancel()\"\r\n>\r\n <div class=\"card p-fluid p-formgrid grid m-0 mb-6\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Api Management Form</h4>\r\n <div class=\"col-12 md:col-5\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Name',\r\n placeholder: 'Enter Name'\r\n }\"\r\n ></text-box>\r\n </div>\r\n <div class=\"col-12 md:col-5\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'path',\r\n isRequired: true,\r\n displayText: 'Path',\r\n placeholder: 'Enter Path'\r\n }\"\r\n ></text-box>\r\n </div>\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"apiAdminStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'getByIDPath',\r\n isRequired: false,\r\n displayText: 'Get By ID Path',\r\n placeholder: 'Enter getByID Path'\r\n }\"\r\n ></text-box>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'idProperty',\r\n isRequired: true,\r\n displayText: 'Id Property',\r\n placeholder: 'Enter Id Property'\r\n }\"\r\n ></text-box>\r\n </div>\r\n\r\n <div class=\"w-full px-2 mt-2 flex justify-content-end\">\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n label=\"Validate\"\r\n (click)=\"hanldeValidateApi()\"\r\n class=\"p-button-raised validate-btn-wrapper\"\r\n ></button>\r\n </div>\r\n </div>\r\n <div class=\"card p-fluid p-formgrid grid \">\r\n <h4 class=\"font-bold col-12 md:col-12\">Other Details</h4>\r\n <div class=\"col-12 md:col-12 p-0 m-0 flex align-items-center\">\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'authHeaderName',\r\n isRequired: false,\r\n displayText: 'Auth Header',\r\n placeholder: 'Enter Auth Header'\r\n }\"\r\n ></text-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'authToken',\r\n isRequired: false,\r\n displayText: 'Token',\r\n placeholder: 'Enter token'\r\n }\"\r\n ></text-box>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name: 'parentapiConfigId',\r\n dataSource: 'api-configurations',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id', \r\n displayText: 'Select Parent',\r\n placeholder: 'Select Parent API',\r\n childListName: 'parentKey',\r\n childListKey: 'name'\r\n }\"\r\n (onInput)=\"handleModelChange($event)\"\r\n ></dropdown>\r\n\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name:'parentKey',\r\n displayText : 'Property',\r\n placeholder: 'Select Property',\r\n options: apiPropertyList\r\n }\"></dropdown>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <text-area\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'description',\r\n isRequired: false,\r\n displayText: 'Description',\r\n placeholder: 'Enter Description'\r\n }\"\r\n ></text-area>\r\n </div>\r\n </div>\r\n</form-container>", styles: [".p-message{margin-left:1rem;margin-right:1rem}.p-message .p-message-wrapper{padding:.143rem 1.357rem}.validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}\n"], dependencies: [{ kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: TextAreaComponent, selector: "text-area", inputs: ["rowspan"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }], encapsulation: i0.ViewEncapsulation.None });
3627
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: ApiAdminFormComponent, isStandalone: false, selector: "lib-api-admin-form", usesInheritance: true, ngImport: i0, template: "<form-container\n [record]=\"record\"\n [headerText]=\"'Api Management Form'\"\n [messages]=\"messages\"\n (onSave)=\"handleSubmit()\"\n [showSave]=\"true\" \n (onCancel)=\"handleCancel()\"\n>\n <div class=\"card p-fluid p-formgrid grid m-0 mb-6\">\n <h4 class=\"font-bold col-12 md:col-12\">Api Management Form</h4>\n <div class=\"col-12 md:col-5\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'name',\n isRequired: true,\n displayText: 'Name',\n placeholder: 'Enter Name'\n }\"\n ></text-box>\n </div>\n <div class=\"col-12 md:col-5\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'path',\n isRequired: true,\n displayText: 'Path',\n placeholder: 'Enter Path'\n }\"\n ></text-box>\n </div>\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"apiAdminStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n <div class=\"col-12 md:col-6\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'getByIDPath',\n isRequired: false,\n displayText: 'Get By ID Path',\n placeholder: 'Enter getByID Path'\n }\"\n ></text-box>\n </div>\n <div class=\"col-12 md:col-6\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'idProperty',\n isRequired: true,\n displayText: 'Id Property',\n placeholder: 'Enter Id Property'\n }\"\n ></text-box>\n </div>\n\n <div class=\"w-full px-2 mt-2 flex justify-content-end\">\n <button\n pButton\n pRipple\n type=\"button\"\n label=\"Validate\"\n (click)=\"hanldeValidateApi()\"\n class=\"p-button-raised validate-btn-wrapper\"\n ></button>\n </div>\n </div>\n <div class=\"card p-fluid p-formgrid grid \">\n <h4 class=\"font-bold col-12 md:col-12\">Other Details</h4>\n <div class=\"col-12 md:col-12 p-0 m-0 flex align-items-center\">\n <div class=\"col-12 md:col-6\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'authHeaderName',\n isRequired: false,\n displayText: 'Auth Header',\n placeholder: 'Enter Auth Header'\n }\"\n ></text-box>\n </div>\n\n <div class=\"col-12 md:col-6\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'authToken',\n isRequired: false,\n displayText: 'Token',\n placeholder: 'Enter token'\n }\"\n ></text-box>\n </div>\n </div>\n <div class=\"col-12 md:col-6\">\n <dropdown\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n name: 'parentapiConfigId',\n dataSource: 'api-configurations',\n listLabelProperty: 'name',\n listValueProperty: '_id', \n displayText: 'Select Parent',\n placeholder: 'Select Parent API',\n childListName: 'parentKey',\n childListKey: 'name'\n }\"\n (onInput)=\"handleModelChange($event)\"\n ></dropdown>\n\n </div>\n <div class=\"col-12 md:col-6\">\n <dropdown\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n name:'parentKey',\n displayText : 'Property',\n placeholder: 'Select Property',\n options: apiPropertyList\n }\"></dropdown>\n </div>\n\n <div class=\"col-12 md:col-12\">\n <text-area\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'description',\n isRequired: false,\n displayText: 'Description',\n placeholder: 'Enter Description'\n }\"\n ></text-area>\n </div>\n </div>\n</form-container>", styles: [".p-message{margin-left:1rem;margin-right:1rem}.p-message .p-message-wrapper{padding:.143rem 1.357rem}.validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}\n"], dependencies: [{ kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: TextAreaComponent, selector: "text-area", inputs: ["rowspan"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }], encapsulation: i0.ViewEncapsulation.None });
3645
3628
  }
3646
3629
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminFormComponent, decorators: [{
3647
3630
  type: Component,
3648
- args: [{ selector: 'lib-api-admin-form', standalone: false, encapsulation: ViewEncapsulation.None, template: "<form-container\r\n [record]=\"record\"\r\n [headerText]=\"'Api Management Form'\"\r\n [messages]=\"messages\"\r\n (onSave)=\"handleSubmit()\"\r\n [showSave]=\"true\" \r\n (onCancel)=\"handleCancel()\"\r\n>\r\n <div class=\"card p-fluid p-formgrid grid m-0 mb-6\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Api Management Form</h4>\r\n <div class=\"col-12 md:col-5\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Name',\r\n placeholder: 'Enter Name'\r\n }\"\r\n ></text-box>\r\n </div>\r\n <div class=\"col-12 md:col-5\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'path',\r\n isRequired: true,\r\n displayText: 'Path',\r\n placeholder: 'Enter Path'\r\n }\"\r\n ></text-box>\r\n </div>\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"apiAdminStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'getByIDPath',\r\n isRequired: false,\r\n displayText: 'Get By ID Path',\r\n placeholder: 'Enter getByID Path'\r\n }\"\r\n ></text-box>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'idProperty',\r\n isRequired: true,\r\n displayText: 'Id Property',\r\n placeholder: 'Enter Id Property'\r\n }\"\r\n ></text-box>\r\n </div>\r\n\r\n <div class=\"w-full px-2 mt-2 flex justify-content-end\">\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n label=\"Validate\"\r\n (click)=\"hanldeValidateApi()\"\r\n class=\"p-button-raised validate-btn-wrapper\"\r\n ></button>\r\n </div>\r\n </div>\r\n <div class=\"card p-fluid p-formgrid grid \">\r\n <h4 class=\"font-bold col-12 md:col-12\">Other Details</h4>\r\n <div class=\"col-12 md:col-12 p-0 m-0 flex align-items-center\">\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'authHeaderName',\r\n isRequired: false,\r\n displayText: 'Auth Header',\r\n placeholder: 'Enter Auth Header'\r\n }\"\r\n ></text-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'authToken',\r\n isRequired: false,\r\n displayText: 'Token',\r\n placeholder: 'Enter token'\r\n }\"\r\n ></text-box>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name: 'parentapiConfigId',\r\n dataSource: 'api-configurations',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id', \r\n displayText: 'Select Parent',\r\n placeholder: 'Select Parent API',\r\n childListName: 'parentKey',\r\n childListKey: 'name'\r\n }\"\r\n (onInput)=\"handleModelChange($event)\"\r\n ></dropdown>\r\n\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name:'parentKey',\r\n displayText : 'Property',\r\n placeholder: 'Select Property',\r\n options: apiPropertyList\r\n }\"></dropdown>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <text-area\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'description',\r\n isRequired: false,\r\n displayText: 'Description',\r\n placeholder: 'Enter Description'\r\n }\"\r\n ></text-area>\r\n </div>\r\n </div>\r\n</form-container>", styles: [".p-message{margin-left:1rem;margin-right:1rem}.p-message .p-message-wrapper{padding:.143rem 1.357rem}.validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}\n"] }]
3631
+ args: [{ selector: 'lib-api-admin-form', standalone: false, encapsulation: ViewEncapsulation.None, template: "<form-container\n [record]=\"record\"\n [headerText]=\"'Api Management Form'\"\n [messages]=\"messages\"\n (onSave)=\"handleSubmit()\"\n [showSave]=\"true\" \n (onCancel)=\"handleCancel()\"\n>\n <div class=\"card p-fluid p-formgrid grid m-0 mb-6\">\n <h4 class=\"font-bold col-12 md:col-12\">Api Management Form</h4>\n <div class=\"col-12 md:col-5\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'name',\n isRequired: true,\n displayText: 'Name',\n placeholder: 'Enter Name'\n }\"\n ></text-box>\n </div>\n <div class=\"col-12 md:col-5\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'path',\n isRequired: true,\n displayText: 'Path',\n placeholder: 'Enter Path'\n }\"\n ></text-box>\n </div>\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"apiAdminStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n <div class=\"col-12 md:col-6\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'getByIDPath',\n isRequired: false,\n displayText: 'Get By ID Path',\n placeholder: 'Enter getByID Path'\n }\"\n ></text-box>\n </div>\n <div class=\"col-12 md:col-6\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'idProperty',\n isRequired: true,\n displayText: 'Id Property',\n placeholder: 'Enter Id Property'\n }\"\n ></text-box>\n </div>\n\n <div class=\"w-full px-2 mt-2 flex justify-content-end\">\n <button\n pButton\n pRipple\n type=\"button\"\n label=\"Validate\"\n (click)=\"hanldeValidateApi()\"\n class=\"p-button-raised validate-btn-wrapper\"\n ></button>\n </div>\n </div>\n <div class=\"card p-fluid p-formgrid grid \">\n <h4 class=\"font-bold col-12 md:col-12\">Other Details</h4>\n <div class=\"col-12 md:col-12 p-0 m-0 flex align-items-center\">\n <div class=\"col-12 md:col-6\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'authHeaderName',\n isRequired: false,\n displayText: 'Auth Header',\n placeholder: 'Enter Auth Header'\n }\"\n ></text-box>\n </div>\n\n <div class=\"col-12 md:col-6\">\n <text-box\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'authToken',\n isRequired: false,\n displayText: 'Token',\n placeholder: 'Enter token'\n }\"\n ></text-box>\n </div>\n </div>\n <div class=\"col-12 md:col-6\">\n <dropdown\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n name: 'parentapiConfigId',\n dataSource: 'api-configurations',\n listLabelProperty: 'name',\n listValueProperty: '_id', \n displayText: 'Select Parent',\n placeholder: 'Select Parent API',\n childListName: 'parentKey',\n childListKey: 'name'\n }\"\n (onInput)=\"handleModelChange($event)\"\n ></dropdown>\n\n </div>\n <div class=\"col-12 md:col-6\">\n <dropdown\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n name:'parentKey',\n displayText : 'Property',\n placeholder: 'Select Property',\n options: apiPropertyList\n }\"></dropdown>\n </div>\n\n <div class=\"col-12 md:col-12\">\n <text-area\n [store]=\"apiAdminStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'description',\n isRequired: false,\n displayText: 'Description',\n placeholder: 'Enter Description'\n }\"\n ></text-area>\n </div>\n </div>\n</form-container>", styles: [".p-message{margin-left:1rem;margin-right:1rem}.p-message .p-message-wrapper{padding:.143rem 1.357rem}.validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}\n"] }]
3649
3632
  }], ctorParameters: () => [{ type: ApiAdminService }, { type: ValidatorService }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: ApiAdminStore }, { type: BaseStore }, { type: BaseQuery }] });
3650
3633
 
3651
3634
  class PERMISSION {
@@ -3682,11 +3665,11 @@ class ApiAdminListComponent extends BaseListComponent {
3682
3665
  this.init();
3683
3666
  }
3684
3667
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminListComponent, deps: [{ token: ApiAdminService }, { token: TableBuilder }], target: i0.ɵɵFactoryTarget.Component });
3685
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: ApiAdminListComponent, isStandalone: false, selector: "lib-api-admin-list", usesInheritance: true, ngImport: i0, template: "\r\n@if(table){\r\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\r\n </lib-table-primary>\r\n}", styles: [""], dependencies: [{ kind: "component", type: TablePrimaryComponent, selector: "lib-table-primary", inputs: ["table", "metaData", "title", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName"] }] });
3668
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: ApiAdminListComponent, isStandalone: false, selector: "lib-api-admin-list", usesInheritance: true, ngImport: i0, template: "\n@if(table){\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\n </lib-table-primary>\n}", styles: [""], dependencies: [{ kind: "component", type: TablePrimaryComponent, selector: "lib-table-primary", inputs: ["table", "metaData", "title", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName"] }] });
3686
3669
  }
3687
3670
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminListComponent, decorators: [{
3688
3671
  type: Component,
3689
- args: [{ selector: 'lib-api-admin-list', standalone: false, template: "\r\n@if(table){\r\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\r\n </lib-table-primary>\r\n}" }]
3672
+ args: [{ selector: 'lib-api-admin-list', standalone: false, template: "\n@if(table){\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\n </lib-table-primary>\n}" }]
3690
3673
  }], ctorParameters: () => [{ type: ApiAdminService }, { type: TableBuilder }] });
3691
3674
 
3692
3675
  class ApiAdminModule {
@@ -4089,11 +4072,11 @@ class WidgetAdminListComponent extends BaseListComponent {
4089
4072
  this.init();
4090
4073
  }
4091
4074
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminListComponent, deps: [{ token: WidgetAdminService }, { token: TableBuilder }], target: i0.ɵɵFactoryTarget.Component });
4092
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetAdminListComponent, isStandalone: false, selector: "lib-widget-admin-list", usesInheritance: true, ngImport: i0, template: "@if(table){\r\n<lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\r\n\r\n</lib-table-primary>\r\n}", styles: [""], dependencies: [{ kind: "component", type: TablePrimaryComponent, selector: "lib-table-primary", inputs: ["table", "metaData", "title", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName"] }] });
4075
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetAdminListComponent, isStandalone: false, selector: "lib-widget-admin-list", usesInheritance: true, ngImport: i0, template: "@if(table){\n<lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\n\n</lib-table-primary>\n}", styles: [""], dependencies: [{ kind: "component", type: TablePrimaryComponent, selector: "lib-table-primary", inputs: ["table", "metaData", "title", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName"] }] });
4093
4076
  }
4094
4077
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminListComponent, decorators: [{
4095
4078
  type: Component,
4096
- args: [{ selector: 'lib-widget-admin-list', standalone: false, template: "@if(table){\r\n<lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\r\n\r\n</lib-table-primary>\r\n}" }]
4079
+ args: [{ selector: 'lib-widget-admin-list', standalone: false, template: "@if(table){\n<lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\n\n</lib-table-primary>\n}" }]
4097
4080
  }], ctorParameters: () => [{ type: WidgetAdminService }, { type: TableBuilder }] });
4098
4081
 
4099
4082
  /**
@@ -4489,11 +4472,11 @@ class WidgetAdminFormComponent extends BaseFormComponent {
4489
4472
  super.ngOnDestroy();
4490
4473
  }
4491
4474
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminFormComponent, deps: [{ token: WidgetAdminService }, { token: ValidatorService }, { token: WidgetAdminStore }, { token: WidgetAdminQuery }, { token: i3$4.Router }, { token: i3$4.ActivatedRoute }, { token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
4492
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetAdminFormComponent, isStandalone: false, selector: "lib-widget-admin-form", usesInheritance: true, ngImport: i0, template: "<form-container [record]=\"record\" [showSave]=\"true\" [messages]=\"message\" (onSave)=\"handleSubmit()\"\r\n (onCancel)=\"handleCancel()\">\r\n <div class=\"card p-fluid p-formgrid\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Widget Form</h4>\r\n <div class=\"col-12 md:col-12 mt-2 mb-2 flex\">\r\n <div class=\"col-3 md:col-3 mt-2 mb-2\">\r\n <text-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Name',\r\n placeholder: 'Enter Widget Name'\r\n }\"></text-box>\r\n </div>\r\n\r\n <div class=\"col-3 md:col-3 mt-2 mb-2\">\r\n <dropdown [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'apiConfigId',\r\n displayText : 'Select API',\r\n isRequired:true,\r\n }\" (onInput)=\"handleApiConfigChange($event)\">\r\n </dropdown>\r\n </div>\r\n\r\n <div class=\"col-4 md:col-4 mt-2 mb-2\">\r\n <text-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly: false,\r\n name: 'style',\r\n isRequired: false,\r\n displayText: 'Style',\r\n placeholder: 'Enter Widget Style'\r\n }\"></text-box>\r\n </div>\r\n\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n </div>\r\n <div class=\"grid align-items-center m-0\">\r\n <div class=\"col-6 md:col-5 mt-2 mb-2 flex\">\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'headerDictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n options: dictionaries\r\n }\" (onInput)=\"handleHeaderDictionarySelect($event)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'headerDictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select Header Item',\r\n options: headerDictionaryItems\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"col-6 md:col-5 mt-2 mb-2 flex\">\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'subHeaderDictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n options: dictionaries\r\n }\" (onInput)=\"handleSubHeaderDictionarySelect($event)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'subHeaderDictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select SubHeader Item',\r\n options: subHeaderDictionaryItems\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"col-6 md:col-2 mt-2 mb-2 flex\">\r\n <div class=\"field col-12 pl-2 pb-0 mb-2 md:mr-2 md:col-12\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'layoutType',\r\n listLabelProperty:'name',\r\n listValueProperty:'value',\r\n displayText : 'Select Layout Type',\r\n options: widgetLayoutTypeList\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field p-0 pr-2 col-12 md:col-12 flex gap-2\">\r\n <div class=\"col-6 md:col-2\">\r\n <div class=\"card m-0 p-0 mb-2\">\r\n <div class=\"mt-3 w-full flex\">\r\n <button pButton pRipple routerLinkActive=\"router-link-active\"\r\n icon=\"pi pi-plus font-semibold\"\r\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\r\n (click)=\"handleBadgeAddBtnClick()\">\r\n <span class=\"ml-3\">Add Badge </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6 md:col-2\">\r\n <div class=\"card m-0 p-0 mb-2\">\r\n <div class=\"mt-3 w-full flex\">\r\n <button pButton pRipple routerLinkActive=\"router-link-active\"\r\n icon=\"pi pi-plus font-semibold\"\r\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\r\n (click)=\"handleWidgetItemAddBtnClick()\">\r\n <span class=\"ml-3\">Add Widget Item </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Badges Section -->\r\n <div class=\"field p-0 pr-2 col-12 md:col-12 mb-3\">\r\n <h5 *ngIf=\"(record?.badges?.length ?? 0) > 0\" class=\"font-bold col-12 md:col-12 mb-2\">Badges</h5>\r\n <div class=\"feild-card col-12 md:col-12 flex\" *ngFor=\"let badge of (record?.badges || []); let i = index;\">\r\n <div class=\"field col-3 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"badge\" [attributeModel]=\"{\r\n name:'dictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n isRequired:true,\r\n options: dictionaries\r\n }\" (onInput)=\"handleBadgeDictionarySelect($event, i)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-3 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"badge\" [attributeModel]=\"{\r\n name:'dictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select Properties',\r\n isRequired:true,\r\n options: badgeDictionaryItemArray[i]\r\n }\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-4 col-sm-6\">\r\n <text-box [store]=\"widgetStore\" [record]=\"badge\" [attributeModel]=\"{\r\n name : 'style',\r\n readonly : false,\r\n displayText : 'Style',\r\n isRequired : false,\r\n }\"></text-box>\r\n </div>\r\n <div class=\"field col-2 m-0 flex justify-content-start md:col-2 mt-5\">\r\n <div class=\"ml-4 delete-icon-container\">\r\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleDeleteBadge(i)\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Widget Items -->\r\n <h5 *ngIf=\"(record?.dataItems?.length ?? 0) > 0\" class=\"font-bold col-12 md:col-12 mb-2\">Widget Items</h5>\r\n <div class=\"feild-card col-12 md:col-12 flex\" *ngFor=\"let widgetItem of (record?.dataItems || []); let i = index;\">\r\n <div class=\"field col-2 col-sm-6\">\r\n <text-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name : 'name',\r\n readonly : false,\r\n displayText : 'Item Label',\r\n isRequired : true,\r\n }\"></text-box>\r\n </div>\r\n <div class=\"field col-2 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'dictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n isRequired:true,\r\n options: dictionaries\r\n }\" (onInput)=\"handleWidgetItemDictionarySelect($event, i)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-2 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'dictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select Properties',\r\n isRequired:true,\r\n options: dictionaryItemArray[i]\r\n }\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-4 col-sm-6\">\r\n <text-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name : 'style',\r\n readonly : false,\r\n displayText : 'Item Style',\r\n isRequired : false,\r\n }\"></text-box>\r\n </div>\r\n <div class=\"field col-4 m-0 flex justify-content-center md:col-2 mt-5\">\r\n <div class=\"m-0\">\r\n <check-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Is Active ?',\r\n }\">\r\n </check-box>\r\n </div>\r\n <div class=\"ml-4 delete-icon-container\">\r\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleWidgetItemDelete(i)\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }] });
4475
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetAdminFormComponent, isStandalone: false, selector: "lib-widget-admin-form", usesInheritance: true, ngImport: i0, template: "<form-container [record]=\"record\" [showSave]=\"true\" [messages]=\"message\" (onSave)=\"handleSubmit()\"\n (onCancel)=\"handleCancel()\">\n <div class=\"card p-fluid p-formgrid\">\n <h4 class=\"font-bold col-12 md:col-12\">Widget Form</h4>\n <div class=\"col-12 md:col-12 mt-2 mb-2 flex\">\n <div class=\"col-3 md:col-3 mt-2 mb-2\">\n <text-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\n readonly: false,\n name: 'name',\n isRequired: true,\n displayText: 'Name',\n placeholder: 'Enter Widget Name'\n }\"></text-box>\n </div>\n\n <div class=\"col-3 md:col-3 mt-2 mb-2\">\n <dropdown [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\n name:'apiConfigId',\n displayText : 'Select API',\n isRequired:true,\n }\" (onInput)=\"handleApiConfigChange($event)\">\n </dropdown>\n </div>\n\n <div class=\"col-4 md:col-4 mt-2 mb-2\">\n <text-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\n readonly: false,\n name: 'style',\n isRequired: false,\n displayText: 'Style',\n placeholder: 'Enter Widget Style'\n }\"></text-box>\n </div>\n\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n </div>\n <div class=\"grid align-items-center m-0\">\n <div class=\"col-6 md:col-5 mt-2 mb-2 flex\">\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name:'headerDictionaryID',\n listLabelProperty:'name',\n listValueProperty:'_id',\n displayText : 'Select Dictionary',\n options: dictionaries\n }\" (onInput)=\"handleHeaderDictionarySelect($event)\">\n </dropdown>\n </div>\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name:'headerDictionaryItemID',\n listLabelProperty:'itemName',\n listValueProperty:'_id',\n displayText : 'Select Header Item',\n options: headerDictionaryItems\n }\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-6 md:col-5 mt-2 mb-2 flex\">\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name:'subHeaderDictionaryID',\n listLabelProperty:'name',\n listValueProperty:'_id',\n displayText : 'Select Dictionary',\n options: dictionaries\n }\" (onInput)=\"handleSubHeaderDictionarySelect($event)\">\n </dropdown>\n </div>\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name:'subHeaderDictionaryItemID',\n listLabelProperty:'itemName',\n listValueProperty:'_id',\n displayText : 'Select SubHeader Item',\n options: subHeaderDictionaryItems\n }\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-6 md:col-2 mt-2 mb-2 flex\">\n <div class=\"field col-12 pl-2 pb-0 mb-2 md:mr-2 md:col-12\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name:'layoutType',\n listLabelProperty:'name',\n listValueProperty:'value',\n displayText : 'Select Layout Type',\n options: widgetLayoutTypeList\n }\">\n </dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"field p-0 pr-2 col-12 md:col-12 flex gap-2\">\n <div class=\"col-6 md:col-2\">\n <div class=\"card m-0 p-0 mb-2\">\n <div class=\"mt-3 w-full flex\">\n <button pButton pRipple routerLinkActive=\"router-link-active\"\n icon=\"pi pi-plus font-semibold\"\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\n (click)=\"handleBadgeAddBtnClick()\">\n <span class=\"ml-3\">Add Badge </span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"col-6 md:col-2\">\n <div class=\"card m-0 p-0 mb-2\">\n <div class=\"mt-3 w-full flex\">\n <button pButton pRipple routerLinkActive=\"router-link-active\"\n icon=\"pi pi-plus font-semibold\"\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\n (click)=\"handleWidgetItemAddBtnClick()\">\n <span class=\"ml-3\">Add Widget Item </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Badges Section -->\n <div class=\"field p-0 pr-2 col-12 md:col-12 mb-3\">\n <h5 *ngIf=\"(record?.badges?.length ?? 0) > 0\" class=\"font-bold col-12 md:col-12 mb-2\">Badges</h5>\n <div class=\"feild-card col-12 md:col-12 flex\" *ngFor=\"let badge of (record?.badges || []); let i = index;\">\n <div class=\"field col-3 col-sm-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"badge\" [attributeModel]=\"{\n name:'dictionaryID',\n listLabelProperty:'name',\n listValueProperty:'_id',\n displayText : 'Select Dictionary',\n isRequired:true,\n options: dictionaries\n }\" (onInput)=\"handleBadgeDictionarySelect($event, i)\">\n </dropdown>\n </div>\n <div class=\"field col-3 col-sm-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"badge\" [attributeModel]=\"{\n name:'dictionaryItemID',\n listLabelProperty:'itemName',\n listValueProperty:'_id',\n displayText : 'Select Properties',\n isRequired:true,\n options: badgeDictionaryItemArray[i]\n }\">\n </dropdown>\n </div>\n <div class=\"field col-4 col-sm-6\">\n <text-box [store]=\"widgetStore\" [record]=\"badge\" [attributeModel]=\"{\n name : 'style',\n readonly : false,\n displayText : 'Style',\n isRequired : false,\n }\"></text-box>\n </div>\n <div class=\"field col-2 m-0 flex justify-content-start md:col-2 mt-5\">\n <div class=\"ml-4 delete-icon-container\">\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleDeleteBadge(i)\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Widget Items -->\n <h5 *ngIf=\"(record?.dataItems?.length ?? 0) > 0\" class=\"font-bold col-12 md:col-12 mb-2\">Widget Items</h5>\n <div class=\"feild-card col-12 md:col-12 flex\" *ngFor=\"let widgetItem of (record?.dataItems || []); let i = index;\">\n <div class=\"field col-2 col-sm-6\">\n <text-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\n name : 'name',\n readonly : false,\n displayText : 'Item Label',\n isRequired : true,\n }\"></text-box>\n </div>\n <div class=\"field col-2 col-sm-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\n name:'dictionaryID',\n listLabelProperty:'name',\n listValueProperty:'_id',\n displayText : 'Select Dictionary',\n isRequired:true,\n options: dictionaries\n }\" (onInput)=\"handleWidgetItemDictionarySelect($event, i)\">\n </dropdown>\n </div>\n <div class=\"field col-2 col-sm-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\n name:'dictionaryItemID',\n listLabelProperty:'itemName',\n listValueProperty:'_id',\n displayText : 'Select Properties',\n isRequired:true,\n options: dictionaryItemArray[i]\n }\">\n </dropdown>\n </div>\n <div class=\"field col-4 col-sm-6\">\n <text-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\n name : 'style',\n readonly : false,\n displayText : 'Item Style',\n isRequired : false,\n }\"></text-box>\n </div>\n <div class=\"field col-4 m-0 flex justify-content-center md:col-2 mt-5\">\n <div class=\"m-0\">\n <check-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Is Active ?',\n }\">\n </check-box>\n </div>\n <div class=\"ml-4 delete-icon-container\">\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleWidgetItemDelete(i)\"></i>\n </div>\n </div>\n </div>\n </div>\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }] });
4493
4476
  }
4494
4477
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminFormComponent, decorators: [{
4495
4478
  type: Component,
4496
- args: [{ selector: 'lib-widget-admin-form', standalone: false, template: "<form-container [record]=\"record\" [showSave]=\"true\" [messages]=\"message\" (onSave)=\"handleSubmit()\"\r\n (onCancel)=\"handleCancel()\">\r\n <div class=\"card p-fluid p-formgrid\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Widget Form</h4>\r\n <div class=\"col-12 md:col-12 mt-2 mb-2 flex\">\r\n <div class=\"col-3 md:col-3 mt-2 mb-2\">\r\n <text-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Name',\r\n placeholder: 'Enter Widget Name'\r\n }\"></text-box>\r\n </div>\r\n\r\n <div class=\"col-3 md:col-3 mt-2 mb-2\">\r\n <dropdown [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'apiConfigId',\r\n displayText : 'Select API',\r\n isRequired:true,\r\n }\" (onInput)=\"handleApiConfigChange($event)\">\r\n </dropdown>\r\n </div>\r\n\r\n <div class=\"col-4 md:col-4 mt-2 mb-2\">\r\n <text-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly: false,\r\n name: 'style',\r\n isRequired: false,\r\n displayText: 'Style',\r\n placeholder: 'Enter Widget Style'\r\n }\"></text-box>\r\n </div>\r\n\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n </div>\r\n <div class=\"grid align-items-center m-0\">\r\n <div class=\"col-6 md:col-5 mt-2 mb-2 flex\">\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'headerDictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n options: dictionaries\r\n }\" (onInput)=\"handleHeaderDictionarySelect($event)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'headerDictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select Header Item',\r\n options: headerDictionaryItems\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"col-6 md:col-5 mt-2 mb-2 flex\">\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'subHeaderDictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n options: dictionaries\r\n }\" (onInput)=\"handleSubHeaderDictionarySelect($event)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'subHeaderDictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select SubHeader Item',\r\n options: subHeaderDictionaryItems\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"col-6 md:col-2 mt-2 mb-2 flex\">\r\n <div class=\"field col-12 pl-2 pb-0 mb-2 md:mr-2 md:col-12\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'layoutType',\r\n listLabelProperty:'name',\r\n listValueProperty:'value',\r\n displayText : 'Select Layout Type',\r\n options: widgetLayoutTypeList\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field p-0 pr-2 col-12 md:col-12 flex gap-2\">\r\n <div class=\"col-6 md:col-2\">\r\n <div class=\"card m-0 p-0 mb-2\">\r\n <div class=\"mt-3 w-full flex\">\r\n <button pButton pRipple routerLinkActive=\"router-link-active\"\r\n icon=\"pi pi-plus font-semibold\"\r\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\r\n (click)=\"handleBadgeAddBtnClick()\">\r\n <span class=\"ml-3\">Add Badge </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6 md:col-2\">\r\n <div class=\"card m-0 p-0 mb-2\">\r\n <div class=\"mt-3 w-full flex\">\r\n <button pButton pRipple routerLinkActive=\"router-link-active\"\r\n icon=\"pi pi-plus font-semibold\"\r\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\r\n (click)=\"handleWidgetItemAddBtnClick()\">\r\n <span class=\"ml-3\">Add Widget Item </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Badges Section -->\r\n <div class=\"field p-0 pr-2 col-12 md:col-12 mb-3\">\r\n <h5 *ngIf=\"(record?.badges?.length ?? 0) > 0\" class=\"font-bold col-12 md:col-12 mb-2\">Badges</h5>\r\n <div class=\"feild-card col-12 md:col-12 flex\" *ngFor=\"let badge of (record?.badges || []); let i = index;\">\r\n <div class=\"field col-3 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"badge\" [attributeModel]=\"{\r\n name:'dictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n isRequired:true,\r\n options: dictionaries\r\n }\" (onInput)=\"handleBadgeDictionarySelect($event, i)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-3 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"badge\" [attributeModel]=\"{\r\n name:'dictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select Properties',\r\n isRequired:true,\r\n options: badgeDictionaryItemArray[i]\r\n }\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-4 col-sm-6\">\r\n <text-box [store]=\"widgetStore\" [record]=\"badge\" [attributeModel]=\"{\r\n name : 'style',\r\n readonly : false,\r\n displayText : 'Style',\r\n isRequired : false,\r\n }\"></text-box>\r\n </div>\r\n <div class=\"field col-2 m-0 flex justify-content-start md:col-2 mt-5\">\r\n <div class=\"ml-4 delete-icon-container\">\r\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleDeleteBadge(i)\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Widget Items -->\r\n <h5 *ngIf=\"(record?.dataItems?.length ?? 0) > 0\" class=\"font-bold col-12 md:col-12 mb-2\">Widget Items</h5>\r\n <div class=\"feild-card col-12 md:col-12 flex\" *ngFor=\"let widgetItem of (record?.dataItems || []); let i = index;\">\r\n <div class=\"field col-2 col-sm-6\">\r\n <text-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name : 'name',\r\n readonly : false,\r\n displayText : 'Item Label',\r\n isRequired : true,\r\n }\"></text-box>\r\n </div>\r\n <div class=\"field col-2 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'dictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n isRequired:true,\r\n options: dictionaries\r\n }\" (onInput)=\"handleWidgetItemDictionarySelect($event, i)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-2 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'dictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select Properties',\r\n isRequired:true,\r\n options: dictionaryItemArray[i]\r\n }\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-4 col-sm-6\">\r\n <text-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name : 'style',\r\n readonly : false,\r\n displayText : 'Item Style',\r\n isRequired : false,\r\n }\"></text-box>\r\n </div>\r\n <div class=\"field col-4 m-0 flex justify-content-center md:col-2 mt-5\">\r\n <div class=\"m-0\">\r\n <check-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Is Active ?',\r\n }\">\r\n </check-box>\r\n </div>\r\n <div class=\"ml-4 delete-icon-container\">\r\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleWidgetItemDelete(i)\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"] }]
4479
+ args: [{ selector: 'lib-widget-admin-form', standalone: false, template: "<form-container [record]=\"record\" [showSave]=\"true\" [messages]=\"message\" (onSave)=\"handleSubmit()\"\n (onCancel)=\"handleCancel()\">\n <div class=\"card p-fluid p-formgrid\">\n <h4 class=\"font-bold col-12 md:col-12\">Widget Form</h4>\n <div class=\"col-12 md:col-12 mt-2 mb-2 flex\">\n <div class=\"col-3 md:col-3 mt-2 mb-2\">\n <text-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\n readonly: false,\n name: 'name',\n isRequired: true,\n displayText: 'Name',\n placeholder: 'Enter Widget Name'\n }\"></text-box>\n </div>\n\n <div class=\"col-3 md:col-3 mt-2 mb-2\">\n <dropdown [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\n name:'apiConfigId',\n displayText : 'Select API',\n isRequired:true,\n }\" (onInput)=\"handleApiConfigChange($event)\">\n </dropdown>\n </div>\n\n <div class=\"col-4 md:col-4 mt-2 mb-2\">\n <text-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\n readonly: false,\n name: 'style',\n isRequired: false,\n displayText: 'Style',\n placeholder: 'Enter Widget Style'\n }\"></text-box>\n </div>\n\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n </div>\n <div class=\"grid align-items-center m-0\">\n <div class=\"col-6 md:col-5 mt-2 mb-2 flex\">\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name:'headerDictionaryID',\n listLabelProperty:'name',\n listValueProperty:'_id',\n displayText : 'Select Dictionary',\n options: dictionaries\n }\" (onInput)=\"handleHeaderDictionarySelect($event)\">\n </dropdown>\n </div>\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name:'headerDictionaryItemID',\n listLabelProperty:'itemName',\n listValueProperty:'_id',\n displayText : 'Select Header Item',\n options: headerDictionaryItems\n }\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-6 md:col-5 mt-2 mb-2 flex\">\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name:'subHeaderDictionaryID',\n listLabelProperty:'name',\n listValueProperty:'_id',\n displayText : 'Select Dictionary',\n options: dictionaries\n }\" (onInput)=\"handleSubHeaderDictionarySelect($event)\">\n </dropdown>\n </div>\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name:'subHeaderDictionaryItemID',\n listLabelProperty:'itemName',\n listValueProperty:'_id',\n displayText : 'Select SubHeader Item',\n options: subHeaderDictionaryItems\n }\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-6 md:col-2 mt-2 mb-2 flex\">\n <div class=\"field col-12 pl-2 pb-0 mb-2 md:mr-2 md:col-12\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name:'layoutType',\n listLabelProperty:'name',\n listValueProperty:'value',\n displayText : 'Select Layout Type',\n options: widgetLayoutTypeList\n }\">\n </dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"field p-0 pr-2 col-12 md:col-12 flex gap-2\">\n <div class=\"col-6 md:col-2\">\n <div class=\"card m-0 p-0 mb-2\">\n <div class=\"mt-3 w-full flex\">\n <button pButton pRipple routerLinkActive=\"router-link-active\"\n icon=\"pi pi-plus font-semibold\"\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\n (click)=\"handleBadgeAddBtnClick()\">\n <span class=\"ml-3\">Add Badge </span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"col-6 md:col-2\">\n <div class=\"card m-0 p-0 mb-2\">\n <div class=\"mt-3 w-full flex\">\n <button pButton pRipple routerLinkActive=\"router-link-active\"\n icon=\"pi pi-plus font-semibold\"\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\n (click)=\"handleWidgetItemAddBtnClick()\">\n <span class=\"ml-3\">Add Widget Item </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Badges Section -->\n <div class=\"field p-0 pr-2 col-12 md:col-12 mb-3\">\n <h5 *ngIf=\"(record?.badges?.length ?? 0) > 0\" class=\"font-bold col-12 md:col-12 mb-2\">Badges</h5>\n <div class=\"feild-card col-12 md:col-12 flex\" *ngFor=\"let badge of (record?.badges || []); let i = index;\">\n <div class=\"field col-3 col-sm-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"badge\" [attributeModel]=\"{\n name:'dictionaryID',\n listLabelProperty:'name',\n listValueProperty:'_id',\n displayText : 'Select Dictionary',\n isRequired:true,\n options: dictionaries\n }\" (onInput)=\"handleBadgeDictionarySelect($event, i)\">\n </dropdown>\n </div>\n <div class=\"field col-3 col-sm-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"badge\" [attributeModel]=\"{\n name:'dictionaryItemID',\n listLabelProperty:'itemName',\n listValueProperty:'_id',\n displayText : 'Select Properties',\n isRequired:true,\n options: badgeDictionaryItemArray[i]\n }\">\n </dropdown>\n </div>\n <div class=\"field col-4 col-sm-6\">\n <text-box [store]=\"widgetStore\" [record]=\"badge\" [attributeModel]=\"{\n name : 'style',\n readonly : false,\n displayText : 'Style',\n isRequired : false,\n }\"></text-box>\n </div>\n <div class=\"field col-2 m-0 flex justify-content-start md:col-2 mt-5\">\n <div class=\"ml-4 delete-icon-container\">\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleDeleteBadge(i)\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Widget Items -->\n <h5 *ngIf=\"(record?.dataItems?.length ?? 0) > 0\" class=\"font-bold col-12 md:col-12 mb-2\">Widget Items</h5>\n <div class=\"feild-card col-12 md:col-12 flex\" *ngFor=\"let widgetItem of (record?.dataItems || []); let i = index;\">\n <div class=\"field col-2 col-sm-6\">\n <text-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\n name : 'name',\n readonly : false,\n displayText : 'Item Label',\n isRequired : true,\n }\"></text-box>\n </div>\n <div class=\"field col-2 col-sm-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\n name:'dictionaryID',\n listLabelProperty:'name',\n listValueProperty:'_id',\n displayText : 'Select Dictionary',\n isRequired:true,\n options: dictionaries\n }\" (onInput)=\"handleWidgetItemDictionarySelect($event, i)\">\n </dropdown>\n </div>\n <div class=\"field col-2 col-sm-6\">\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\n name:'dictionaryItemID',\n listLabelProperty:'itemName',\n listValueProperty:'_id',\n displayText : 'Select Properties',\n isRequired:true,\n options: dictionaryItemArray[i]\n }\">\n </dropdown>\n </div>\n <div class=\"field col-4 col-sm-6\">\n <text-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\n name : 'style',\n readonly : false,\n displayText : 'Item Style',\n isRequired : false,\n }\"></text-box>\n </div>\n <div class=\"field col-4 m-0 flex justify-content-center md:col-2 mt-5\">\n <div class=\"m-0\">\n <check-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Is Active ?',\n }\">\n </check-box>\n </div>\n <div class=\"ml-4 delete-icon-container\">\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleWidgetItemDelete(i)\"></i>\n </div>\n </div>\n </div>\n </div>\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"] }]
4497
4480
  }], ctorParameters: () => [{ type: WidgetAdminService }, { type: ValidatorService }, { type: WidgetAdminStore }, { type: WidgetAdminQuery }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: BaseStore }, { type: BaseQuery }] });
4498
4481
 
4499
4482
  /**
@@ -4764,11 +4747,11 @@ class QueueAdminFormComponent extends BaseFormComponent {
4764
4747
  super.ngOnDestroy();
4765
4748
  }
4766
4749
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminFormComponent, deps: [{ token: QueueQuery }, { token: QueueService$1 }, { token: i3$4.ActivatedRoute }, { token: QueueStore }, { token: ValidatorService }, { token: i3$4.Router }, { token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
4767
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueAdminFormComponent, isStandalone: false, selector: "lib-queue-admin-form", usesInheritance: true, ngImport: i0, template: "<div class=\"grid m-0\">\r\n <div class=\"col-12\">\r\n <div>\r\n <form-container\r\n [record]=\"record\"\r\n [headerText]=\"'Queue / Create Queue'\"\r\n (onSave)=\"handleSubmit()\"\r\n (onCancel)=\"handleCancel()\"\r\n [showSave]=\"true\"\r\n [messages]=\"messages\"\r\n >\r\n <div class=\"card m-0\">\r\n <div class=\"p-fluid p-formgrid grid m-0\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Create Queue</h4>\r\n <div class=\"col-12 md:col-5\">\r\n <text-box\r\n [record]=\"record\"\r\n [store]=\"queueStore\"\r\n [attributeModel]=\"{\r\n name : 'name',\r\n displayText:'Queue Name',\r\n readonly : false,\r\n isRequired : true,\r\n }\"\r\n >\r\n </text-box>\r\n </div>\r\n <div class=\"col-12 md:col-5\">\r\n <dropdown\r\n [record]=\"record\"\r\n [store]=\"queueStore\"\r\n [attributeModel]=\"{\r\n name: 'apiConfigId',\r\n readonly: false,\r\n isRequired: true,\r\n dataSource: 'apiConfig',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id',\r\n displayText: 'Api'\r\n }\" (onInput)=\"handleQueueChange($event)\"\r\n >\r\n </dropdown>\r\n </div>\r\n\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"queueStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"w-full px-2 mt-2 flex justify-content-end mb-2\">\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n label=\"Validate\"\r\n (click)=\"handleGetData()\"\r\n class=\"p-button-raised validate-btn-wrapper\"\r\n ></button>\r\n </div>\r\n\r\n <div class=\"p-fluid p-formgrid grid m-0\">\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"queueStore\"\r\n [record]=\"record\"\r\n [isStaticDropdown]=\"true\"\r\n [attributeModel]=\"{\r\n name:'header',\r\n displayText : 'Header',\r\n placeholder: 'Select Header',\r\n listValueProperty: 'value',\r\n listLabelProperty: 'value',\r\n readonly : false,\r\n isRequired : true,\r\n options: apiPropertyList\r\n }\"></dropdown>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"queueStore\"\r\n [record]=\"record\"\r\n [isStaticDropdown]=\"true\"\r\n [attributeModel]=\"{\r\n name:'subHeader',\r\n displayText : 'SubHeader',\r\n placeholder: 'Select SubHeader',\r\n listValueProperty: 'value',\r\n listLabelProperty: 'value',\r\n readonly : false,\r\n isRequired : false,\r\n options: apiPropertyList\r\n }\"></dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card m-0\">\r\n <div class=\"p-fluid p-formgrid grid m-0 mb-2\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Queue Details</h4>\r\n </div>\r\n <ngx-query-builder\r\n class=\"p-2\"\r\n [(ngModel)]=\"query\"\r\n [config]=\"config\"\r\n (queryChange)=\"onQueryChange($event)\"\r\n ></ngx-query-builder>\r\n </div>\r\n </form-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".q-ruleset .q-switch-radio:checked+.q-switch-label{background:var(--surface-section)!important;color:var(--text-color)!important;border:1px solid var(--primary-color)!important}.q-ruleset .q-switch-label{color:#000!important;border:1px solid}.q-ruleset .q-button{color:var(--text-color)!important;background:var(--primary-color)!important;border-radius:var(--border-radius)!important}.q-ruleset .q-rule{background:var(--surface-section)!important}.q-ruleset .q-field-control,.q-ruleset .q-operator-control,.q-ruleset .q-input-control,.q-ruleset .q-remove-button{background:var(--surface-section)!important;color:var(--text-color)!important;border:1px solid var(--surface-border)!important}.q-ruleset .q-row{border:1px solid var(--surface-border)!important}.validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}.card-footer{display:flex;justify-content:flex-end;margin:10px}.button-container{display:flex}.create-button{padding:10px}\n"], dependencies: [{ kind: "component", type: TextBoxComponent, selector: "text-box" }, { 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: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: i11.QueryBuilderComponent, selector: "ngx-query-builder", inputs: ["disabled", "level", "data", "allowRuleset", "allowCollapse", "emptyMessage", "classNames", "operatorMap", "parentValue", "config", "parentArrowIconTemplate", "parentInputTemplates", "parentOperatorTemplate", "parentFieldTemplate", "parentEntityTemplate", "parentSwitchGroupTemplate", "parentButtonGroupTemplate", "parentRulesetAddRuleButtonTemplate", "parentRulesetAddRulesetButtonTemplate", "parentRulesetRemoveButtonTemplate", "parentRuleRemoveButtonTemplate", "parentEmptyWarningTemplate", "parentChangeCallback", "parentTouchedCallback", "persistValueOnFieldChange", "value"] }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }], encapsulation: i0.ViewEncapsulation.None });
4750
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueAdminFormComponent, isStandalone: false, selector: "lib-queue-admin-form", usesInheritance: true, ngImport: i0, template: "<div class=\"grid m-0\">\n <div class=\"col-12\">\n <div>\n <form-container\n [record]=\"record\"\n [headerText]=\"'Queue / Create Queue'\"\n (onSave)=\"handleSubmit()\"\n (onCancel)=\"handleCancel()\"\n [showSave]=\"true\"\n [messages]=\"messages\"\n >\n <div class=\"card m-0\">\n <div class=\"p-fluid p-formgrid grid m-0\">\n <h4 class=\"font-bold col-12 md:col-12\">Create Queue</h4>\n <div class=\"col-12 md:col-5\">\n <text-box\n [record]=\"record\"\n [store]=\"queueStore\"\n [attributeModel]=\"{\n name : 'name',\n displayText:'Queue Name',\n readonly : false,\n isRequired : true,\n }\"\n >\n </text-box>\n </div>\n <div class=\"col-12 md:col-5\">\n <dropdown\n [record]=\"record\"\n [store]=\"queueStore\"\n [attributeModel]=\"{\n name: 'apiConfigId',\n readonly: false,\n isRequired: true,\n dataSource: 'apiConfig',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n displayText: 'Api'\n }\" (onInput)=\"handleQueueChange($event)\"\n >\n </dropdown>\n </div>\n\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"queueStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n </div>\n\n <div class=\"w-full px-2 mt-2 flex justify-content-end mb-2\">\n <button\n pButton\n pRipple\n type=\"button\"\n label=\"Validate\"\n (click)=\"handleGetData()\"\n class=\"p-button-raised validate-btn-wrapper\"\n ></button>\n </div>\n\n <div class=\"p-fluid p-formgrid grid m-0\">\n <div class=\"col-12 md:col-6\">\n <dropdown\n [store]=\"queueStore\"\n [record]=\"record\"\n [isStaticDropdown]=\"true\"\n [attributeModel]=\"{\n name:'header',\n displayText : 'Header',\n placeholder: 'Select Header',\n listValueProperty: 'value',\n listLabelProperty: 'value',\n readonly : false,\n isRequired : true,\n options: apiPropertyList\n }\"></dropdown>\n </div>\n <div class=\"col-12 md:col-6\">\n <dropdown\n [store]=\"queueStore\"\n [record]=\"record\"\n [isStaticDropdown]=\"true\"\n [attributeModel]=\"{\n name:'subHeader',\n displayText : 'SubHeader',\n placeholder: 'Select SubHeader',\n listValueProperty: 'value',\n listLabelProperty: 'value',\n readonly : false,\n isRequired : false,\n options: apiPropertyList\n }\"></dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"card m-0\">\n <div class=\"p-fluid p-formgrid grid m-0 mb-2\">\n <h4 class=\"font-bold col-12 md:col-12\">Queue Details</h4>\n </div>\n <ngx-query-builder\n class=\"p-2\"\n [(ngModel)]=\"query\"\n [config]=\"config\"\n (queryChange)=\"onQueryChange($event)\"\n ></ngx-query-builder>\n </div>\n </form-container>\n </div>\n </div>\n</div>\n", styles: [".q-ruleset .q-switch-radio:checked+.q-switch-label{background:var(--surface-section)!important;color:var(--text-color)!important;border:1px solid var(--primary-color)!important}.q-ruleset .q-switch-label{color:#000!important;border:1px solid}.q-ruleset .q-button{color:var(--text-color)!important;background:var(--primary-color)!important;border-radius:var(--border-radius)!important}.q-ruleset .q-rule{background:var(--surface-section)!important}.q-ruleset .q-field-control,.q-ruleset .q-operator-control,.q-ruleset .q-input-control,.q-ruleset .q-remove-button{background:var(--surface-section)!important;color:var(--text-color)!important;border:1px solid var(--surface-border)!important}.q-ruleset .q-row{border:1px solid var(--surface-border)!important}.validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}.card-footer{display:flex;justify-content:flex-end;margin:10px}.button-container{display:flex}.create-button{padding:10px}\n"], dependencies: [{ kind: "component", type: TextBoxComponent, selector: "text-box" }, { 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: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: i11.QueryBuilderComponent, selector: "ngx-query-builder", inputs: ["disabled", "level", "data", "allowRuleset", "allowCollapse", "emptyMessage", "classNames", "operatorMap", "parentValue", "config", "parentArrowIconTemplate", "parentInputTemplates", "parentOperatorTemplate", "parentFieldTemplate", "parentEntityTemplate", "parentSwitchGroupTemplate", "parentButtonGroupTemplate", "parentRulesetAddRuleButtonTemplate", "parentRulesetAddRulesetButtonTemplate", "parentRulesetRemoveButtonTemplate", "parentRuleRemoveButtonTemplate", "parentEmptyWarningTemplate", "parentChangeCallback", "parentTouchedCallback", "persistValueOnFieldChange", "value"] }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }], encapsulation: i0.ViewEncapsulation.None });
4768
4751
  }
4769
4752
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminFormComponent, decorators: [{
4770
4753
  type: Component,
4771
- args: [{ selector: "lib-queue-admin-form", standalone: false, encapsulation: ViewEncapsulation.None, template: "<div class=\"grid m-0\">\r\n <div class=\"col-12\">\r\n <div>\r\n <form-container\r\n [record]=\"record\"\r\n [headerText]=\"'Queue / Create Queue'\"\r\n (onSave)=\"handleSubmit()\"\r\n (onCancel)=\"handleCancel()\"\r\n [showSave]=\"true\"\r\n [messages]=\"messages\"\r\n >\r\n <div class=\"card m-0\">\r\n <div class=\"p-fluid p-formgrid grid m-0\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Create Queue</h4>\r\n <div class=\"col-12 md:col-5\">\r\n <text-box\r\n [record]=\"record\"\r\n [store]=\"queueStore\"\r\n [attributeModel]=\"{\r\n name : 'name',\r\n displayText:'Queue Name',\r\n readonly : false,\r\n isRequired : true,\r\n }\"\r\n >\r\n </text-box>\r\n </div>\r\n <div class=\"col-12 md:col-5\">\r\n <dropdown\r\n [record]=\"record\"\r\n [store]=\"queueStore\"\r\n [attributeModel]=\"{\r\n name: 'apiConfigId',\r\n readonly: false,\r\n isRequired: true,\r\n dataSource: 'apiConfig',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id',\r\n displayText: 'Api'\r\n }\" (onInput)=\"handleQueueChange($event)\"\r\n >\r\n </dropdown>\r\n </div>\r\n\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"queueStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"w-full px-2 mt-2 flex justify-content-end mb-2\">\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n label=\"Validate\"\r\n (click)=\"handleGetData()\"\r\n class=\"p-button-raised validate-btn-wrapper\"\r\n ></button>\r\n </div>\r\n\r\n <div class=\"p-fluid p-formgrid grid m-0\">\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"queueStore\"\r\n [record]=\"record\"\r\n [isStaticDropdown]=\"true\"\r\n [attributeModel]=\"{\r\n name:'header',\r\n displayText : 'Header',\r\n placeholder: 'Select Header',\r\n listValueProperty: 'value',\r\n listLabelProperty: 'value',\r\n readonly : false,\r\n isRequired : true,\r\n options: apiPropertyList\r\n }\"></dropdown>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"queueStore\"\r\n [record]=\"record\"\r\n [isStaticDropdown]=\"true\"\r\n [attributeModel]=\"{\r\n name:'subHeader',\r\n displayText : 'SubHeader',\r\n placeholder: 'Select SubHeader',\r\n listValueProperty: 'value',\r\n listLabelProperty: 'value',\r\n readonly : false,\r\n isRequired : false,\r\n options: apiPropertyList\r\n }\"></dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card m-0\">\r\n <div class=\"p-fluid p-formgrid grid m-0 mb-2\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Queue Details</h4>\r\n </div>\r\n <ngx-query-builder\r\n class=\"p-2\"\r\n [(ngModel)]=\"query\"\r\n [config]=\"config\"\r\n (queryChange)=\"onQueryChange($event)\"\r\n ></ngx-query-builder>\r\n </div>\r\n </form-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".q-ruleset .q-switch-radio:checked+.q-switch-label{background:var(--surface-section)!important;color:var(--text-color)!important;border:1px solid var(--primary-color)!important}.q-ruleset .q-switch-label{color:#000!important;border:1px solid}.q-ruleset .q-button{color:var(--text-color)!important;background:var(--primary-color)!important;border-radius:var(--border-radius)!important}.q-ruleset .q-rule{background:var(--surface-section)!important}.q-ruleset .q-field-control,.q-ruleset .q-operator-control,.q-ruleset .q-input-control,.q-ruleset .q-remove-button{background:var(--surface-section)!important;color:var(--text-color)!important;border:1px solid var(--surface-border)!important}.q-ruleset .q-row{border:1px solid var(--surface-border)!important}.validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}.card-footer{display:flex;justify-content:flex-end;margin:10px}.button-container{display:flex}.create-button{padding:10px}\n"] }]
4754
+ args: [{ selector: "lib-queue-admin-form", standalone: false, encapsulation: ViewEncapsulation.None, template: "<div class=\"grid m-0\">\n <div class=\"col-12\">\n <div>\n <form-container\n [record]=\"record\"\n [headerText]=\"'Queue / Create Queue'\"\n (onSave)=\"handleSubmit()\"\n (onCancel)=\"handleCancel()\"\n [showSave]=\"true\"\n [messages]=\"messages\"\n >\n <div class=\"card m-0\">\n <div class=\"p-fluid p-formgrid grid m-0\">\n <h4 class=\"font-bold col-12 md:col-12\">Create Queue</h4>\n <div class=\"col-12 md:col-5\">\n <text-box\n [record]=\"record\"\n [store]=\"queueStore\"\n [attributeModel]=\"{\n name : 'name',\n displayText:'Queue Name',\n readonly : false,\n isRequired : true,\n }\"\n >\n </text-box>\n </div>\n <div class=\"col-12 md:col-5\">\n <dropdown\n [record]=\"record\"\n [store]=\"queueStore\"\n [attributeModel]=\"{\n name: 'apiConfigId',\n readonly: false,\n isRequired: true,\n dataSource: 'apiConfig',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n displayText: 'Api'\n }\" (onInput)=\"handleQueueChange($event)\"\n >\n </dropdown>\n </div>\n\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"queueStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n </div>\n\n <div class=\"w-full px-2 mt-2 flex justify-content-end mb-2\">\n <button\n pButton\n pRipple\n type=\"button\"\n label=\"Validate\"\n (click)=\"handleGetData()\"\n class=\"p-button-raised validate-btn-wrapper\"\n ></button>\n </div>\n\n <div class=\"p-fluid p-formgrid grid m-0\">\n <div class=\"col-12 md:col-6\">\n <dropdown\n [store]=\"queueStore\"\n [record]=\"record\"\n [isStaticDropdown]=\"true\"\n [attributeModel]=\"{\n name:'header',\n displayText : 'Header',\n placeholder: 'Select Header',\n listValueProperty: 'value',\n listLabelProperty: 'value',\n readonly : false,\n isRequired : true,\n options: apiPropertyList\n }\"></dropdown>\n </div>\n <div class=\"col-12 md:col-6\">\n <dropdown\n [store]=\"queueStore\"\n [record]=\"record\"\n [isStaticDropdown]=\"true\"\n [attributeModel]=\"{\n name:'subHeader',\n displayText : 'SubHeader',\n placeholder: 'Select SubHeader',\n listValueProperty: 'value',\n listLabelProperty: 'value',\n readonly : false,\n isRequired : false,\n options: apiPropertyList\n }\"></dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"card m-0\">\n <div class=\"p-fluid p-formgrid grid m-0 mb-2\">\n <h4 class=\"font-bold col-12 md:col-12\">Queue Details</h4>\n </div>\n <ngx-query-builder\n class=\"p-2\"\n [(ngModel)]=\"query\"\n [config]=\"config\"\n (queryChange)=\"onQueryChange($event)\"\n ></ngx-query-builder>\n </div>\n </form-container>\n </div>\n </div>\n</div>\n", styles: [".q-ruleset .q-switch-radio:checked+.q-switch-label{background:var(--surface-section)!important;color:var(--text-color)!important;border:1px solid var(--primary-color)!important}.q-ruleset .q-switch-label{color:#000!important;border:1px solid}.q-ruleset .q-button{color:var(--text-color)!important;background:var(--primary-color)!important;border-radius:var(--border-radius)!important}.q-ruleset .q-rule{background:var(--surface-section)!important}.q-ruleset .q-field-control,.q-ruleset .q-operator-control,.q-ruleset .q-input-control,.q-ruleset .q-remove-button{background:var(--surface-section)!important;color:var(--text-color)!important;border:1px solid var(--surface-border)!important}.q-ruleset .q-row{border:1px solid var(--surface-border)!important}.validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}.card-footer{display:flex;justify-content:flex-end;margin:10px}.button-container{display:flex}.create-button{padding:10px}\n"] }]
4772
4755
  }], ctorParameters: () => [{ type: QueueQuery }, { type: QueueService$1 }, { type: i3$4.ActivatedRoute }, { type: QueueStore }, { type: ValidatorService }, { type: i3$4.Router }, { type: BaseStore }, { type: BaseQuery }] });
4773
4756
 
4774
4757
  const routes$1 = [
@@ -4901,11 +4884,11 @@ class QueueApplicationListComponent {
4901
4884
  this.selectedStatus = selectedStatus.target.value;
4902
4885
  }
4903
4886
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueApplicationListComponent, deps: [{ token: QueueService$1 }, { token: DataTransformerService }, { token: i3$4.Router }, { token: QueueStore }], target: i0.ɵɵFactoryTarget.Component });
4904
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueApplicationListComponent, isStandalone: false, selector: "queue-application-list", inputs: { queueData: "queueData" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"grid m-0\">\r\n <div class=\"col-12\">\r\n <div class=\"p-fluid p-formgrid grid p-2\">\r\n <div class=\"card col-12 md:col-12 flex flex-column border-bottom align-items-start p-4 pb-3\" style=\"\r\n border-bottom: 1px solid var(--surface-border);\r\n border-radius: 0px;\r\n border-top-left-radius: 8px;\r\n border-top-right-radius: 8px;\r\n \">\r\n <h4 class=\"text-color m-0 queue-name font-semibold margin\">\r\n {{ queueData.name }}\r\n </h4>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12 p-0 flex scrollable flex-column\" [ngClass]=\"\r\n selectedStatus === 'active' ? 'surface-card' : 'inactive-card-wrapper'\r\n \">\r\n @for(record of associateQueueList; track record; let i = $index) {\r\n @if(record){\r\n <div class=\"col-12 md:col-12 border-bottom-1 p-0 surface-border gap-2 hover:surface-ground cursor-pointer\"\r\n (click)=\"handleApplicationClick(record)\">\r\n\r\n <div class=\"col-12 md:col-12 flex align-items-center py-3 px-4 userInfo\">\r\n <div class=\"col-12 md:col-2 p-0 userImage\">\r\n <div\r\n class=\"mainimg flex align-items-center justify-content-center circleColor w-3rem h-3rem border-circle\">\r\n <span class=\"font-bold\" style=\"font-weight: 600; font-size: 13.5; font-family: inherit;\">\r\n {{ record.initials }}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-10 p-0\">\r\n <div class=\"flex justify-content-between align-items-center col-12 md:col-12 p-0\">\r\n <div class=\"userName\" style=\"font-weight: 600; font-size: 15px; \">\r\n {{ record.FullName | capitalizeWords }} \r\n </div>\r\n <div class=\"dayAndtime flex\">\r\n @if(record.message.type == \"Email\"){\r\n <span class=\"pi pi-envelope mr-2\" style=\"color: #676B89; font-size: 17px;\"></span>\r\n }\r\n @else if(record.message.type == \"SMS\") {\r\n <span class=\"pi pi-comments mr-2\" style=\"color: #676B89; font-size: 17px;\"></span>\r\n }@else if(record.message.type == \"WhatsApp\"){\r\n <span class=\"pi pi-whatsapp mr-2\" style=\"color: #676B89;font-size: 17px;\"></span>\r\n\r\n }\r\n <span style=\"color: #676B89; font-family: inherit;\"> {{record.message.day}}</span>\r\n </div>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-between mt-1\">\r\n <div class=\"email col-12 md:col-12 p-0\" style=\"color: #8A8EA6;\">\r\n {{ record.message.content }}\r\n </div>\r\n \r\n <div class=\"countOfMessages\">\r\n <span>{{record.message.count}}</span>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".label,.value{font-size:14px}.card{margin-bottom:0!important}.queue-name{max-width:85%;word-wrap:break-word;white-space:normal}.text-verflow-elipses{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{background:var(--surface-card)}.card .filter-section .filter-dropdown,.card .filter-section .filter-button{padding:.2rem .5rem;border:1px solid #cce7ff;border-radius:5px;background-color:#f0f8ff;color:#333;cursor:pointer}.set-reminder-box{background-color:#4c629214;border:1px solid rgba(76,98,146,.2)}.set-reminder-box .pi-bell{color:#f57c00}.inactive-card-wrapper{background-color:#f3f5f8;border-left:1px solid #e0e3f3!important;border-right:1px solid #e0e3f3!important}::ng-deep .inactive-tag-wrapper .p-tag{background-color:#676b89!important}.circleColor{background-color:#eef0f5;color:#4c6292}.email{max-width:85%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.countOfMessages{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#0f8bfd;color:#fff;width:22px!important;height:22px!important}.userInfo:hover{background-color:#eef0f5b3}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: CapitalizeWordsPipe, name: "capitalizeWords" }] });
4887
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueApplicationListComponent, isStandalone: false, selector: "queue-application-list", inputs: { queueData: "queueData" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"grid m-0\">\n <div class=\"col-12\">\n <div class=\"p-fluid p-formgrid grid p-2\">\n <div class=\"card col-12 md:col-12 flex flex-column border-bottom align-items-start p-4 pb-3\" style=\"\n border-bottom: 1px solid var(--surface-border);\n border-radius: 0px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n \">\n <h4 class=\"text-color m-0 queue-name font-semibold margin\">\n {{ queueData.name }}\n </h4>\n </div>\n\n <div class=\"col-12 md:col-12 p-0 flex scrollable flex-column\" [ngClass]=\"\n selectedStatus === 'active' ? 'surface-card' : 'inactive-card-wrapper'\n \">\n @for(record of associateQueueList; track record; let i = $index) {\n @if(record){\n <div class=\"col-12 md:col-12 border-bottom-1 p-0 surface-border gap-2 hover:surface-ground cursor-pointer\"\n (click)=\"handleApplicationClick(record)\">\n\n <div class=\"col-12 md:col-12 flex align-items-center py-3 px-4 userInfo\">\n <div class=\"col-12 md:col-2 p-0 userImage\">\n <div\n class=\"mainimg flex align-items-center justify-content-center circleColor w-3rem h-3rem border-circle\">\n <span class=\"font-bold\" style=\"font-weight: 600; font-size: 13.5; font-family: inherit;\">\n {{ record.initials }}\n </span>\n </div>\n </div>\n <div class=\"col-12 md:col-10 p-0\">\n <div class=\"flex justify-content-between align-items-center col-12 md:col-12 p-0\">\n <div class=\"userName\" style=\"font-weight: 600; font-size: 15px; \">\n {{ record.FullName | capitalizeWords }} \n </div>\n <div class=\"dayAndtime flex\">\n @if(record.message.type == \"Email\"){\n <span class=\"pi pi-envelope mr-2\" style=\"color: #676B89; font-size: 17px;\"></span>\n }\n @else if(record.message.type == \"SMS\") {\n <span class=\"pi pi-comments mr-2\" style=\"color: #676B89; font-size: 17px;\"></span>\n }@else if(record.message.type == \"WhatsApp\"){\n <span class=\"pi pi-whatsapp mr-2\" style=\"color: #676B89;font-size: 17px;\"></span>\n\n }\n <span style=\"color: #676B89; font-family: inherit;\"> {{record.message.day}}</span>\n </div>\n </div>\n <div class=\"flex align-items-center justify-content-between mt-1\">\n <div class=\"email col-12 md:col-12 p-0\" style=\"color: #8A8EA6;\">\n {{ record.message.content }}\n </div>\n \n <div class=\"countOfMessages\">\n <span>{{record.message.count}}</span>\n </div>\n \n </div>\n </div>\n </div>\n </div>\n }\n }\n\n </div>\n </div>\n </div>\n</div>", styles: [".label,.value{font-size:14px}.card{margin-bottom:0!important}.queue-name{max-width:85%;word-wrap:break-word;white-space:normal}.text-verflow-elipses{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{background:var(--surface-card)}.card .filter-section .filter-dropdown,.card .filter-section .filter-button{padding:.2rem .5rem;border:1px solid #cce7ff;border-radius:5px;background-color:#f0f8ff;color:#333;cursor:pointer}.set-reminder-box{background-color:#4c629214;border:1px solid rgba(76,98,146,.2)}.set-reminder-box .pi-bell{color:#f57c00}.inactive-card-wrapper{background-color:#f3f5f8;border-left:1px solid #e0e3f3!important;border-right:1px solid #e0e3f3!important}::ng-deep .inactive-tag-wrapper .p-tag{background-color:#676b89!important}.circleColor{background-color:#eef0f5;color:#4c6292}.email{max-width:85%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.countOfMessages{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#0f8bfd;color:#fff;width:22px!important;height:22px!important}.userInfo:hover{background-color:#eef0f5b3}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: CapitalizeWordsPipe, name: "capitalizeWords" }] });
4905
4888
  }
4906
4889
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueApplicationListComponent, decorators: [{
4907
4890
  type: Component,
4908
- args: [{ selector: 'queue-application-list', standalone: false, template: "<div class=\"grid m-0\">\r\n <div class=\"col-12\">\r\n <div class=\"p-fluid p-formgrid grid p-2\">\r\n <div class=\"card col-12 md:col-12 flex flex-column border-bottom align-items-start p-4 pb-3\" style=\"\r\n border-bottom: 1px solid var(--surface-border);\r\n border-radius: 0px;\r\n border-top-left-radius: 8px;\r\n border-top-right-radius: 8px;\r\n \">\r\n <h4 class=\"text-color m-0 queue-name font-semibold margin\">\r\n {{ queueData.name }}\r\n </h4>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12 p-0 flex scrollable flex-column\" [ngClass]=\"\r\n selectedStatus === 'active' ? 'surface-card' : 'inactive-card-wrapper'\r\n \">\r\n @for(record of associateQueueList; track record; let i = $index) {\r\n @if(record){\r\n <div class=\"col-12 md:col-12 border-bottom-1 p-0 surface-border gap-2 hover:surface-ground cursor-pointer\"\r\n (click)=\"handleApplicationClick(record)\">\r\n\r\n <div class=\"col-12 md:col-12 flex align-items-center py-3 px-4 userInfo\">\r\n <div class=\"col-12 md:col-2 p-0 userImage\">\r\n <div\r\n class=\"mainimg flex align-items-center justify-content-center circleColor w-3rem h-3rem border-circle\">\r\n <span class=\"font-bold\" style=\"font-weight: 600; font-size: 13.5; font-family: inherit;\">\r\n {{ record.initials }}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-10 p-0\">\r\n <div class=\"flex justify-content-between align-items-center col-12 md:col-12 p-0\">\r\n <div class=\"userName\" style=\"font-weight: 600; font-size: 15px; \">\r\n {{ record.FullName | capitalizeWords }} \r\n </div>\r\n <div class=\"dayAndtime flex\">\r\n @if(record.message.type == \"Email\"){\r\n <span class=\"pi pi-envelope mr-2\" style=\"color: #676B89; font-size: 17px;\"></span>\r\n }\r\n @else if(record.message.type == \"SMS\") {\r\n <span class=\"pi pi-comments mr-2\" style=\"color: #676B89; font-size: 17px;\"></span>\r\n }@else if(record.message.type == \"WhatsApp\"){\r\n <span class=\"pi pi-whatsapp mr-2\" style=\"color: #676B89;font-size: 17px;\"></span>\r\n\r\n }\r\n <span style=\"color: #676B89; font-family: inherit;\"> {{record.message.day}}</span>\r\n </div>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-between mt-1\">\r\n <div class=\"email col-12 md:col-12 p-0\" style=\"color: #8A8EA6;\">\r\n {{ record.message.content }}\r\n </div>\r\n \r\n <div class=\"countOfMessages\">\r\n <span>{{record.message.count}}</span>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".label,.value{font-size:14px}.card{margin-bottom:0!important}.queue-name{max-width:85%;word-wrap:break-word;white-space:normal}.text-verflow-elipses{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{background:var(--surface-card)}.card .filter-section .filter-dropdown,.card .filter-section .filter-button{padding:.2rem .5rem;border:1px solid #cce7ff;border-radius:5px;background-color:#f0f8ff;color:#333;cursor:pointer}.set-reminder-box{background-color:#4c629214;border:1px solid rgba(76,98,146,.2)}.set-reminder-box .pi-bell{color:#f57c00}.inactive-card-wrapper{background-color:#f3f5f8;border-left:1px solid #e0e3f3!important;border-right:1px solid #e0e3f3!important}::ng-deep .inactive-tag-wrapper .p-tag{background-color:#676b89!important}.circleColor{background-color:#eef0f5;color:#4c6292}.email{max-width:85%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.countOfMessages{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#0f8bfd;color:#fff;width:22px!important;height:22px!important}.userInfo:hover{background-color:#eef0f5b3}\n"] }]
4891
+ args: [{ selector: 'queue-application-list', standalone: false, template: "<div class=\"grid m-0\">\n <div class=\"col-12\">\n <div class=\"p-fluid p-formgrid grid p-2\">\n <div class=\"card col-12 md:col-12 flex flex-column border-bottom align-items-start p-4 pb-3\" style=\"\n border-bottom: 1px solid var(--surface-border);\n border-radius: 0px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n \">\n <h4 class=\"text-color m-0 queue-name font-semibold margin\">\n {{ queueData.name }}\n </h4>\n </div>\n\n <div class=\"col-12 md:col-12 p-0 flex scrollable flex-column\" [ngClass]=\"\n selectedStatus === 'active' ? 'surface-card' : 'inactive-card-wrapper'\n \">\n @for(record of associateQueueList; track record; let i = $index) {\n @if(record){\n <div class=\"col-12 md:col-12 border-bottom-1 p-0 surface-border gap-2 hover:surface-ground cursor-pointer\"\n (click)=\"handleApplicationClick(record)\">\n\n <div class=\"col-12 md:col-12 flex align-items-center py-3 px-4 userInfo\">\n <div class=\"col-12 md:col-2 p-0 userImage\">\n <div\n class=\"mainimg flex align-items-center justify-content-center circleColor w-3rem h-3rem border-circle\">\n <span class=\"font-bold\" style=\"font-weight: 600; font-size: 13.5; font-family: inherit;\">\n {{ record.initials }}\n </span>\n </div>\n </div>\n <div class=\"col-12 md:col-10 p-0\">\n <div class=\"flex justify-content-between align-items-center col-12 md:col-12 p-0\">\n <div class=\"userName\" style=\"font-weight: 600; font-size: 15px; \">\n {{ record.FullName | capitalizeWords }} \n </div>\n <div class=\"dayAndtime flex\">\n @if(record.message.type == \"Email\"){\n <span class=\"pi pi-envelope mr-2\" style=\"color: #676B89; font-size: 17px;\"></span>\n }\n @else if(record.message.type == \"SMS\") {\n <span class=\"pi pi-comments mr-2\" style=\"color: #676B89; font-size: 17px;\"></span>\n }@else if(record.message.type == \"WhatsApp\"){\n <span class=\"pi pi-whatsapp mr-2\" style=\"color: #676B89;font-size: 17px;\"></span>\n\n }\n <span style=\"color: #676B89; font-family: inherit;\"> {{record.message.day}}</span>\n </div>\n </div>\n <div class=\"flex align-items-center justify-content-between mt-1\">\n <div class=\"email col-12 md:col-12 p-0\" style=\"color: #8A8EA6;\">\n {{ record.message.content }}\n </div>\n \n <div class=\"countOfMessages\">\n <span>{{record.message.count}}</span>\n </div>\n \n </div>\n </div>\n </div>\n </div>\n }\n }\n\n </div>\n </div>\n </div>\n</div>", styles: [".label,.value{font-size:14px}.card{margin-bottom:0!important}.queue-name{max-width:85%;word-wrap:break-word;white-space:normal}.text-verflow-elipses{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{background:var(--surface-card)}.card .filter-section .filter-dropdown,.card .filter-section .filter-button{padding:.2rem .5rem;border:1px solid #cce7ff;border-radius:5px;background-color:#f0f8ff;color:#333;cursor:pointer}.set-reminder-box{background-color:#4c629214;border:1px solid rgba(76,98,146,.2)}.set-reminder-box .pi-bell{color:#f57c00}.inactive-card-wrapper{background-color:#f3f5f8;border-left:1px solid #e0e3f3!important;border-right:1px solid #e0e3f3!important}::ng-deep .inactive-tag-wrapper .p-tag{background-color:#676b89!important}.circleColor{background-color:#eef0f5;color:#4c6292}.email{max-width:85%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.countOfMessages{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#0f8bfd;color:#fff;width:22px!important;height:22px!important}.userInfo:hover{background-color:#eef0f5b3}\n"] }]
4909
4892
  }], ctorParameters: () => [{ type: QueueService$1 }, { type: DataTransformerService }, { type: i3$4.Router }, { type: QueueStore }], propDecorators: { queueData: [{
4910
4893
  type: Input
4911
4894
  }] } });
@@ -4946,11 +4929,11 @@ class QueueAdminListComponent extends BaseContainerComponent {
4946
4929
  }
4947
4930
  }
4948
4931
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminListComponent, deps: [{ token: QueueStore }, { token: QueueService$1 }], target: i0.ɵɵFactoryTarget.Component });
4949
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueAdminListComponent, isStandalone: false, selector: "lib-queue-admin-list", usesInheritance: true, ngImport: i0, template: "<div class=\"container grid m-0\">\r\n <div class=\"col-12 xl:col-3 md:col-12\">\r\n <block-list\r\n [queueData]=\"queueList\"\r\n (queueDataById)=\"handleQueueData($event)\"\r\n ></block-list>\r\n </div>\r\n <div class=\"col-12 xl:col-3 md:col-12\">\r\n @if(selectedQueue){\r\n <div class=\"animation-duration-500 associated-list\">\r\n <queue-application-list\r\n [queueData]=\"selectedQueue\"\r\n ></queue-application-list>\r\n </div>\r\n }\r\n </div>\r\n \r\n <div class=\"xl:col-6 md:col-12\">\r\n <div class=\"searchbar-wrapper\">\r\n <queue-search-customer></queue-search-customer>\r\n </div>\r\n </div>\r\n </div>\r\n ", styles: [".custom-tabview .p-tabview-nav{display:flex}::ng-deep .custom-tabview .p-tabview-nav-content ul li{flex:1;max-width:25%}.scrollable{scroll-behavior:smooth;max-height:75vh}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background-color:#868181;border-radius:20px}\n"], dependencies: [{ kind: "component", type: QueueSearchCustomerComponent, selector: "queue-search-customer" }, { kind: "component", type: BlockListComponent, selector: "block-list", inputs: ["queueData", "showQueueDataForm"], outputs: ["queueDataById"] }, { kind: "component", type: QueueApplicationListComponent, selector: "queue-application-list", inputs: ["queueData"] }] });
4932
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueAdminListComponent, isStandalone: false, selector: "lib-queue-admin-list", usesInheritance: true, ngImport: i0, template: "<div class=\"container grid m-0\">\n <div class=\"col-12 xl:col-3 md:col-12\">\n <block-list\n [queueData]=\"queueList\"\n (queueDataById)=\"handleQueueData($event)\"\n ></block-list>\n </div>\n <div class=\"col-12 xl:col-3 md:col-12\">\n @if(selectedQueue){\n <div class=\"animation-duration-500 associated-list\">\n <queue-application-list\n [queueData]=\"selectedQueue\"\n ></queue-application-list>\n </div>\n }\n </div>\n \n <div class=\"xl:col-6 md:col-12\">\n <div class=\"searchbar-wrapper\">\n <queue-search-customer></queue-search-customer>\n </div>\n </div>\n </div>\n ", styles: [".custom-tabview .p-tabview-nav{display:flex}::ng-deep .custom-tabview .p-tabview-nav-content ul li{flex:1;max-width:25%}.scrollable{scroll-behavior:smooth;max-height:75vh}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background-color:#868181;border-radius:20px}\n"], dependencies: [{ kind: "component", type: QueueSearchCustomerComponent, selector: "queue-search-customer" }, { kind: "component", type: BlockListComponent, selector: "block-list", inputs: ["queueData", "showQueueDataForm"], outputs: ["queueDataById"] }, { kind: "component", type: QueueApplicationListComponent, selector: "queue-application-list", inputs: ["queueData"] }] });
4950
4933
  }
4951
4934
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminListComponent, decorators: [{
4952
4935
  type: Component,
4953
- args: [{ selector: 'lib-queue-admin-list', standalone: false, template: "<div class=\"container grid m-0\">\r\n <div class=\"col-12 xl:col-3 md:col-12\">\r\n <block-list\r\n [queueData]=\"queueList\"\r\n (queueDataById)=\"handleQueueData($event)\"\r\n ></block-list>\r\n </div>\r\n <div class=\"col-12 xl:col-3 md:col-12\">\r\n @if(selectedQueue){\r\n <div class=\"animation-duration-500 associated-list\">\r\n <queue-application-list\r\n [queueData]=\"selectedQueue\"\r\n ></queue-application-list>\r\n </div>\r\n }\r\n </div>\r\n \r\n <div class=\"xl:col-6 md:col-12\">\r\n <div class=\"searchbar-wrapper\">\r\n <queue-search-customer></queue-search-customer>\r\n </div>\r\n </div>\r\n </div>\r\n ", styles: [".custom-tabview .p-tabview-nav{display:flex}::ng-deep .custom-tabview .p-tabview-nav-content ul li{flex:1;max-width:25%}.scrollable{scroll-behavior:smooth;max-height:75vh}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background-color:#868181;border-radius:20px}\n"] }]
4936
+ args: [{ selector: 'lib-queue-admin-list', standalone: false, template: "<div class=\"container grid m-0\">\n <div class=\"col-12 xl:col-3 md:col-12\">\n <block-list\n [queueData]=\"queueList\"\n (queueDataById)=\"handleQueueData($event)\"\n ></block-list>\n </div>\n <div class=\"col-12 xl:col-3 md:col-12\">\n @if(selectedQueue){\n <div class=\"animation-duration-500 associated-list\">\n <queue-application-list\n [queueData]=\"selectedQueue\"\n ></queue-application-list>\n </div>\n }\n </div>\n \n <div class=\"xl:col-6 md:col-12\">\n <div class=\"searchbar-wrapper\">\n <queue-search-customer></queue-search-customer>\n </div>\n </div>\n </div>\n ", styles: [".custom-tabview .p-tabview-nav{display:flex}::ng-deep .custom-tabview .p-tabview-nav-content ul li{flex:1;max-width:25%}.scrollable{scroll-behavior:smooth;max-height:75vh}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background-color:#868181;border-radius:20px}\n"] }]
4954
4937
  }], ctorParameters: () => [{ type: QueueStore }, { type: QueueService$1 }] });
4955
4938
 
4956
4939
  class QueueAdminModule {
@@ -5039,11 +5022,11 @@ class AdminActionListComponent extends BaseListComponent {
5039
5022
  this.init(actionTableColumnWidthList);
5040
5023
  }
5041
5024
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionListComponent, deps: [{ token: AdminActionService }, { token: TableBuilder }], target: i0.ɵɵFactoryTarget.Component });
5042
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: AdminActionListComponent, isStandalone: false, selector: "lib-admin-action-list", usesInheritance: true, ngImport: i0, template: "<div class=\"dicitonary-list-wrapper\">\r\n @if(table){\r\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\"></lib-table-primary>\r\n }\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: TablePrimaryComponent, selector: "lib-table-primary", inputs: ["table", "metaData", "title", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName"] }] });
5025
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: AdminActionListComponent, isStandalone: false, selector: "lib-admin-action-list", usesInheritance: true, ngImport: i0, template: "<div class=\"dicitonary-list-wrapper\">\n @if(table){\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\"></lib-table-primary>\n }\n</div>", styles: [""], dependencies: [{ kind: "component", type: TablePrimaryComponent, selector: "lib-table-primary", inputs: ["table", "metaData", "title", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName"] }] });
5043
5026
  }
5044
5027
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionListComponent, decorators: [{
5045
5028
  type: Component,
5046
- args: [{ selector: 'lib-admin-action-list', standalone: false, template: "<div class=\"dicitonary-list-wrapper\">\r\n @if(table){\r\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\"></lib-table-primary>\r\n }\r\n</div>" }]
5029
+ args: [{ selector: 'lib-admin-action-list', standalone: false, template: "<div class=\"dicitonary-list-wrapper\">\n @if(table){\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\"></lib-table-primary>\n }\n</div>" }]
5047
5030
  }], ctorParameters: () => [{ type: AdminActionService }, { type: TableBuilder }] });
5048
5031
 
5049
5032
  class AdminActionModel extends BaseModel {
@@ -5130,11 +5113,11 @@ class AdminActionFormComponent extends BaseFormComponent {
5130
5113
  super.ngOnDestroy();
5131
5114
  }
5132
5115
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionFormComponent, deps: [{ token: AdminActionService }, { token: ValidatorService }, { token: i3$4.Router }, { token: i3$4.ActivatedRoute }, { token: AdminActionStore }, { token: AppConfigService }, { token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
5133
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: AdminActionFormComponent, isStandalone: false, selector: "lib-admin-action-form", usesInheritance: true, ngImport: i0, template: "<form-container\r\n [record]=\"record\"\r\n [headerText]=\"'Actions / Actions Form'\"\r\n [messages]=\"messages\"\r\n (onSave)=\"handleSubmit()\"\r\n [showSave]=\"true\"\r\n (onCancel)=\"handleCancel()\"\r\n>\r\n <div class=\"card p-fluid p-formgrid grid \">\r\n <h4 class=\"font-bold col-12 md:col-12\">Actions Form</h4>\r\n <div class=\"col-12 md:col-5\">\r\n <text-box\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Action Name',\r\n placeholder: 'Enter Action Name'\r\n }\"\r\n ></text-box>\r\n </div>\r\n \r\n <div class=\"col-12 md:col-5\">\r\n <dropdown\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name: 'apiConfigId',\r\n readonly: false,\r\n isRequired: true,\r\n displayText: 'End Point',\r\n placeholder: 'Select End Point'\r\n }\"></dropdown>\r\n </div>\r\n\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"adminActionStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name:'queueId',\r\n isRequired: true,\r\n displayText : 'Queue',\r\n placeholder: 'Select Queue',\r\n readonly: false\r\n }\"></dropdown>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'apiDocsUrl',\r\n isRequired: false,\r\n displayText: 'API Docs URL',\r\n placeholder: 'Enter API Docs URL'\r\n }\"\r\n ></text-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <text-area\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'prompt',\r\n isRequired: true,\r\n displayText: 'Prompt',\r\n placeholder: 'Enter prompt'\r\n }\"\r\n ></text-area>\r\n </div>\r\n\r\n <div class=\"w-full flex justify-content-end px-2 mt-2\">\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n label=\"Validate\"\r\n class=\"p-button-raised validate-btn-wrapper\"\r\n (click)=\"handleValidateAction()\"\r\n ></button>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <text-area\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'formFields',\r\n isRequired: true,\r\n displayText: 'Form Configuration',\r\n placeholder: 'Enter form fields'\r\n }\"\r\n ></text-area>\r\n </div>\r\n </div>\r\n \r\n</form-container>", styles: [".validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}\n"], dependencies: [{ kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: TextAreaComponent, selector: "text-area", inputs: ["rowspan"] }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }] });
5116
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: AdminActionFormComponent, isStandalone: false, selector: "lib-admin-action-form", usesInheritance: true, ngImport: i0, template: "<form-container\n [record]=\"record\"\n [headerText]=\"'Actions / Actions Form'\"\n [messages]=\"messages\"\n (onSave)=\"handleSubmit()\"\n [showSave]=\"true\"\n (onCancel)=\"handleCancel()\"\n>\n <div class=\"card p-fluid p-formgrid grid \">\n <h4 class=\"font-bold col-12 md:col-12\">Actions Form</h4>\n <div class=\"col-12 md:col-5\">\n <text-box\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'name',\n isRequired: true,\n displayText: 'Action Name',\n placeholder: 'Enter Action Name'\n }\"\n ></text-box>\n </div>\n \n <div class=\"col-12 md:col-5\">\n <dropdown\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n name: 'apiConfigId',\n readonly: false,\n isRequired: true,\n displayText: 'End Point',\n placeholder: 'Select End Point'\n }\"></dropdown>\n </div>\n\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"adminActionStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n\n <div class=\"col-12 md:col-6\">\n <dropdown\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n name:'queueId',\n isRequired: true,\n displayText : 'Queue',\n placeholder: 'Select Queue',\n readonly: false\n }\"></dropdown>\n </div>\n\n <div class=\"col-12 md:col-6\">\n <text-box\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'apiDocsUrl',\n isRequired: false,\n displayText: 'API Docs URL',\n placeholder: 'Enter API Docs URL'\n }\"\n ></text-box>\n </div>\n\n <div class=\"col-12 md:col-12\">\n <text-area\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'prompt',\n isRequired: true,\n displayText: 'Prompt',\n placeholder: 'Enter prompt'\n }\"\n ></text-area>\n </div>\n\n <div class=\"w-full flex justify-content-end px-2 mt-2\">\n <button\n pButton\n pRipple\n type=\"button\"\n label=\"Validate\"\n class=\"p-button-raised validate-btn-wrapper\"\n (click)=\"handleValidateAction()\"\n ></button>\n </div>\n\n <div class=\"col-12 md:col-12\">\n <text-area\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'formFields',\n isRequired: true,\n displayText: 'Form Configuration',\n placeholder: 'Enter form fields'\n }\"\n ></text-area>\n </div>\n </div>\n \n</form-container>", styles: [".validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}\n"], dependencies: [{ kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: TextAreaComponent, selector: "text-area", inputs: ["rowspan"] }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }] });
5134
5117
  }
5135
5118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionFormComponent, decorators: [{
5136
5119
  type: Component,
5137
- args: [{ selector: 'lib-admin-action-form', standalone: false, template: "<form-container\r\n [record]=\"record\"\r\n [headerText]=\"'Actions / Actions Form'\"\r\n [messages]=\"messages\"\r\n (onSave)=\"handleSubmit()\"\r\n [showSave]=\"true\"\r\n (onCancel)=\"handleCancel()\"\r\n>\r\n <div class=\"card p-fluid p-formgrid grid \">\r\n <h4 class=\"font-bold col-12 md:col-12\">Actions Form</h4>\r\n <div class=\"col-12 md:col-5\">\r\n <text-box\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Action Name',\r\n placeholder: 'Enter Action Name'\r\n }\"\r\n ></text-box>\r\n </div>\r\n \r\n <div class=\"col-12 md:col-5\">\r\n <dropdown\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name: 'apiConfigId',\r\n readonly: false,\r\n isRequired: true,\r\n displayText: 'End Point',\r\n placeholder: 'Select End Point'\r\n }\"></dropdown>\r\n </div>\r\n\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"adminActionStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name:'queueId',\r\n isRequired: true,\r\n displayText : 'Queue',\r\n placeholder: 'Select Queue',\r\n readonly: false\r\n }\"></dropdown>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'apiDocsUrl',\r\n isRequired: false,\r\n displayText: 'API Docs URL',\r\n placeholder: 'Enter API Docs URL'\r\n }\"\r\n ></text-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <text-area\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'prompt',\r\n isRequired: true,\r\n displayText: 'Prompt',\r\n placeholder: 'Enter prompt'\r\n }\"\r\n ></text-area>\r\n </div>\r\n\r\n <div class=\"w-full flex justify-content-end px-2 mt-2\">\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n label=\"Validate\"\r\n class=\"p-button-raised validate-btn-wrapper\"\r\n (click)=\"handleValidateAction()\"\r\n ></button>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <text-area\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'formFields',\r\n isRequired: true,\r\n displayText: 'Form Configuration',\r\n placeholder: 'Enter form fields'\r\n }\"\r\n ></text-area>\r\n </div>\r\n </div>\r\n \r\n</form-container>", styles: [".validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}\n"] }]
5120
+ args: [{ selector: 'lib-admin-action-form', standalone: false, template: "<form-container\n [record]=\"record\"\n [headerText]=\"'Actions / Actions Form'\"\n [messages]=\"messages\"\n (onSave)=\"handleSubmit()\"\n [showSave]=\"true\"\n (onCancel)=\"handleCancel()\"\n>\n <div class=\"card p-fluid p-formgrid grid \">\n <h4 class=\"font-bold col-12 md:col-12\">Actions Form</h4>\n <div class=\"col-12 md:col-5\">\n <text-box\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'name',\n isRequired: true,\n displayText: 'Action Name',\n placeholder: 'Enter Action Name'\n }\"\n ></text-box>\n </div>\n \n <div class=\"col-12 md:col-5\">\n <dropdown\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n name: 'apiConfigId',\n readonly: false,\n isRequired: true,\n displayText: 'End Point',\n placeholder: 'Select End Point'\n }\"></dropdown>\n </div>\n\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"adminActionStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n\n <div class=\"col-12 md:col-6\">\n <dropdown\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n name:'queueId',\n isRequired: true,\n displayText : 'Queue',\n placeholder: 'Select Queue',\n readonly: false\n }\"></dropdown>\n </div>\n\n <div class=\"col-12 md:col-6\">\n <text-box\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'apiDocsUrl',\n isRequired: false,\n displayText: 'API Docs URL',\n placeholder: 'Enter API Docs URL'\n }\"\n ></text-box>\n </div>\n\n <div class=\"col-12 md:col-12\">\n <text-area\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'prompt',\n isRequired: true,\n displayText: 'Prompt',\n placeholder: 'Enter prompt'\n }\"\n ></text-area>\n </div>\n\n <div class=\"w-full flex justify-content-end px-2 mt-2\">\n <button\n pButton\n pRipple\n type=\"button\"\n label=\"Validate\"\n class=\"p-button-raised validate-btn-wrapper\"\n (click)=\"handleValidateAction()\"\n ></button>\n </div>\n\n <div class=\"col-12 md:col-12\">\n <text-area\n [store]=\"adminActionStore\"\n [record]=\"record\"\n [attributeModel]=\"{\n readonly: false,\n name: 'formFields',\n isRequired: true,\n displayText: 'Form Configuration',\n placeholder: 'Enter form fields'\n }\"\n ></text-area>\n </div>\n </div>\n \n</form-container>", styles: [".validate-btn-wrapper{width:15%;padding:.8rem 1rem!important}\n"] }]
5138
5121
  }], ctorParameters: () => [{ type: AdminActionService }, { type: ValidatorService }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: AdminActionStore }, { type: AppConfigService }, { type: BaseStore }, { type: BaseQuery }] });
5139
5122
 
5140
5123
  class ActionAdminModule {
@@ -5349,11 +5332,11 @@ class DdAdminItemFormComponent {
5349
5332
  this.attributeRecord = new DdAttributeSidebarViewModel();
5350
5333
  }
5351
5334
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminItemFormComponent, deps: [{ token: DictionaryStore }, { token: DictionaryQuery }, { token: BaseStore }], target: i0.ɵɵFactoryTarget.Component });
5352
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DdAdminItemFormComponent, isStandalone: false, selector: "lib-dd-admin-item-form", inputs: { ddItemRecord: "ddItemRecord", isItemExpression: "isItemExpression", isSidebarVisible: "isSidebarVisible" }, outputs: { saveClick: "saveClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dicitonary-edit-action px-3\">\r\n <div class=\"flex align-items-center justify-content-end mt-3\">\r\n <lib-button\r\n [store]=\"dictionaryStore\"\r\n [record]=\"attributeRecord\"\r\n [attributeModel]=\"{\r\n buttonLabel: 'Save',\r\n isDisabled: false,\r\n }\"\r\n (onBtnClick)=\"handleSaveBtnClick($event)\"\r\n >\r\n </lib-button>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12 mt-5\">\r\n <label *ngIf=\"!isItemExpression\" for=\"styleInput\" class=\"text-gray-600 text-sm mb-2 block\">\r\n Hint: Use key-value pairs for styles.\r\n <br/>\r\n Example:<code>\r\n 'background-color': 'lightgray',\r\n 'font-size': '16px',<br>\r\n 'padding': '10px'\r\n </code>\r\n </label>\r\n <text-area\r\n [store]=\"dictionaryStore\"\r\n [record]=\"attributeRecord\"\r\n [attributeModel]=\"{\r\n displayText: 'Expression',\r\n readonly : false,\r\n name : 'mappingInfo',\r\n isRequired : isItemExpression ? true : false,\r\n placeholder : 'Enter Text',\r\n customPadding: '12px',\r\n }\"\r\n ></text-area>\r\n </div>\r\n <div class=\"col-12 md:col-12\">\r\n <div class=\"p-field queue-list-wrapper\">\r\n <dropdown [store]=\"dictionaryStore\" [isStaticDropdown]=\"true\" [record]=\"attributeRecord\" [attributeModel]=\"{\r\n name:'propertyList',\r\n displayText : 'Select properties',\r\n isRequired:false,\r\n listLabelProperty: 'label',\r\n listValueProperty: 'value',\r\n options : propertyOptions,\r\n filter : true\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-3\">\r\n <lib-button\r\n [store]=\"dictionaryStore\"\r\n [record]=\"attributeRecord\"\r\n [attributeModel]=\"{\r\n buttonLabel: 'Add to expression',\r\n isDisabled: false,\r\n }\"\r\n (onBtnClick)=\"handleAddExpressionClick($event)\"\r\n >\r\n </lib-button>\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: ButtonComponent, selector: "lib-button" }, { kind: "component", type: TextAreaComponent, selector: "text-area", inputs: ["rowspan"] }] });
5335
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DdAdminItemFormComponent, isStandalone: false, selector: "lib-dd-admin-item-form", inputs: { ddItemRecord: "ddItemRecord", isItemExpression: "isItemExpression", isSidebarVisible: "isSidebarVisible" }, outputs: { saveClick: "saveClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dicitonary-edit-action px-3\">\n <div class=\"flex align-items-center justify-content-end mt-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Save',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleSaveBtnClick($event)\"\n >\n </lib-button>\n </div>\n\n <div class=\"col-12 md:col-12 mt-5\">\n <label *ngIf=\"!isItemExpression\" for=\"styleInput\" class=\"text-gray-600 text-sm mb-2 block\">\n Hint: Use key-value pairs for styles.\n <br/>\n Example:<code>\n 'background-color': 'lightgray',\n 'font-size': '16px',<br>\n 'padding': '10px'\n </code>\n </label>\n <text-area\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n displayText: 'Expression',\n readonly : false,\n name : 'mappingInfo',\n isRequired : isItemExpression ? true : false,\n placeholder : 'Enter Text',\n customPadding: '12px',\n }\"\n ></text-area>\n </div>\n <div class=\"col-12 md:col-12\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"dictionaryStore\" [isStaticDropdown]=\"true\" [record]=\"attributeRecord\" [attributeModel]=\"{\n name:'propertyList',\n displayText : 'Select properties',\n isRequired:false,\n listLabelProperty: 'label',\n listValueProperty: 'value',\n options : propertyOptions,\n filter : true\n }\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-12 md:col-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Add to expression',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleAddExpressionClick($event)\"\n >\n </lib-button>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: ButtonComponent, selector: "lib-button" }, { kind: "component", type: TextAreaComponent, selector: "text-area", inputs: ["rowspan"] }] });
5353
5336
  }
5354
5337
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminItemFormComponent, decorators: [{
5355
5338
  type: Component,
5356
- args: [{ selector: 'lib-dd-admin-item-form', standalone: false, template: "<div class=\"dicitonary-edit-action px-3\">\r\n <div class=\"flex align-items-center justify-content-end mt-3\">\r\n <lib-button\r\n [store]=\"dictionaryStore\"\r\n [record]=\"attributeRecord\"\r\n [attributeModel]=\"{\r\n buttonLabel: 'Save',\r\n isDisabled: false,\r\n }\"\r\n (onBtnClick)=\"handleSaveBtnClick($event)\"\r\n >\r\n </lib-button>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12 mt-5\">\r\n <label *ngIf=\"!isItemExpression\" for=\"styleInput\" class=\"text-gray-600 text-sm mb-2 block\">\r\n Hint: Use key-value pairs for styles.\r\n <br/>\r\n Example:<code>\r\n 'background-color': 'lightgray',\r\n 'font-size': '16px',<br>\r\n 'padding': '10px'\r\n </code>\r\n </label>\r\n <text-area\r\n [store]=\"dictionaryStore\"\r\n [record]=\"attributeRecord\"\r\n [attributeModel]=\"{\r\n displayText: 'Expression',\r\n readonly : false,\r\n name : 'mappingInfo',\r\n isRequired : isItemExpression ? true : false,\r\n placeholder : 'Enter Text',\r\n customPadding: '12px',\r\n }\"\r\n ></text-area>\r\n </div>\r\n <div class=\"col-12 md:col-12\">\r\n <div class=\"p-field queue-list-wrapper\">\r\n <dropdown [store]=\"dictionaryStore\" [isStaticDropdown]=\"true\" [record]=\"attributeRecord\" [attributeModel]=\"{\r\n name:'propertyList',\r\n displayText : 'Select properties',\r\n isRequired:false,\r\n listLabelProperty: 'label',\r\n listValueProperty: 'value',\r\n options : propertyOptions,\r\n filter : true\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-3\">\r\n <lib-button\r\n [store]=\"dictionaryStore\"\r\n [record]=\"attributeRecord\"\r\n [attributeModel]=\"{\r\n buttonLabel: 'Add to expression',\r\n isDisabled: false,\r\n }\"\r\n (onBtnClick)=\"handleAddExpressionClick($event)\"\r\n >\r\n </lib-button>\r\n </div>\r\n</div>" }]
5339
+ args: [{ selector: 'lib-dd-admin-item-form', standalone: false, template: "<div class=\"dicitonary-edit-action px-3\">\n <div class=\"flex align-items-center justify-content-end mt-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Save',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleSaveBtnClick($event)\"\n >\n </lib-button>\n </div>\n\n <div class=\"col-12 md:col-12 mt-5\">\n <label *ngIf=\"!isItemExpression\" for=\"styleInput\" class=\"text-gray-600 text-sm mb-2 block\">\n Hint: Use key-value pairs for styles.\n <br/>\n Example:<code>\n 'background-color': 'lightgray',\n 'font-size': '16px',<br>\n 'padding': '10px'\n </code>\n </label>\n <text-area\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n displayText: 'Expression',\n readonly : false,\n name : 'mappingInfo',\n isRequired : isItemExpression ? true : false,\n placeholder : 'Enter Text',\n customPadding: '12px',\n }\"\n ></text-area>\n </div>\n <div class=\"col-12 md:col-12\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"dictionaryStore\" [isStaticDropdown]=\"true\" [record]=\"attributeRecord\" [attributeModel]=\"{\n name:'propertyList',\n displayText : 'Select properties',\n isRequired:false,\n listLabelProperty: 'label',\n listValueProperty: 'value',\n options : propertyOptions,\n filter : true\n }\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-12 md:col-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Add to expression',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleAddExpressionClick($event)\"\n >\n </lib-button>\n </div>\n</div>" }]
5357
5340
  }], ctorParameters: () => [{ type: DictionaryStore }, { type: DictionaryQuery }, { type: BaseStore }], propDecorators: { ddItemRecord: [{
5358
5341
  type: Input
5359
5342
  }], isItemExpression: [{
@@ -5461,11 +5444,11 @@ class DdAdminFormComponent extends BaseFormComponent {
5461
5444
  super.ngOnDestroy();
5462
5445
  }
5463
5446
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminFormComponent, deps: [{ token: DictionaryService }, { token: DictionaryQuery }, { token: ValidatorService }, { token: i3$4.Router }, { token: i3$4.ActivatedRoute }, { token: DictionaryStore }, { token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
5464
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DdAdminFormComponent, isStandalone: false, selector: "lib-dd-admin-form", usesInheritance: true, ngImport: i0, template: "<form-container [messages]=\"messages\" [record]=\"record\" [headerText]=\"'Dictionary Form'\" [showSave]=\"true\"\r\n (onCancel)=\"handleCancel()\" (onSave)=\"handleSubmit()\">\r\n <div class=\"card p-fluid p-formgrid grid m-0\">\r\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\">\r\n <div class=\"col-12 md:col-5 p-field\">\r\n <div class=\"dictionary-name\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly : false,\r\n name : 'name',\r\n isRequired : true,\r\n displayText: 'Dictionary Name',\r\n placeholder : 'Enter Text',\r\n }\"></text-box>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-5\">\r\n <div class=\"p-field queue-list-wrapper\">\r\n <dropdown [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\r\n name: 'apiConfigId',\r\n dataSource: 'apiconfigs',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id',\r\n displayText: 'API ',\r\n placeholder: 'Select API',\r\n isRequired: true\r\n }\" (onInput)=\"handleGetProperties($event)\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field p-0 pr-2 ml-3 col-12 md:col-2\">\r\n <div class=\"card m-0 p-0 mb-2\">\r\n <div class=\"mt-3 w-full flex\">\r\n <button pButton pRipple routerLinkActive=\"router-link-active\"\r\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\r\n (click)=\"handleDictionaryItemAddBtnClick()\">\r\n Add New Item\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- dictionary Items -->\r\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\"\r\n *ngFor=\"let ddItem of record.dictionaryItems; let i = index\">\r\n <div class=\"field col-12 md:col-3 pr-0\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name : 'itemName',\r\n readonly : false,\r\n displayText : 'Item Name',\r\n isRequired : true,\r\n }\"></text-box>\r\n </div>\r\n <div class=\"field flex align-items-center justify-content-between col-12 md:col-3 pr-0\">\r\n <div class=\"flex align-items-center w-full\">\r\n <div class=\"w-full mr-3\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name : 'itemExpression',\r\n readonly : true,\r\n displayText : 'Item Expression',\r\n isRequired : true,\r\n }\">\r\n </text-box>\r\n </div>\r\n <span class=\"pi pi-cog mt-4 cursor-pointer text-xl\"\r\n (click)=\"handleItemExpression(i, $event )\"></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field col-12 md:col-3 flex align-items-center justify-content-between pr-0\">\r\n <div class=\"flex align-items-center w-full\">\r\n <div class=\"w-full mr-3\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name : 'styleExpression',\r\n readonly : false,\r\n disable : true,\r\n displayText : 'Style Expression',\r\n isRequired : false,\r\n }\">\r\n </text-box>\r\n </div>\r\n <span class=\"pi pi-cog mt-4 text-xl cursor-pointer text-color\"\r\n (click)=\"handleStyleExpression(i, $event)\"></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field col-12 md:col-2 flex align-items-center justify-content-center mt-4\">\r\n <check-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Is Active',\r\n }\">\r\n </check-box>\r\n\r\n <div class=\"ml-6 delete-icon-container\">\r\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\"\r\n (click)=\"handleDeleteRecord(i, ddItem?._id)\"></i>\r\n </div>\r\n </div>\r\n <sidebar [isSidebarVisible]=\"sidebarVisibility[i]\" [title]=\"'Edit Expression'\"\r\n (onClose)=\"onSidebarClose($event)\">\r\n <lib-dd-admin-item-form [ddItemRecord]=\"ddItem\" [isItemExpression]=\"isItemExpression\"\r\n (saveClick)=\"onSidebarClose($event)\"></lib-dd-admin-item-form>\r\n </sidebar>\r\n </div>\r\n\r\n </div>\r\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: SidebarComponent, selector: "sidebar", inputs: ["isSidebarVisible", "title"], outputs: ["onClose"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: DdAdminItemFormComponent, selector: "lib-dd-admin-item-form", inputs: ["ddItemRecord", "isItemExpression", "isSidebarVisible"], outputs: ["saveClick"] }] });
5447
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DdAdminFormComponent, isStandalone: false, selector: "lib-dd-admin-form", usesInheritance: true, ngImport: i0, template: "<form-container [messages]=\"messages\" [record]=\"record\" [headerText]=\"'Dictionary Form'\" [showSave]=\"true\"\n (onCancel)=\"handleCancel()\" (onSave)=\"handleSubmit()\">\n <div class=\"card p-fluid p-formgrid grid m-0\">\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\">\n <div class=\"col-12 md:col-5 p-field\">\n <div class=\"dictionary-name\">\n <text-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n readonly : false,\n name : 'name',\n isRequired : true,\n displayText: 'Dictionary Name',\n placeholder : 'Enter Text',\n }\"></text-box>\n </div>\n </div>\n <div class=\"col-12 md:col-5\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n name: 'apiConfigId',\n dataSource: 'apiconfigs',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n displayText: 'API ',\n placeholder: 'Select API',\n isRequired: true\n }\" (onInput)=\"handleGetProperties($event)\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n </div>\n\n <div class=\"field p-0 pr-2 ml-3 col-12 md:col-2\">\n <div class=\"card m-0 p-0 mb-2\">\n <div class=\"mt-3 w-full flex\">\n <button pButton pRipple routerLinkActive=\"router-link-active\"\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\n (click)=\"handleDictionaryItemAddBtnClick()\">\n Add New Item\n </button>\n </div>\n </div>\n </div>\n\n <!-- dictionary Items -->\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\"\n *ngFor=\"let ddItem of record.dictionaryItems; let i = index\">\n <div class=\"field col-12 md:col-3 pr-0\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemName',\n readonly : false,\n displayText : 'Item Name',\n isRequired : true,\n }\"></text-box>\n </div>\n <div class=\"field flex align-items-center justify-content-between col-12 md:col-3 pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemExpression',\n readonly : true,\n displayText : 'Item Expression',\n isRequired : true,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 cursor-pointer text-xl\"\n (click)=\"handleItemExpression(i, $event )\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-3 flex align-items-center justify-content-between pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'styleExpression',\n readonly : false,\n disable : true,\n displayText : 'Style Expression',\n isRequired : false,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 text-xl cursor-pointer text-color\"\n (click)=\"handleStyleExpression(i, $event)\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-2 flex align-items-center justify-content-center mt-4\">\n <check-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Is Active',\n }\">\n </check-box>\n\n <div class=\"ml-6 delete-icon-container\">\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\"\n (click)=\"handleDeleteRecord(i, ddItem?._id)\"></i>\n </div>\n </div>\n <sidebar [isSidebarVisible]=\"sidebarVisibility[i]\" [title]=\"'Edit Expression'\"\n (onClose)=\"onSidebarClose($event)\">\n <lib-dd-admin-item-form [ddItemRecord]=\"ddItem\" [isItemExpression]=\"isItemExpression\"\n (saveClick)=\"onSidebarClose($event)\"></lib-dd-admin-item-form>\n </sidebar>\n </div>\n\n </div>\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: SidebarComponent, selector: "sidebar", inputs: ["isSidebarVisible", "title"], outputs: ["onClose"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }, { kind: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: DdAdminItemFormComponent, selector: "lib-dd-admin-item-form", inputs: ["ddItemRecord", "isItemExpression", "isSidebarVisible"], outputs: ["saveClick"] }] });
5465
5448
  }
5466
5449
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminFormComponent, decorators: [{
5467
5450
  type: Component,
5468
- args: [{ selector: 'lib-dd-admin-form', standalone: false, template: "<form-container [messages]=\"messages\" [record]=\"record\" [headerText]=\"'Dictionary Form'\" [showSave]=\"true\"\r\n (onCancel)=\"handleCancel()\" (onSave)=\"handleSubmit()\">\r\n <div class=\"card p-fluid p-formgrid grid m-0\">\r\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\">\r\n <div class=\"col-12 md:col-5 p-field\">\r\n <div class=\"dictionary-name\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly : false,\r\n name : 'name',\r\n isRequired : true,\r\n displayText: 'Dictionary Name',\r\n placeholder : 'Enter Text',\r\n }\"></text-box>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-5\">\r\n <div class=\"p-field queue-list-wrapper\">\r\n <dropdown [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\r\n name: 'apiConfigId',\r\n dataSource: 'apiconfigs',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id',\r\n displayText: 'API ',\r\n placeholder: 'Select API',\r\n isRequired: true\r\n }\" (onInput)=\"handleGetProperties($event)\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field p-0 pr-2 ml-3 col-12 md:col-2\">\r\n <div class=\"card m-0 p-0 mb-2\">\r\n <div class=\"mt-3 w-full flex\">\r\n <button pButton pRipple routerLinkActive=\"router-link-active\"\r\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\r\n (click)=\"handleDictionaryItemAddBtnClick()\">\r\n Add New Item\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- dictionary Items -->\r\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\"\r\n *ngFor=\"let ddItem of record.dictionaryItems; let i = index\">\r\n <div class=\"field col-12 md:col-3 pr-0\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name : 'itemName',\r\n readonly : false,\r\n displayText : 'Item Name',\r\n isRequired : true,\r\n }\"></text-box>\r\n </div>\r\n <div class=\"field flex align-items-center justify-content-between col-12 md:col-3 pr-0\">\r\n <div class=\"flex align-items-center w-full\">\r\n <div class=\"w-full mr-3\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name : 'itemExpression',\r\n readonly : true,\r\n displayText : 'Item Expression',\r\n isRequired : true,\r\n }\">\r\n </text-box>\r\n </div>\r\n <span class=\"pi pi-cog mt-4 cursor-pointer text-xl\"\r\n (click)=\"handleItemExpression(i, $event )\"></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field col-12 md:col-3 flex align-items-center justify-content-between pr-0\">\r\n <div class=\"flex align-items-center w-full\">\r\n <div class=\"w-full mr-3\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name : 'styleExpression',\r\n readonly : false,\r\n disable : true,\r\n displayText : 'Style Expression',\r\n isRequired : false,\r\n }\">\r\n </text-box>\r\n </div>\r\n <span class=\"pi pi-cog mt-4 text-xl cursor-pointer text-color\"\r\n (click)=\"handleStyleExpression(i, $event)\"></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field col-12 md:col-2 flex align-items-center justify-content-center mt-4\">\r\n <check-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Is Active',\r\n }\">\r\n </check-box>\r\n\r\n <div class=\"ml-6 delete-icon-container\">\r\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\"\r\n (click)=\"handleDeleteRecord(i, ddItem?._id)\"></i>\r\n </div>\r\n </div>\r\n <sidebar [isSidebarVisible]=\"sidebarVisibility[i]\" [title]=\"'Edit Expression'\"\r\n (onClose)=\"onSidebarClose($event)\">\r\n <lib-dd-admin-item-form [ddItemRecord]=\"ddItem\" [isItemExpression]=\"isItemExpression\"\r\n (saveClick)=\"onSidebarClose($event)\"></lib-dd-admin-item-form>\r\n </sidebar>\r\n </div>\r\n\r\n </div>\r\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"] }]
5451
+ args: [{ selector: 'lib-dd-admin-form', standalone: false, template: "<form-container [messages]=\"messages\" [record]=\"record\" [headerText]=\"'Dictionary Form'\" [showSave]=\"true\"\n (onCancel)=\"handleCancel()\" (onSave)=\"handleSubmit()\">\n <div class=\"card p-fluid p-formgrid grid m-0\">\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\">\n <div class=\"col-12 md:col-5 p-field\">\n <div class=\"dictionary-name\">\n <text-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n readonly : false,\n name : 'name',\n isRequired : true,\n displayText: 'Dictionary Name',\n placeholder : 'Enter Text',\n }\"></text-box>\n </div>\n </div>\n <div class=\"col-12 md:col-5\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n name: 'apiConfigId',\n dataSource: 'apiconfigs',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n displayText: 'API ',\n placeholder: 'Select API',\n isRequired: true\n }\" (onInput)=\"handleGetProperties($event)\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n </div>\n\n <div class=\"field p-0 pr-2 ml-3 col-12 md:col-2\">\n <div class=\"card m-0 p-0 mb-2\">\n <div class=\"mt-3 w-full flex\">\n <button pButton pRipple routerLinkActive=\"router-link-active\"\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\n (click)=\"handleDictionaryItemAddBtnClick()\">\n Add New Item\n </button>\n </div>\n </div>\n </div>\n\n <!-- dictionary Items -->\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\"\n *ngFor=\"let ddItem of record.dictionaryItems; let i = index\">\n <div class=\"field col-12 md:col-3 pr-0\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemName',\n readonly : false,\n displayText : 'Item Name',\n isRequired : true,\n }\"></text-box>\n </div>\n <div class=\"field flex align-items-center justify-content-between col-12 md:col-3 pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemExpression',\n readonly : true,\n displayText : 'Item Expression',\n isRequired : true,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 cursor-pointer text-xl\"\n (click)=\"handleItemExpression(i, $event )\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-3 flex align-items-center justify-content-between pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'styleExpression',\n readonly : false,\n disable : true,\n displayText : 'Style Expression',\n isRequired : false,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 text-xl cursor-pointer text-color\"\n (click)=\"handleStyleExpression(i, $event)\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-2 flex align-items-center justify-content-center mt-4\">\n <check-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Is Active',\n }\">\n </check-box>\n\n <div class=\"ml-6 delete-icon-container\">\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\"\n (click)=\"handleDeleteRecord(i, ddItem?._id)\"></i>\n </div>\n </div>\n <sidebar [isSidebarVisible]=\"sidebarVisibility[i]\" [title]=\"'Edit Expression'\"\n (onClose)=\"onSidebarClose($event)\">\n <lib-dd-admin-item-form [ddItemRecord]=\"ddItem\" [isItemExpression]=\"isItemExpression\"\n (saveClick)=\"onSidebarClose($event)\"></lib-dd-admin-item-form>\n </sidebar>\n </div>\n\n </div>\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"] }]
5469
5452
  }], ctorParameters: () => [{ type: DictionaryService }, { type: DictionaryQuery }, { type: ValidatorService }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: DictionaryStore }, { type: BaseStore }, { type: BaseQuery }] });
5470
5453
 
5471
5454
  class DdAdminListComponent extends BaseListComponent {
@@ -5482,11 +5465,11 @@ class DdAdminListComponent extends BaseListComponent {
5482
5465
  this.init();
5483
5466
  }
5484
5467
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminListComponent, deps: [{ token: DictionaryService }, { token: TableBuilder }], target: i0.ɵɵFactoryTarget.Component });
5485
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: DdAdminListComponent, isStandalone: false, selector: "lib-dd-admin-list", usesInheritance: true, ngImport: i0, template: "<div class=\"dicitonary-list-wrapper\">\r\n @if(table){\r\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\"></lib-table-primary>\r\n }\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: TablePrimaryComponent, selector: "lib-table-primary", inputs: ["table", "metaData", "title", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName"] }] });
5468
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: DdAdminListComponent, isStandalone: false, selector: "lib-dd-admin-list", usesInheritance: true, ngImport: i0, template: "<div class=\"dicitonary-list-wrapper\">\n @if(table){\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\"></lib-table-primary>\n }\n</div>", styles: [""], dependencies: [{ kind: "component", type: TablePrimaryComponent, selector: "lib-table-primary", inputs: ["table", "metaData", "title", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName"] }] });
5486
5469
  }
5487
5470
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminListComponent, decorators: [{
5488
5471
  type: Component,
5489
- args: [{ selector: 'lib-dd-admin-list', standalone: false, template: "<div class=\"dicitonary-list-wrapper\">\r\n @if(table){\r\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\"></lib-table-primary>\r\n }\r\n</div>" }]
5472
+ args: [{ selector: 'lib-dd-admin-list', standalone: false, template: "<div class=\"dicitonary-list-wrapper\">\n @if(table){\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\"></lib-table-primary>\n }\n</div>" }]
5490
5473
  }], ctorParameters: () => [{ type: DictionaryService }, { type: TableBuilder }] });
5491
5474
 
5492
5475
  class DdAdminModule {
@@ -5691,11 +5674,11 @@ class TemplateAdminFormComponent extends BaseFormComponent {
5691
5674
  super.ngOnDestroy();
5692
5675
  }
5693
5676
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminFormComponent, deps: [{ token: TemplateAdminService }, { token: ValidatorService }, { token: i3$4.Router }, { token: i3$4.ActivatedRoute }, { token: TemplateAdminQuery }, { token: TemplateAdminStore }, { token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
5694
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: TemplateAdminFormComponent, isStandalone: false, selector: "lib-template-admin-form", usesInheritance: true, ngImport: i0, template: "<form-container [record]=\"record\" [showSave]=\"true\" [messages]=\"message\" (onSave)=\"handleSubmit()\"\r\n (onCancel)=\"handleCancel()\">\r\n <div class=\"card p-fluid p-formgrid\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Template Form</h4>\r\n <div class=\"col-12 md:col-12 flex px-0\">\r\n <div class=\"col-12 md:col-5\">\r\n <text-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Name',\r\n placeholder: 'Enter Template Name'\r\n }\"></text-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-5\">\r\n <div class=\"p-field queue-list-wrapper\">\r\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name: 'type',\r\n displayText: 'Type',\r\n listLabelProperty: 'value',\r\n listValueProperty: 'value',\r\n placeholder: 'Select Type',\r\n isRequired: true,\r\n options: templateTypeList\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12 flex px-0\">\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'queueId',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id',\r\n displayText : 'Select Queue',\r\n placeholder: 'Select Queue',\r\n isRequired:true\r\n }\" (onInput)=\"handleQueueChange($event)\">\r\n </dropdown>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name: 'dictionaryID',\r\n displayText: 'Select Dictionary',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id',\r\n placeholder: 'Select Dictionary',\r\n options: dictionaries\r\n }\" (onInput)=\"handleDictionarySelect($event)\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12 flex px-0\">\r\n <div *ngIf=\"record.type === 'email'\" class=\"col-12 md:col-6\">\r\n <text-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly: false,\r\n name: 'subject',\r\n isRequired: true,\r\n displayText: 'Subject',\r\n placeholder: 'Enter Subject'\r\n }\"></text-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name: 'dictionaryItemID',\r\n displayText: 'Select Dictionary Item',\r\n listLabelProperty: 'itemName',\r\n listValueProperty: '_id',\r\n placeholder: 'Select Dictionary Item',\r\n options: dictionaryItems\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <label>Message</label>\r\n <span class=\"asterisk ml-1\">*</span>\r\n <quill-editor [(ngModel)]=\"messageContent\" class=\"w-full mt-2\"></quill-editor>\r\n <div *ngIf=\"isFormSubmitted && !messageContent\" class=\"error-message\">\r\n <small class=\"p-error\">Message is required</small>\r\n </div>\r\n </div>\r\n </div>\r\n</form-container>", styles: [".asterisk{color:red}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { 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: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }, { kind: "component", type: i1$2.QuillEditorComponent, selector: "quill-editor" }] });
5677
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: TemplateAdminFormComponent, isStandalone: false, selector: "lib-template-admin-form", usesInheritance: true, ngImport: i0, template: "<form-container [record]=\"record\" [showSave]=\"true\" [messages]=\"message\" (onSave)=\"handleSubmit()\"\n (onCancel)=\"handleCancel()\">\n <div class=\"card p-fluid p-formgrid\">\n <h4 class=\"font-bold col-12 md:col-12\">Template Form</h4>\n <div class=\"col-12 md:col-12 flex px-0\">\n <div class=\"col-12 md:col-5\">\n <text-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\n readonly: false,\n name: 'name',\n isRequired: true,\n displayText: 'Name',\n placeholder: 'Enter Template Name'\n }\"></text-box>\n </div>\n\n <div class=\"col-12 md:col-5\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name: 'type',\n displayText: 'Type',\n listLabelProperty: 'value',\n listValueProperty: 'value',\n placeholder: 'Select Type',\n isRequired: true,\n options: templateTypeList\n }\">\n </dropdown>\n </div>\n </div>\n\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n </div>\n\n <div class=\"col-12 md:col-12 flex px-0\">\n <div class=\"col-12 md:col-6\">\n <dropdown [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\n name:'queueId',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n displayText : 'Select Queue',\n placeholder: 'Select Queue',\n isRequired:true\n }\" (onInput)=\"handleQueueChange($event)\">\n </dropdown>\n </div>\n\n <div class=\"col-12 md:col-6\">\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name: 'dictionaryID',\n displayText: 'Select Dictionary',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n placeholder: 'Select Dictionary',\n options: dictionaries\n }\" (onInput)=\"handleDictionarySelect($event)\">\n </dropdown>\n </div>\n </div>\n\n <div class=\"col-12 md:col-12 flex px-0\">\n <div *ngIf=\"record.type === 'email'\" class=\"col-12 md:col-6\">\n <text-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\n readonly: false,\n name: 'subject',\n isRequired: true,\n displayText: 'Subject',\n placeholder: 'Enter Subject'\n }\"></text-box>\n </div>\n\n <div class=\"col-12 md:col-6\">\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name: 'dictionaryItemID',\n displayText: 'Select Dictionary Item',\n listLabelProperty: 'itemName',\n listValueProperty: '_id',\n placeholder: 'Select Dictionary Item',\n options: dictionaryItems\n }\">\n </dropdown>\n </div>\n </div>\n\n <div class=\"col-12 md:col-12\">\n <label>Message</label>\n <span class=\"asterisk ml-1\">*</span>\n <quill-editor [(ngModel)]=\"messageContent\" class=\"w-full mt-2\"></quill-editor>\n <div *ngIf=\"isFormSubmitted && !messageContent\" class=\"error-message\">\n <small class=\"p-error\">Message is required</small>\n </div>\n </div>\n </div>\n</form-container>", styles: [".asterisk{color:red}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { 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: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }, { kind: "component", type: i1$2.QuillEditorComponent, selector: "quill-editor" }] });
5695
5678
  }
5696
5679
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminFormComponent, decorators: [{
5697
5680
  type: Component,
5698
- args: [{ selector: 'lib-template-admin-form', standalone: false, template: "<form-container [record]=\"record\" [showSave]=\"true\" [messages]=\"message\" (onSave)=\"handleSubmit()\"\r\n (onCancel)=\"handleCancel()\">\r\n <div class=\"card p-fluid p-formgrid\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Template Form</h4>\r\n <div class=\"col-12 md:col-12 flex px-0\">\r\n <div class=\"col-12 md:col-5\">\r\n <text-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Name',\r\n placeholder: 'Enter Template Name'\r\n }\"></text-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-5\">\r\n <div class=\"p-field queue-list-wrapper\">\r\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name: 'type',\r\n displayText: 'Type',\r\n listLabelProperty: 'value',\r\n listValueProperty: 'value',\r\n placeholder: 'Select Type',\r\n isRequired: true,\r\n options: templateTypeList\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12 flex px-0\">\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'queueId',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id',\r\n displayText : 'Select Queue',\r\n placeholder: 'Select Queue',\r\n isRequired:true\r\n }\" (onInput)=\"handleQueueChange($event)\">\r\n </dropdown>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name: 'dictionaryID',\r\n displayText: 'Select Dictionary',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id',\r\n placeholder: 'Select Dictionary',\r\n options: dictionaries\r\n }\" (onInput)=\"handleDictionarySelect($event)\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12 flex px-0\">\r\n <div *ngIf=\"record.type === 'email'\" class=\"col-12 md:col-6\">\r\n <text-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly: false,\r\n name: 'subject',\r\n isRequired: true,\r\n displayText: 'Subject',\r\n placeholder: 'Enter Subject'\r\n }\"></text-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name: 'dictionaryItemID',\r\n displayText: 'Select Dictionary Item',\r\n listLabelProperty: 'itemName',\r\n listValueProperty: '_id',\r\n placeholder: 'Select Dictionary Item',\r\n options: dictionaryItems\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <label>Message</label>\r\n <span class=\"asterisk ml-1\">*</span>\r\n <quill-editor [(ngModel)]=\"messageContent\" class=\"w-full mt-2\"></quill-editor>\r\n <div *ngIf=\"isFormSubmitted && !messageContent\" class=\"error-message\">\r\n <small class=\"p-error\">Message is required</small>\r\n </div>\r\n </div>\r\n </div>\r\n</form-container>", styles: [".asterisk{color:red}\n"] }]
5681
+ args: [{ selector: 'lib-template-admin-form', standalone: false, template: "<form-container [record]=\"record\" [showSave]=\"true\" [messages]=\"message\" (onSave)=\"handleSubmit()\"\n (onCancel)=\"handleCancel()\">\n <div class=\"card p-fluid p-formgrid\">\n <h4 class=\"font-bold col-12 md:col-12\">Template Form</h4>\n <div class=\"col-12 md:col-12 flex px-0\">\n <div class=\"col-12 md:col-5\">\n <text-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\n readonly: false,\n name: 'name',\n isRequired: true,\n displayText: 'Name',\n placeholder: 'Enter Template Name'\n }\"></text-box>\n </div>\n\n <div class=\"col-12 md:col-5\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name: 'type',\n displayText: 'Type',\n listLabelProperty: 'value',\n listValueProperty: 'value',\n placeholder: 'Select Type',\n isRequired: true,\n options: templateTypeList\n }\">\n </dropdown>\n </div>\n </div>\n\n <div class=\"col-2 md:col-2 mt-5\">\n <check-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Active',\n }\">\n </check-box>\n </div>\n </div>\n\n <div class=\"col-12 md:col-12 flex px-0\">\n <div class=\"col-12 md:col-6\">\n <dropdown [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\n name:'queueId',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n displayText : 'Select Queue',\n placeholder: 'Select Queue',\n isRequired:true\n }\" (onInput)=\"handleQueueChange($event)\">\n </dropdown>\n </div>\n\n <div class=\"col-12 md:col-6\">\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name: 'dictionaryID',\n displayText: 'Select Dictionary',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n placeholder: 'Select Dictionary',\n options: dictionaries\n }\" (onInput)=\"handleDictionarySelect($event)\">\n </dropdown>\n </div>\n </div>\n\n <div class=\"col-12 md:col-12 flex px-0\">\n <div *ngIf=\"record.type === 'email'\" class=\"col-12 md:col-6\">\n <text-box [store]=\"templateStore\" [record]=\"record\" [attributeModel]=\"{\n readonly: false,\n name: 'subject',\n isRequired: true,\n displayText: 'Subject',\n placeholder: 'Enter Subject'\n }\"></text-box>\n </div>\n\n <div class=\"col-12 md:col-6\">\n <dropdown [store]=\"templateStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\n name: 'dictionaryItemID',\n displayText: 'Select Dictionary Item',\n listLabelProperty: 'itemName',\n listValueProperty: '_id',\n placeholder: 'Select Dictionary Item',\n options: dictionaryItems\n }\">\n </dropdown>\n </div>\n </div>\n\n <div class=\"col-12 md:col-12\">\n <label>Message</label>\n <span class=\"asterisk ml-1\">*</span>\n <quill-editor [(ngModel)]=\"messageContent\" class=\"w-full mt-2\"></quill-editor>\n <div *ngIf=\"isFormSubmitted && !messageContent\" class=\"error-message\">\n <small class=\"p-error\">Message is required</small>\n </div>\n </div>\n </div>\n</form-container>", styles: [".asterisk{color:red}\n"] }]
5699
5682
  }], ctorParameters: () => [{ type: TemplateAdminService }, { type: ValidatorService }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: TemplateAdminQuery }, { type: TemplateAdminStore }, { type: BaseStore }, { type: BaseQuery }] });
5700
5683
 
5701
5684
  class TemplateAdminListComponent extends BaseListComponent {
@@ -5721,11 +5704,11 @@ class TemplateAdminListComponent extends BaseListComponent {
5721
5704
  this.baseStore.setSelectedTemplate(this.activeTabIndex === 0 ? SHARED.EMPTY : this.selectedType);
5722
5705
  }
5723
5706
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminListComponent, deps: [{ token: TemplateAdminService }, { token: TableBuilder }, { token: BaseStore }], target: i0.ɵɵFactoryTarget.Component });
5724
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: TemplateAdminListComponent, isStandalone: false, selector: "lib-template-admin-list", usesInheritance: true, ngImport: i0, template: "<div class=\"template-tab-wrapper\">\r\n <p-tabView class=\"application-tabs-wrapper h-full\" [(activeIndex)]=\"activeTabIndex\" (onChange)=\"onTabChange($event)\">\r\n <p-tabPanel>\r\n <ng-template pTemplate=\"header\">\r\n <span class=\"font-semibold\">All Templates</span>\r\n </ng-template>\r\n </p-tabPanel>\r\n \r\n <p-tabPanel>\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex align-items-center font-semibold\">\r\n <i class=\"pi pi-envelope mr-3 message-type-wrapper\"></i>\r\n <span class=\"mr-1\">Email</span>\r\n </div>\r\n </ng-template>\r\n </p-tabPanel>\r\n \r\n <p-tabPanel>\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex align-items-center font-semibold\">\r\n <i class=\"pi pi-comment mr-3 message-type-wrapper\"></i>\r\n <span>SMS</span>\r\n </div>\r\n </ng-template>\r\n </p-tabPanel>\r\n\r\n <p-tabPanel>\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex align-items-center font-semibold\">\r\n <i class=\"pi pi-whatsapp mr-3 message-type-wrapper\"></i>\r\n <span>WhatsApp</span>\r\n </div>\r\n </ng-template>\r\n </p-tabPanel>\r\n </p-tabView>\r\n</div>\r\n\r\n@if(table){\r\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\r\n </lib-table-primary>\r\n}", styles: ["::ng-deep .application-tabs-wrapper .p-tabview{height:100%}::ng-deep .application-tabs-wrapper .p-tabview-panels{height:calc(100% - 64px);padding-bottom:0}::ng-deep .application-tabs-wrapper .p-tabview-panel{height:100%}::ng-deep .application-tabs-wrapper .p-tabview-nav-content .p-tabview-nav li{width:15%;margin-bottom:2px}::ng-deep .application-tabs-wrapper .p-tabview-nav-content .p-tabview-nav a{justify-content:center}.message-type-wrapper{font-size:16px}\n"], dependencies: [{ kind: "component", type: TablePrimaryComponent, selector: "lib-table-primary", inputs: ["table", "metaData", "title", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5$3.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i5$3.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }] });
5707
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: TemplateAdminListComponent, isStandalone: false, selector: "lib-template-admin-list", usesInheritance: true, ngImport: i0, template: "<div class=\"template-tab-wrapper\">\n <p-tabView class=\"application-tabs-wrapper h-full\" [(activeIndex)]=\"activeTabIndex\" (onChange)=\"onTabChange($event)\">\n <p-tabPanel>\n <ng-template pTemplate=\"header\">\n <span class=\"font-semibold\">All Templates</span>\n </ng-template>\n </p-tabPanel>\n \n <p-tabPanel>\n <ng-template pTemplate=\"header\">\n <div class=\"flex align-items-center font-semibold\">\n <i class=\"pi pi-envelope mr-3 message-type-wrapper\"></i>\n <span class=\"mr-1\">Email</span>\n </div>\n </ng-template>\n </p-tabPanel>\n \n <p-tabPanel>\n <ng-template pTemplate=\"header\">\n <div class=\"flex align-items-center font-semibold\">\n <i class=\"pi pi-comment mr-3 message-type-wrapper\"></i>\n <span>SMS</span>\n </div>\n </ng-template>\n </p-tabPanel>\n\n <p-tabPanel>\n <ng-template pTemplate=\"header\">\n <div class=\"flex align-items-center font-semibold\">\n <i class=\"pi pi-whatsapp mr-3 message-type-wrapper\"></i>\n <span>WhatsApp</span>\n </div>\n </ng-template>\n </p-tabPanel>\n </p-tabView>\n</div>\n\n@if(table){\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\n </lib-table-primary>\n}", styles: ["::ng-deep .application-tabs-wrapper .p-tabview{height:100%}::ng-deep .application-tabs-wrapper .p-tabview-panels{height:calc(100% - 64px);padding-bottom:0}::ng-deep .application-tabs-wrapper .p-tabview-panel{height:100%}::ng-deep .application-tabs-wrapper .p-tabview-nav-content .p-tabview-nav li{width:15%;margin-bottom:2px}::ng-deep .application-tabs-wrapper .p-tabview-nav-content .p-tabview-nav a{justify-content:center}.message-type-wrapper{font-size:16px}\n"], dependencies: [{ kind: "component", type: TablePrimaryComponent, selector: "lib-table-primary", inputs: ["table", "metaData", "title", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5$3.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i5$3.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }] });
5725
5708
  }
5726
5709
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminListComponent, decorators: [{
5727
5710
  type: Component,
5728
- args: [{ selector: 'lib-template-admin-list', standalone: false, template: "<div class=\"template-tab-wrapper\">\r\n <p-tabView class=\"application-tabs-wrapper h-full\" [(activeIndex)]=\"activeTabIndex\" (onChange)=\"onTabChange($event)\">\r\n <p-tabPanel>\r\n <ng-template pTemplate=\"header\">\r\n <span class=\"font-semibold\">All Templates</span>\r\n </ng-template>\r\n </p-tabPanel>\r\n \r\n <p-tabPanel>\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex align-items-center font-semibold\">\r\n <i class=\"pi pi-envelope mr-3 message-type-wrapper\"></i>\r\n <span class=\"mr-1\">Email</span>\r\n </div>\r\n </ng-template>\r\n </p-tabPanel>\r\n \r\n <p-tabPanel>\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex align-items-center font-semibold\">\r\n <i class=\"pi pi-comment mr-3 message-type-wrapper\"></i>\r\n <span>SMS</span>\r\n </div>\r\n </ng-template>\r\n </p-tabPanel>\r\n\r\n <p-tabPanel>\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex align-items-center font-semibold\">\r\n <i class=\"pi pi-whatsapp mr-3 message-type-wrapper\"></i>\r\n <span>WhatsApp</span>\r\n </div>\r\n </ng-template>\r\n </p-tabPanel>\r\n </p-tabView>\r\n</div>\r\n\r\n@if(table){\r\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\r\n </lib-table-primary>\r\n}", styles: ["::ng-deep .application-tabs-wrapper .p-tabview{height:100%}::ng-deep .application-tabs-wrapper .p-tabview-panels{height:calc(100% - 64px);padding-bottom:0}::ng-deep .application-tabs-wrapper .p-tabview-panel{height:100%}::ng-deep .application-tabs-wrapper .p-tabview-nav-content .p-tabview-nav li{width:15%;margin-bottom:2px}::ng-deep .application-tabs-wrapper .p-tabview-nav-content .p-tabview-nav a{justify-content:center}.message-type-wrapper{font-size:16px}\n"] }]
5711
+ args: [{ selector: 'lib-template-admin-list', standalone: false, template: "<div class=\"template-tab-wrapper\">\n <p-tabView class=\"application-tabs-wrapper h-full\" [(activeIndex)]=\"activeTabIndex\" (onChange)=\"onTabChange($event)\">\n <p-tabPanel>\n <ng-template pTemplate=\"header\">\n <span class=\"font-semibold\">All Templates</span>\n </ng-template>\n </p-tabPanel>\n \n <p-tabPanel>\n <ng-template pTemplate=\"header\">\n <div class=\"flex align-items-center font-semibold\">\n <i class=\"pi pi-envelope mr-3 message-type-wrapper\"></i>\n <span class=\"mr-1\">Email</span>\n </div>\n </ng-template>\n </p-tabPanel>\n \n <p-tabPanel>\n <ng-template pTemplate=\"header\">\n <div class=\"flex align-items-center font-semibold\">\n <i class=\"pi pi-comment mr-3 message-type-wrapper\"></i>\n <span>SMS</span>\n </div>\n </ng-template>\n </p-tabPanel>\n\n <p-tabPanel>\n <ng-template pTemplate=\"header\">\n <div class=\"flex align-items-center font-semibold\">\n <i class=\"pi pi-whatsapp mr-3 message-type-wrapper\"></i>\n <span>WhatsApp</span>\n </div>\n </ng-template>\n </p-tabPanel>\n </p-tabView>\n</div>\n\n@if(table){\n <lib-table-primary [table]=\"table\" [pathName]=\"pathName\" [metaData]=\"metaData\">\n </lib-table-primary>\n}", styles: ["::ng-deep .application-tabs-wrapper .p-tabview{height:100%}::ng-deep .application-tabs-wrapper .p-tabview-panels{height:calc(100% - 64px);padding-bottom:0}::ng-deep .application-tabs-wrapper .p-tabview-panel{height:100%}::ng-deep .application-tabs-wrapper .p-tabview-nav-content .p-tabview-nav li{width:15%;margin-bottom:2px}::ng-deep .application-tabs-wrapper .p-tabview-nav-content .p-tabview-nav a{justify-content:center}.message-type-wrapper{font-size:16px}\n"] }]
5729
5712
  }], ctorParameters: () => [{ type: TemplateAdminService }, { type: TableBuilder }, { type: BaseStore }] });
5730
5713
 
5731
5714
  class TemplateAdminModule {
@@ -6089,11 +6072,11 @@ class WidgetHeaderComponent {
6089
6072
  }
6090
6073
  }
6091
6074
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetHeaderComponent, deps: [{ token: StyleBuilderService }], target: i0.ɵɵFactoryTarget.Component });
6092
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetHeaderComponent, isStandalone: false, selector: "lib-widget-header", inputs: { widget: "widget" }, usesOnChanges: true, ngImport: i0, template: "@if (widget.header || widget.subHeader) {\r\n<div class=\"grid m-0 align-items-center justify-content-between px-3 pt-3\">\r\n <div class=\"col-12 p-0\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n <div class=\"flex align-items-center\">\r\n <i [class]=\"headerIconClass\" [ngStyle]=\"headerIconStyle\"></i>\r\n <h3 [ngStyle]=\"headerStyle\" class=\"m-0 application-title-wrapper\">\r\n {{ (widget.header) }}\r\n </h3>\r\n\r\n <!-- Badges -->\r\n @if (processedBadges && processedBadges.length > 0) {\r\n <div class=\"flex align-items-center gap-1 ml-2\">\r\n @for (badge of processedBadges; track $index) {\r\n @if (badge.value && badge.value !== 'null') {\r\n <span class=\"px-2 py-1 rounded font-semibold badge\"\r\n [ngClass]=\"badge.valueClass\"\r\n [ngStyle]=\"badge.badgeStyle\">\r\n @if (badge.valueIconClass) {\r\n <i [ngClass]=\"badge.valueIconClass\" \r\n [ngStyle]=\"badge.mergedValueIconStyle\"\r\n class=\"mr-1\"></i>\r\n }\r\n @if (badge.valueIconClassExpression) {\r\n <i [ngClass]=\"badge.valueIconClassExpression\" \r\n [ngStyle]=\"badge.mergedValueIconStyle\"\r\n class=\"mr-1\"></i>\r\n }\r\n {{ badge.value }}\r\n </span>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Widget Status Icon -->\r\n <div class=\"flex align-items-center\">\r\n @if (widgetStatusIconClass) {\r\n <i [ngClass]=\"widgetStatusIconClass\" [ngStyle]=\"mergedWidgetStatusIconStyle\"></i>\r\n }\r\n @if (widgetStatusIconClassExpression) {\r\n <i [ngClass]=\"widgetStatusIconClassExpression\" [ngStyle]=\"mergedWidgetStatusIconStyle\"></i>\r\n }\r\n </div>\r\n </div>\r\n @if (widget?.subHeader) {\r\n <div class=\"flex align-items-center mt-2\">\r\n <span [ngStyle]=\"subHeaderStyle\" class=\"mr-3 font-semibold\">{{ widget.subHeader }}</span>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n}", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}.application-title-wrapper{font-size:16px;font-weight:600}.chart-container{display:flex;flex-direction:column;align-items:center;justify-content:center}@media screen and (min-width: 1200px) and (max-width: 1800px){.application-title-wrapper{font-size:14px}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
6075
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetHeaderComponent, isStandalone: false, selector: "lib-widget-header", inputs: { widget: "widget" }, usesOnChanges: true, ngImport: i0, template: "@if (widget.header || widget.subHeader) {\n<div class=\"grid m-0 align-items-center justify-content-between px-3 pt-3\">\n <div class=\"col-12 p-0\">\n <div class=\"flex align-items-center justify-content-between\">\n <div class=\"flex align-items-center\">\n <i [class]=\"headerIconClass\" [ngStyle]=\"headerIconStyle\"></i>\n <h3 [ngStyle]=\"headerStyle\" class=\"m-0 application-title-wrapper\">\n {{ (widget.header) }}\n </h3>\n\n <!-- Badges -->\n @if (processedBadges && processedBadges.length > 0) {\n <div class=\"flex align-items-center gap-1 ml-2\">\n @for (badge of processedBadges; track $index) {\n @if (badge.value && badge.value !== 'null') {\n <span class=\"px-2 py-1 rounded font-semibold badge\"\n [ngClass]=\"badge.valueClass\"\n [ngStyle]=\"badge.badgeStyle\">\n @if (badge.valueIconClass) {\n <i [ngClass]=\"badge.valueIconClass\" \n [ngStyle]=\"badge.mergedValueIconStyle\"\n class=\"mr-1\"></i>\n }\n @if (badge.valueIconClassExpression) {\n <i [ngClass]=\"badge.valueIconClassExpression\" \n [ngStyle]=\"badge.mergedValueIconStyle\"\n class=\"mr-1\"></i>\n }\n {{ badge.value }}\n </span>\n }\n }\n </div>\n }\n </div>\n\n <!-- Widget Status Icon -->\n <div class=\"flex align-items-center\">\n @if (widgetStatusIconClass) {\n <i [ngClass]=\"widgetStatusIconClass\" [ngStyle]=\"mergedWidgetStatusIconStyle\"></i>\n }\n @if (widgetStatusIconClassExpression) {\n <i [ngClass]=\"widgetStatusIconClassExpression\" [ngStyle]=\"mergedWidgetStatusIconStyle\"></i>\n }\n </div>\n </div>\n @if (widget?.subHeader) {\n <div class=\"flex align-items-center mt-2\">\n <span [ngStyle]=\"subHeaderStyle\" class=\"mr-3 font-semibold\">{{ widget.subHeader }}</span>\n </div>\n }\n </div>\n</div>\n}", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}.application-title-wrapper{font-size:16px;font-weight:600}.chart-container{display:flex;flex-direction:column;align-items:center;justify-content:center}@media screen and (min-width: 1200px) and (max-width: 1800px){.application-title-wrapper{font-size:14px}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
6093
6076
  }
6094
6077
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetHeaderComponent, decorators: [{
6095
6078
  type: Component,
6096
- args: [{ selector: 'lib-widget-header', standalone: false, template: "@if (widget.header || widget.subHeader) {\r\n<div class=\"grid m-0 align-items-center justify-content-between px-3 pt-3\">\r\n <div class=\"col-12 p-0\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n <div class=\"flex align-items-center\">\r\n <i [class]=\"headerIconClass\" [ngStyle]=\"headerIconStyle\"></i>\r\n <h3 [ngStyle]=\"headerStyle\" class=\"m-0 application-title-wrapper\">\r\n {{ (widget.header) }}\r\n </h3>\r\n\r\n <!-- Badges -->\r\n @if (processedBadges && processedBadges.length > 0) {\r\n <div class=\"flex align-items-center gap-1 ml-2\">\r\n @for (badge of processedBadges; track $index) {\r\n @if (badge.value && badge.value !== 'null') {\r\n <span class=\"px-2 py-1 rounded font-semibold badge\"\r\n [ngClass]=\"badge.valueClass\"\r\n [ngStyle]=\"badge.badgeStyle\">\r\n @if (badge.valueIconClass) {\r\n <i [ngClass]=\"badge.valueIconClass\" \r\n [ngStyle]=\"badge.mergedValueIconStyle\"\r\n class=\"mr-1\"></i>\r\n }\r\n @if (badge.valueIconClassExpression) {\r\n <i [ngClass]=\"badge.valueIconClassExpression\" \r\n [ngStyle]=\"badge.mergedValueIconStyle\"\r\n class=\"mr-1\"></i>\r\n }\r\n {{ badge.value }}\r\n </span>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Widget Status Icon -->\r\n <div class=\"flex align-items-center\">\r\n @if (widgetStatusIconClass) {\r\n <i [ngClass]=\"widgetStatusIconClass\" [ngStyle]=\"mergedWidgetStatusIconStyle\"></i>\r\n }\r\n @if (widgetStatusIconClassExpression) {\r\n <i [ngClass]=\"widgetStatusIconClassExpression\" [ngStyle]=\"mergedWidgetStatusIconStyle\"></i>\r\n }\r\n </div>\r\n </div>\r\n @if (widget?.subHeader) {\r\n <div class=\"flex align-items-center mt-2\">\r\n <span [ngStyle]=\"subHeaderStyle\" class=\"mr-3 font-semibold\">{{ widget.subHeader }}</span>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n}", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}.application-title-wrapper{font-size:16px;font-weight:600}.chart-container{display:flex;flex-direction:column;align-items:center;justify-content:center}@media screen and (min-width: 1200px) and (max-width: 1800px){.application-title-wrapper{font-size:14px}}\n"] }]
6079
+ args: [{ selector: 'lib-widget-header', standalone: false, template: "@if (widget.header || widget.subHeader) {\n<div class=\"grid m-0 align-items-center justify-content-between px-3 pt-3\">\n <div class=\"col-12 p-0\">\n <div class=\"flex align-items-center justify-content-between\">\n <div class=\"flex align-items-center\">\n <i [class]=\"headerIconClass\" [ngStyle]=\"headerIconStyle\"></i>\n <h3 [ngStyle]=\"headerStyle\" class=\"m-0 application-title-wrapper\">\n {{ (widget.header) }}\n </h3>\n\n <!-- Badges -->\n @if (processedBadges && processedBadges.length > 0) {\n <div class=\"flex align-items-center gap-1 ml-2\">\n @for (badge of processedBadges; track $index) {\n @if (badge.value && badge.value !== 'null') {\n <span class=\"px-2 py-1 rounded font-semibold badge\"\n [ngClass]=\"badge.valueClass\"\n [ngStyle]=\"badge.badgeStyle\">\n @if (badge.valueIconClass) {\n <i [ngClass]=\"badge.valueIconClass\" \n [ngStyle]=\"badge.mergedValueIconStyle\"\n class=\"mr-1\"></i>\n }\n @if (badge.valueIconClassExpression) {\n <i [ngClass]=\"badge.valueIconClassExpression\" \n [ngStyle]=\"badge.mergedValueIconStyle\"\n class=\"mr-1\"></i>\n }\n {{ badge.value }}\n </span>\n }\n }\n </div>\n }\n </div>\n\n <!-- Widget Status Icon -->\n <div class=\"flex align-items-center\">\n @if (widgetStatusIconClass) {\n <i [ngClass]=\"widgetStatusIconClass\" [ngStyle]=\"mergedWidgetStatusIconStyle\"></i>\n }\n @if (widgetStatusIconClassExpression) {\n <i [ngClass]=\"widgetStatusIconClassExpression\" [ngStyle]=\"mergedWidgetStatusIconStyle\"></i>\n }\n </div>\n </div>\n @if (widget?.subHeader) {\n <div class=\"flex align-items-center mt-2\">\n <span [ngStyle]=\"subHeaderStyle\" class=\"mr-3 font-semibold\">{{ widget.subHeader }}</span>\n </div>\n }\n </div>\n</div>\n}", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}.application-title-wrapper{font-size:16px;font-weight:600}.chart-container{display:flex;flex-direction:column;align-items:center;justify-content:center}@media screen and (min-width: 1200px) and (max-width: 1800px){.application-title-wrapper{font-size:14px}}\n"] }]
6097
6080
  }], ctorParameters: () => [{ type: StyleBuilderService }], propDecorators: { widget: [{
6098
6081
  type: Input
6099
6082
  }] } });
@@ -6114,11 +6097,11 @@ class WidgetFooterComponent {
6114
6097
  }
6115
6098
  }
6116
6099
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetFooterComponent, deps: [{ token: WidgetStore }], target: i0.ɵɵFactoryTarget.Component });
6117
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetFooterComponent, isStandalone: false, selector: "lib-widget-footer", inputs: { widget: "widget" }, ngImport: i0, template: "<div *ngIf=\"widget.isFormEnabled\" class=\"col-12 p-0 mt-3 flex justify-content-center\">\r\n <a class=\"p-button p-button-link text-primary-500\">\r\n @if(widget.isFormEnabled){\r\n <span class=\"underline font-semibold\" [permission]=\"PERMISSION.WIDGETS_EVALUATE\"\r\n (click)=\"viewAllDetails($event)\">View\r\n All Details</span>\r\n <i class=\"pi pi-arrow-up-right arrow-up-icon ml-2\"></i>\r\n }\r\n </a>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: HasPermissionDirective, selector: "[permission]", inputs: ["permission"] }] });
6100
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetFooterComponent, isStandalone: false, selector: "lib-widget-footer", inputs: { widget: "widget" }, ngImport: i0, template: "<div *ngIf=\"widget.isFormEnabled\" class=\"col-12 p-0 mt-3 flex justify-content-center\">\n <a class=\"p-button p-button-link text-primary-500\">\n @if(widget.isFormEnabled){\n <span class=\"underline font-semibold\" [permission]=\"PERMISSION.WIDGETS_EVALUATE\"\n (click)=\"viewAllDetails($event)\">View\n All Details</span>\n <i class=\"pi pi-arrow-up-right arrow-up-icon ml-2\"></i>\n }\n </a>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: HasPermissionDirective, selector: "[permission]", inputs: ["permission"] }] });
6118
6101
  }
6119
6102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetFooterComponent, decorators: [{
6120
6103
  type: Component,
6121
- args: [{ selector: 'lib-widget-footer', standalone: false, template: "<div *ngIf=\"widget.isFormEnabled\" class=\"col-12 p-0 mt-3 flex justify-content-center\">\r\n <a class=\"p-button p-button-link text-primary-500\">\r\n @if(widget.isFormEnabled){\r\n <span class=\"underline font-semibold\" [permission]=\"PERMISSION.WIDGETS_EVALUATE\"\r\n (click)=\"viewAllDetails($event)\">View\r\n All Details</span>\r\n <i class=\"pi pi-arrow-up-right arrow-up-icon ml-2\"></i>\r\n }\r\n </a>\r\n</div>" }]
6104
+ args: [{ selector: 'lib-widget-footer', standalone: false, template: "<div *ngIf=\"widget.isFormEnabled\" class=\"col-12 p-0 mt-3 flex justify-content-center\">\n <a class=\"p-button p-button-link text-primary-500\">\n @if(widget.isFormEnabled){\n <span class=\"underline font-semibold\" [permission]=\"PERMISSION.WIDGETS_EVALUATE\"\n (click)=\"viewAllDetails($event)\">View\n All Details</span>\n <i class=\"pi pi-arrow-up-right arrow-up-icon ml-2\"></i>\n }\n </a>\n</div>" }]
6122
6105
  }], ctorParameters: () => [{ type: WidgetStore }], propDecorators: { widget: [{
6123
6106
  type: Input
6124
6107
  }] } });
@@ -6316,11 +6299,11 @@ class WidgetItemComponent {
6316
6299
  return value;
6317
6300
  }
6318
6301
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetItemComponent, deps: [{ token: StyleBuilderService }, { token: WidgetStore }, { token: WidgetQuery }], target: i0.ɵɵFactoryTarget.Component });
6319
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetItemComponent, isStandalone: false, selector: "lib-widget-item", inputs: { widgetItem: "widgetItem", widget: "widget", application: "application" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"widget-container px-3 overflow-hidden\" *ngIf=\"shouldShowItem\">\r\n <div class=\"widget-content widget-wrapper\" [class.border-top]=\"hasSeparator\" [ngClass]=\"{\r\n 'layout-row': widget.layoutType === 'row',\r\n 'layout-tile m-0': widget.layoutType === 'tile'\r\n }\">\r\n <div class=\"flex align-items-center justify-content-between\"\r\n [ngClass]=\"widget.layoutType === 'row' ? 'w-7' : 'w-full'\">\r\n <div class=\"flex align-items-center\">\r\n <i *ngIf=\"keyIconClass\" class=\"mr-2\" [ngClass]=\"keyIconClass\" [ngStyle]=\"keyIconStyle\"></i>\r\n <p *ngIf=\"!isMenu\" [ngClass]=\"keyClass\" [ngStyle]=\"fieldKeyStyle\" class=\"mb-0 mr-3 key-field-wrapper\">{{ widgetKey }}</p>\r\n <p *ngIf=\"isMenu\" [ngClass]=\"keyClass\" [ngStyle]=\"fieldKeyStyle\" (click)=\"handleDynamicEvent(widget.recordId)\"\r\n class=\"mb-0 mr-3 key-field-wrapper\">{{ widgetKey }}</p>\r\n </div>\r\n <div class=\"flex justify-content-end\" *ngIf=\"isConfirmed\">\r\n <img src=\"assets/icons/confirm-icon.svg\" alt=\"confirm icon\" width=\"18\" height=\"18\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-0 text-color font-semibold text-value-wrapper w-full\" \r\n [ngClass]=\"widget.layoutType === 'row' ? 'flex align-items-center justify-content-end w-5': 'w-full'\">\r\n <i *ngIf=\"valueIconClass\" [ngClass]=\"valueIconClass\" [ngStyle]=\"mergedValueIconStyle\"></i>\r\n <i *ngIf=\"valueIconClassExpression\" [ngClass]=\"valueIconClassExpression\" [ngStyle]=\"mergedValueIconStyle\"></i>\r\n <ng-container *ngIf=\"widgetItem.isEvent; else notEvent\">\r\n <a class=\"cursor-pointer key-field-wrapper\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"\r\n (click)=\"handleDynamicEvent(widget.recordId)\">\r\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\r\n </a>\r\n </ng-container>\r\n\r\n <ng-template #notEvent>\r\n <ng-container *ngIf=\"widgetItem.isLink; else plainText\">\r\n <a class=\"cursor-pointer key-field-wrapper\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"\r\n (click)=\"handleWidgetItemClick(widgetItem)\">\r\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\r\n </a>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template #plainText>\r\n @if(widgetItem.isHtml && hasHtmlContentValue) {\r\n <div class=\"key-field-wrapper\" [innerHTML]=\"widgetItem.value !== 'null' ? widgetItem.value : ''\"\r\n [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"></div>\r\n }\r\n @else if(!widgetItem.isHtml) {\r\n <p class=\"mb-0\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\">\r\n\r\n <ng-container *ngIf=\"isDateValue; else normalText\">\r\n {{ formattedDateValue }}\r\n </ng-container>\r\n <ng-template #normalText>\r\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\r\n </ng-template>\r\n </p>\r\n }\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>", styles: [".text-value-wrapper{-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:100%}.key-field-wrapper{-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;white-space:normal;box-sizing:border-box;color:#4b5563}.w-50{width:50%!important}.map-icon-wrapper{font-size:16px;padding:13px;border-radius:30px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}.address-title-wrapper{width:80%;word-break:break-word;margin-top:-12px}.border-top{border-top:1px solid rgba(76,98,146,.1)}.key-title-wrapper{width:100%}.widget-wrapper{padding:6px 0}.widget-content.layout-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.widget-content.layout-tile{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;row-gap:.5rem;align-items:start;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
6302
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetItemComponent, isStandalone: false, selector: "lib-widget-item", inputs: { widgetItem: "widgetItem", widget: "widget", application: "application" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"widget-container px-3 overflow-hidden\" *ngIf=\"shouldShowItem\">\n <div class=\"widget-content widget-wrapper\" [class.border-top]=\"hasSeparator\" [ngClass]=\"{\n 'layout-row': widget.layoutType === 'row',\n 'layout-tile m-0': widget.layoutType === 'tile'\n }\">\n <div class=\"flex align-items-center justify-content-between\"\n [ngClass]=\"widget.layoutType === 'row' ? 'w-7' : 'w-full'\">\n <div class=\"flex align-items-center\">\n <i *ngIf=\"keyIconClass\" class=\"mr-2\" [ngClass]=\"keyIconClass\" [ngStyle]=\"keyIconStyle\"></i>\n <p *ngIf=\"!isMenu\" [ngClass]=\"keyClass\" [ngStyle]=\"fieldKeyStyle\" class=\"mb-0 mr-3 key-field-wrapper\">{{ widgetKey }}</p>\n <p *ngIf=\"isMenu\" [ngClass]=\"keyClass\" [ngStyle]=\"fieldKeyStyle\" (click)=\"handleDynamicEvent(widget.recordId)\"\n class=\"mb-0 mr-3 key-field-wrapper\">{{ widgetKey }}</p>\n </div>\n <div class=\"flex justify-content-end\" *ngIf=\"isConfirmed\">\n <img src=\"assets/icons/confirm-icon.svg\" alt=\"confirm icon\" width=\"18\" height=\"18\" />\n </div>\n </div>\n\n <div class=\"mb-0 text-color font-semibold text-value-wrapper w-full\" \n [ngClass]=\"widget.layoutType === 'row' ? 'flex align-items-center justify-content-end w-5': 'w-full'\">\n <i *ngIf=\"valueIconClass\" [ngClass]=\"valueIconClass\" [ngStyle]=\"mergedValueIconStyle\"></i>\n <i *ngIf=\"valueIconClassExpression\" [ngClass]=\"valueIconClassExpression\" [ngStyle]=\"mergedValueIconStyle\"></i>\n <ng-container *ngIf=\"widgetItem.isEvent; else notEvent\">\n <a class=\"cursor-pointer key-field-wrapper\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"\n (click)=\"handleDynamicEvent(widget.recordId)\">\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\n </a>\n </ng-container>\n\n <ng-template #notEvent>\n <ng-container *ngIf=\"widgetItem.isLink; else plainText\">\n <a class=\"cursor-pointer key-field-wrapper\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"\n (click)=\"handleWidgetItemClick(widgetItem)\">\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\n </a>\n </ng-container>\n </ng-template>\n\n <ng-template #plainText>\n @if(widgetItem.isHtml && hasHtmlContentValue) {\n <div class=\"key-field-wrapper\" [innerHTML]=\"widgetItem.value !== 'null' ? widgetItem.value : ''\"\n [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"></div>\n }\n @else if(!widgetItem.isHtml) {\n <p class=\"mb-0\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\">\n\n <ng-container *ngIf=\"isDateValue; else normalText\">\n {{ formattedDateValue }}\n </ng-container>\n <ng-template #normalText>\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\n </ng-template>\n </p>\n }\n </ng-template>\n </div>\n </div>\n</div>", styles: [".text-value-wrapper{-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:100%}.key-field-wrapper{-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;white-space:normal;box-sizing:border-box;color:#4b5563}.w-50{width:50%!important}.map-icon-wrapper{font-size:16px;padding:13px;border-radius:30px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}.address-title-wrapper{width:80%;word-break:break-word;margin-top:-12px}.border-top{border-top:1px solid rgba(76,98,146,.1)}.key-title-wrapper{width:100%}.widget-wrapper{padding:6px 0}.widget-content.layout-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.widget-content.layout-tile{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;row-gap:.5rem;align-items:start;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
6320
6303
  }
6321
6304
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetItemComponent, decorators: [{
6322
6305
  type: Component,
6323
- args: [{ selector: 'lib-widget-item', standalone: false, template: "<div class=\"widget-container px-3 overflow-hidden\" *ngIf=\"shouldShowItem\">\r\n <div class=\"widget-content widget-wrapper\" [class.border-top]=\"hasSeparator\" [ngClass]=\"{\r\n 'layout-row': widget.layoutType === 'row',\r\n 'layout-tile m-0': widget.layoutType === 'tile'\r\n }\">\r\n <div class=\"flex align-items-center justify-content-between\"\r\n [ngClass]=\"widget.layoutType === 'row' ? 'w-7' : 'w-full'\">\r\n <div class=\"flex align-items-center\">\r\n <i *ngIf=\"keyIconClass\" class=\"mr-2\" [ngClass]=\"keyIconClass\" [ngStyle]=\"keyIconStyle\"></i>\r\n <p *ngIf=\"!isMenu\" [ngClass]=\"keyClass\" [ngStyle]=\"fieldKeyStyle\" class=\"mb-0 mr-3 key-field-wrapper\">{{ widgetKey }}</p>\r\n <p *ngIf=\"isMenu\" [ngClass]=\"keyClass\" [ngStyle]=\"fieldKeyStyle\" (click)=\"handleDynamicEvent(widget.recordId)\"\r\n class=\"mb-0 mr-3 key-field-wrapper\">{{ widgetKey }}</p>\r\n </div>\r\n <div class=\"flex justify-content-end\" *ngIf=\"isConfirmed\">\r\n <img src=\"assets/icons/confirm-icon.svg\" alt=\"confirm icon\" width=\"18\" height=\"18\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-0 text-color font-semibold text-value-wrapper w-full\" \r\n [ngClass]=\"widget.layoutType === 'row' ? 'flex align-items-center justify-content-end w-5': 'w-full'\">\r\n <i *ngIf=\"valueIconClass\" [ngClass]=\"valueIconClass\" [ngStyle]=\"mergedValueIconStyle\"></i>\r\n <i *ngIf=\"valueIconClassExpression\" [ngClass]=\"valueIconClassExpression\" [ngStyle]=\"mergedValueIconStyle\"></i>\r\n <ng-container *ngIf=\"widgetItem.isEvent; else notEvent\">\r\n <a class=\"cursor-pointer key-field-wrapper\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"\r\n (click)=\"handleDynamicEvent(widget.recordId)\">\r\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\r\n </a>\r\n </ng-container>\r\n\r\n <ng-template #notEvent>\r\n <ng-container *ngIf=\"widgetItem.isLink; else plainText\">\r\n <a class=\"cursor-pointer key-field-wrapper\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"\r\n (click)=\"handleWidgetItemClick(widgetItem)\">\r\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\r\n </a>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template #plainText>\r\n @if(widgetItem.isHtml && hasHtmlContentValue) {\r\n <div class=\"key-field-wrapper\" [innerHTML]=\"widgetItem.value !== 'null' ? widgetItem.value : ''\"\r\n [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"></div>\r\n }\r\n @else if(!widgetItem.isHtml) {\r\n <p class=\"mb-0\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\">\r\n\r\n <ng-container *ngIf=\"isDateValue; else normalText\">\r\n {{ formattedDateValue }}\r\n </ng-container>\r\n <ng-template #normalText>\r\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\r\n </ng-template>\r\n </p>\r\n }\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>", styles: [".text-value-wrapper{-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:100%}.key-field-wrapper{-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;white-space:normal;box-sizing:border-box;color:#4b5563}.w-50{width:50%!important}.map-icon-wrapper{font-size:16px;padding:13px;border-radius:30px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}.address-title-wrapper{width:80%;word-break:break-word;margin-top:-12px}.border-top{border-top:1px solid rgba(76,98,146,.1)}.key-title-wrapper{width:100%}.widget-wrapper{padding:6px 0}.widget-content.layout-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.widget-content.layout-tile{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;row-gap:.5rem;align-items:start;margin:0}\n"] }]
6306
+ args: [{ selector: 'lib-widget-item', standalone: false, template: "<div class=\"widget-container px-3 overflow-hidden\" *ngIf=\"shouldShowItem\">\n <div class=\"widget-content widget-wrapper\" [class.border-top]=\"hasSeparator\" [ngClass]=\"{\n 'layout-row': widget.layoutType === 'row',\n 'layout-tile m-0': widget.layoutType === 'tile'\n }\">\n <div class=\"flex align-items-center justify-content-between\"\n [ngClass]=\"widget.layoutType === 'row' ? 'w-7' : 'w-full'\">\n <div class=\"flex align-items-center\">\n <i *ngIf=\"keyIconClass\" class=\"mr-2\" [ngClass]=\"keyIconClass\" [ngStyle]=\"keyIconStyle\"></i>\n <p *ngIf=\"!isMenu\" [ngClass]=\"keyClass\" [ngStyle]=\"fieldKeyStyle\" class=\"mb-0 mr-3 key-field-wrapper\">{{ widgetKey }}</p>\n <p *ngIf=\"isMenu\" [ngClass]=\"keyClass\" [ngStyle]=\"fieldKeyStyle\" (click)=\"handleDynamicEvent(widget.recordId)\"\n class=\"mb-0 mr-3 key-field-wrapper\">{{ widgetKey }}</p>\n </div>\n <div class=\"flex justify-content-end\" *ngIf=\"isConfirmed\">\n <img src=\"assets/icons/confirm-icon.svg\" alt=\"confirm icon\" width=\"18\" height=\"18\" />\n </div>\n </div>\n\n <div class=\"mb-0 text-color font-semibold text-value-wrapper w-full\" \n [ngClass]=\"widget.layoutType === 'row' ? 'flex align-items-center justify-content-end w-5': 'w-full'\">\n <i *ngIf=\"valueIconClass\" [ngClass]=\"valueIconClass\" [ngStyle]=\"mergedValueIconStyle\"></i>\n <i *ngIf=\"valueIconClassExpression\" [ngClass]=\"valueIconClassExpression\" [ngStyle]=\"mergedValueIconStyle\"></i>\n <ng-container *ngIf=\"widgetItem.isEvent; else notEvent\">\n <a class=\"cursor-pointer key-field-wrapper\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"\n (click)=\"handleDynamicEvent(widget.recordId)\">\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\n </a>\n </ng-container>\n\n <ng-template #notEvent>\n <ng-container *ngIf=\"widgetItem.isLink; else plainText\">\n <a class=\"cursor-pointer key-field-wrapper\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"\n (click)=\"handleWidgetItemClick(widgetItem)\">\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\n </a>\n </ng-container>\n </ng-template>\n\n <ng-template #plainText>\n @if(widgetItem.isHtml && hasHtmlContentValue) {\n <div class=\"key-field-wrapper\" [innerHTML]=\"widgetItem.value !== 'null' ? widgetItem.value : ''\"\n [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\"></div>\n }\n @else if(!widgetItem.isHtml) {\n <p class=\"mb-0\" [ngClass]=\"valueClass\" [ngStyle]=\"mergedValueStyle\">\n\n <ng-container *ngIf=\"isDateValue; else normalText\">\n {{ formattedDateValue }}\n </ng-container>\n <ng-template #normalText>\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\n </ng-template>\n </p>\n }\n </ng-template>\n </div>\n </div>\n</div>", styles: [".text-value-wrapper{-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:100%}.key-field-wrapper{-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;white-space:normal;box-sizing:border-box;color:#4b5563}.w-50{width:50%!important}.map-icon-wrapper{font-size:16px;padding:13px;border-radius:30px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}.address-title-wrapper{width:80%;word-break:break-word;margin-top:-12px}.border-top{border-top:1px solid rgba(76,98,146,.1)}.key-title-wrapper{width:100%}.widget-wrapper{padding:6px 0}.widget-content.layout-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.widget-content.layout-tile{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;row-gap:.5rem;align-items:start;margin:0}\n"] }]
6324
6307
  }], ctorParameters: () => [{ type: StyleBuilderService }, { type: WidgetStore }, { type: WidgetQuery }], propDecorators: { widgetItem: [{
6325
6308
  type: Input
6326
6309
  }], widget: [{
@@ -6354,11 +6337,11 @@ class WidgetBodyComponent {
6354
6337
  }
6355
6338
  }
6356
6339
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetBodyComponent, deps: [{ token: StyleBuilderService }], target: i0.ɵɵFactoryTarget.Component });
6357
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetBodyComponent, isStandalone: false, selector: "lib-widget-body", inputs: { widget: "widget" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"widget-body-container grid m-0\">\r\n <div *ngFor=\"let dataItem of widget?.dataItems || []; let i = index\" [ngClass]=\"[widget.style.width, widget.style.width === 'col-12' ? 'p-0' : '']\">\r\n @if(!dataItem.isHidden){\r\n <div class=\"h-full\" [ngStyle]=\"widgetItemStyle[i]\" \r\n [ngClass]=\"{\r\n 'widget-confirm-wrapper': isConfirmed[i]\r\n }\">\r\n <div>\r\n <lib-widget-item [widgetItem]=\"dataItem\" [widget]=\"widget\"></lib-widget-item>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".widget-item-wrapper{border-bottom:1px solid rgba(68,72,109,.1)}.widget-confirm-wrapper{background-color:#e8fbee!important;border:1px solid #22C55E!important}.vulnerability-title-wrapper{background:#fb392d36}\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.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: WidgetItemComponent, selector: "lib-widget-item", inputs: ["widgetItem", "widget", "application"] }] });
6340
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetBodyComponent, isStandalone: false, selector: "lib-widget-body", inputs: { widget: "widget" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"widget-body-container grid m-0\">\n <div *ngFor=\"let dataItem of widget?.dataItems || []; let i = index\" [ngClass]=\"[widget.style.width, widget.style.width === 'col-12' ? 'p-0' : '']\">\n @if(!dataItem.isHidden){\n <div class=\"h-full\" [ngStyle]=\"widgetItemStyle[i]\" \n [ngClass]=\"{\n 'widget-confirm-wrapper': isConfirmed[i]\n }\">\n <div>\n <lib-widget-item [widgetItem]=\"dataItem\" [widget]=\"widget\"></lib-widget-item>\n </div>\n </div>\n }\n </div>\n</div>", styles: [".widget-item-wrapper{border-bottom:1px solid rgba(68,72,109,.1)}.widget-confirm-wrapper{background-color:#e8fbee!important;border:1px solid #22C55E!important}.vulnerability-title-wrapper{background:#fb392d36}\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.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: WidgetItemComponent, selector: "lib-widget-item", inputs: ["widgetItem", "widget", "application"] }] });
6358
6341
  }
6359
6342
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetBodyComponent, decorators: [{
6360
6343
  type: Component,
6361
- args: [{ selector: 'lib-widget-body', standalone: false, template: "<div class=\"widget-body-container grid m-0\">\r\n <div *ngFor=\"let dataItem of widget?.dataItems || []; let i = index\" [ngClass]=\"[widget.style.width, widget.style.width === 'col-12' ? 'p-0' : '']\">\r\n @if(!dataItem.isHidden){\r\n <div class=\"h-full\" [ngStyle]=\"widgetItemStyle[i]\" \r\n [ngClass]=\"{\r\n 'widget-confirm-wrapper': isConfirmed[i]\r\n }\">\r\n <div>\r\n <lib-widget-item [widgetItem]=\"dataItem\" [widget]=\"widget\"></lib-widget-item>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".widget-item-wrapper{border-bottom:1px solid rgba(68,72,109,.1)}.widget-confirm-wrapper{background-color:#e8fbee!important;border:1px solid #22C55E!important}.vulnerability-title-wrapper{background:#fb392d36}\n"] }]
6344
+ args: [{ selector: 'lib-widget-body', standalone: false, template: "<div class=\"widget-body-container grid m-0\">\n <div *ngFor=\"let dataItem of widget?.dataItems || []; let i = index\" [ngClass]=\"[widget.style.width, widget.style.width === 'col-12' ? 'p-0' : '']\">\n @if(!dataItem.isHidden){\n <div class=\"h-full\" [ngStyle]=\"widgetItemStyle[i]\" \n [ngClass]=\"{\n 'widget-confirm-wrapper': isConfirmed[i]\n }\">\n <div>\n <lib-widget-item [widgetItem]=\"dataItem\" [widget]=\"widget\"></lib-widget-item>\n </div>\n </div>\n }\n </div>\n</div>", styles: [".widget-item-wrapper{border-bottom:1px solid rgba(68,72,109,.1)}.widget-confirm-wrapper{background-color:#e8fbee!important;border:1px solid #22C55E!important}.vulnerability-title-wrapper{background:#fb392d36}\n"] }]
6362
6345
  }], ctorParameters: () => [{ type: StyleBuilderService }], propDecorators: { widget: [{
6363
6346
  type: Input
6364
6347
  }] } });
@@ -6385,11 +6368,11 @@ class WidgetMainComponent {
6385
6368
  }
6386
6369
  }
6387
6370
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMainComponent, deps: [{ token: StyleBuilderService }], target: i0.ɵɵFactoryTarget.Component });
6388
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetMainComponent, isStandalone: false, selector: "lib-widget-main", inputs: { widget: "widget", index: "index", isFullHeight: "isFullHeight" }, usesOnChanges: true, ngImport: i0, template: "<div [ngStyle]=\"widgetCombinedStyle\" class=\"widget-container-wrapper h-full\" [ngClass]=\"{'h-full': isFullHeight, 'mt-4': index !== 0}\">\r\n <div class=\"widget-container-wrapper\">\r\n <lib-widget-header [widget]=\"widget\"></lib-widget-header>\r\n <div [ngClass]=\"[(widget.header || widget.subHeader) ? 'widget-content-wrapper' : '', widget.style.width === 'col-6' ? 'px-2' : '']\" class=\"py-3\">\r\n <lib-widget-body [widget]=\"widget\"></lib-widget-body>\r\n <lib-widget-footer [widget]=\"widget\"></lib-widget-footer>\r\n </div>\r\n </div>\r\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n", ""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: WidgetHeaderComponent, selector: "lib-widget-header", inputs: ["widget"] }, { kind: "component", type: WidgetFooterComponent, selector: "lib-widget-footer", inputs: ["widget"] }, { kind: "component", type: WidgetBodyComponent, selector: "lib-widget-body", inputs: ["widget"] }] });
6371
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetMainComponent, isStandalone: false, selector: "lib-widget-main", inputs: { widget: "widget", index: "index", isFullHeight: "isFullHeight" }, usesOnChanges: true, ngImport: i0, template: "<div [ngStyle]=\"widgetCombinedStyle\" class=\"widget-container-wrapper h-full\" [ngClass]=\"{'h-full': isFullHeight, 'mt-4': index !== 0}\">\n <div class=\"widget-container-wrapper\">\n <lib-widget-header [widget]=\"widget\"></lib-widget-header>\n <div [ngClass]=\"[(widget.header || widget.subHeader) ? 'widget-content-wrapper' : '', widget.style.width === 'col-6' ? 'px-2' : '']\" class=\"py-3\">\n <lib-widget-body [widget]=\"widget\"></lib-widget-body>\n <lib-widget-footer [widget]=\"widget\"></lib-widget-footer>\n </div>\n </div>\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n", ""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: WidgetHeaderComponent, selector: "lib-widget-header", inputs: ["widget"] }, { kind: "component", type: WidgetFooterComponent, selector: "lib-widget-footer", inputs: ["widget"] }, { kind: "component", type: WidgetBodyComponent, selector: "lib-widget-body", inputs: ["widget"] }] });
6389
6372
  }
6390
6373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMainComponent, decorators: [{
6391
6374
  type: Component,
6392
- args: [{ selector: 'lib-widget-main', standalone: false, template: "<div [ngStyle]=\"widgetCombinedStyle\" class=\"widget-container-wrapper h-full\" [ngClass]=\"{'h-full': isFullHeight, 'mt-4': index !== 0}\">\r\n <div class=\"widget-container-wrapper\">\r\n <lib-widget-header [widget]=\"widget\"></lib-widget-header>\r\n <div [ngClass]=\"[(widget.header || widget.subHeader) ? 'widget-content-wrapper' : '', widget.style.width === 'col-6' ? 'px-2' : '']\" class=\"py-3\">\r\n <lib-widget-body [widget]=\"widget\"></lib-widget-body>\r\n <lib-widget-footer [widget]=\"widget\"></lib-widget-footer>\r\n </div>\r\n </div>\r\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
6375
+ args: [{ selector: 'lib-widget-main', standalone: false, template: "<div [ngStyle]=\"widgetCombinedStyle\" class=\"widget-container-wrapper h-full\" [ngClass]=\"{'h-full': isFullHeight, 'mt-4': index !== 0}\">\n <div class=\"widget-container-wrapper\">\n <lib-widget-header [widget]=\"widget\"></lib-widget-header>\n <div [ngClass]=\"[(widget.header || widget.subHeader) ? 'widget-content-wrapper' : '', widget.style.width === 'col-6' ? 'px-2' : '']\" class=\"py-3\">\n <lib-widget-body [widget]=\"widget\"></lib-widget-body>\n <lib-widget-footer [widget]=\"widget\"></lib-widget-footer>\n </div>\n </div>\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
6393
6376
  }], ctorParameters: () => [{ type: StyleBuilderService }], propDecorators: { widget: [{
6394
6377
  type: Input
6395
6378
  }], index: [{
@@ -6443,11 +6426,11 @@ class CustomWidgetComponent {
6443
6426
  return this.widgetUtilService.getEventIndex(event, this.widgetData);
6444
6427
  }
6445
6428
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CustomWidgetComponent, deps: [{ token: CustomWidgetService }], target: i0.ɵɵFactoryTarget.Component });
6446
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CustomWidgetComponent, isStandalone: false, selector: "lib-custom-widget", inputs: { widgetData: "widgetData" }, ngImport: i0, template: "@if(widgetData){\r\n<div class=\"custom-widget\">\r\n\r\n <div class=\" ml-3\" style=\"display: flex; flex-direction: row; align-items: center;\">\r\n <h3 class=\"mb-0 font-bold mr-3 widgetData-title-wrapper\">\r\n {{ (widgetData.title) }}\r\n </h3>\r\n \r\n <span class=\"px-2 py-1 rounded text-white font-semibold badge\" [ngClass]=\"{\r\n 'bg-yellow-500': widgetData.badge === 'Pending',\r\n 'bg-green-500': widgetData.badge === 'Verified'\r\n }\">\r\n <i class=\"{{ widgetData.badgeIcon }}\"></i> {{ widgetData.badge }}\r\n </span>\r\n \r\n </div>\r\n <div class=\"widget-body-wrapper\">\r\n\r\n <p-timeline class=\"widget-timeline-wrapper\" [value]=\"widgetData?.statusList\">\r\n <ng-template pTemplate=\"marker\" let-event let-i=\"index\">\r\n <div class=\"p-timeline-event-marker\" [ngStyle]=\"{\r\n 'background-color': event.status === 'active' ? '#0F8BFD' :\r\n event.status === 'pending' ? '#676B89' :\r\n event.status === 'removed' ? '#FF0000' :\r\n '#0F8BFD',\r\n 'border-color': event.status === 'active' ? '#0F8BFD' :\r\n event.status === 'pending' ? '#676B89' :\r\n event.status === 'removed' ? '#FF0000' :\r\n '#0F8BFD',\r\n 'outline': event.status === 'active' ? '4px solid #0f8bfd33' :\r\n event.status === 'pending' ? '4px solid #676b8933' :\r\n event.status === 'removed' ? '4px solid #FF0000' :\r\n '4px solid #0F8BFD',\r\n }\"></div>\r\n\r\n <div class=\"p-timeline-event-connector-border\" *ngIf=\"!isLastIndex(event)\" [ngStyle]=\"{\r\n border:\r\n getNextEventStatus(event) === 'active'\r\n ? '2px solid #0F8BFD'\r\n : getNextEventStatus(event) === 'pending'\r\n ? '2px solid #44486d33'\r\n : getNextEventStatus(event) === 'removed'\r\n ? '2px solid #FF0000'\r\n : '2px solid #0F8BFD',\r\n height: 'calc(100% - 18px)'\r\n }\"></div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"p-timeline-event-content mb-2\"\r\n [ngClass]=\"{ 'mb-4': widgetData.title === 'Valuation' && event.title }\">\r\n\r\n <p *ngIf=\"!(widgetData.title === 'Valuation') && event.title\" class=\"event-title mb-2\"\r\n [innerHTML]=\"event.title\">\r\n </p>\r\n\r\n <p *ngIf=\"widgetData.title === 'Valuation' && event.title\" class=\"event-title mb-2\">\r\n <span style=\"color: #0f8bfd; text-decoration: underline; font-weight: bold\">{{ event.title?.split(' ')[0]\r\n }}</span>\r\n {{ event.title?.substring(event.title.indexOf(' ') + 1) }}\r\n </p>\r\n \r\n <span class=\"font-medium event-description\" [ngClass]=\"{ 'font-bold': event.textColor }\"\r\n [ngStyle]=\"{ color: event.textColor }\" [innerHTML]=\"event.description\"></span>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n</div>\r\n\r\n}", styles: [".custom-widget{margin-top:21px}::ng-deep .widget-timeline-wrapper{border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#f9fafb}::ng-deep .widget-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .p-timeline-event{min-height:50px!important}::ng-deep .p-timeline-event:last-child{min-height:30px!important}.widgetData-title-wrapper{font-size:18px;font-weight:400}.badge{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:5px;font-size:14px}.widget-body-wrapper{padding:14px;margin-top:14px;margin-bottom:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4$3.Timeline, selector: "p-timeline", inputs: ["value", "style", "styleClass", "align", "layout"] }] });
6429
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: CustomWidgetComponent, isStandalone: false, selector: "lib-custom-widget", inputs: { widgetData: "widgetData" }, ngImport: i0, template: "@if(widgetData){\n<div class=\"custom-widget\">\n\n <div class=\" ml-3\" style=\"display: flex; flex-direction: row; align-items: center;\">\n <h3 class=\"mb-0 font-bold mr-3 widgetData-title-wrapper\">\n {{ (widgetData.title) }}\n </h3>\n \n <span class=\"px-2 py-1 rounded text-white font-semibold badge\" [ngClass]=\"{\n 'bg-yellow-500': widgetData.badge === 'Pending',\n 'bg-green-500': widgetData.badge === 'Verified'\n }\">\n <i class=\"{{ widgetData.badgeIcon }}\"></i> {{ widgetData.badge }}\n </span>\n \n </div>\n <div class=\"widget-body-wrapper\">\n\n <p-timeline class=\"widget-timeline-wrapper\" [value]=\"widgetData?.statusList\">\n <ng-template pTemplate=\"marker\" let-event let-i=\"index\">\n <div class=\"p-timeline-event-marker\" [ngStyle]=\"{\n 'background-color': event.status === 'active' ? '#0F8BFD' :\n event.status === 'pending' ? '#676B89' :\n event.status === 'removed' ? '#FF0000' :\n '#0F8BFD',\n 'border-color': event.status === 'active' ? '#0F8BFD' :\n event.status === 'pending' ? '#676B89' :\n event.status === 'removed' ? '#FF0000' :\n '#0F8BFD',\n 'outline': event.status === 'active' ? '4px solid #0f8bfd33' :\n event.status === 'pending' ? '4px solid #676b8933' :\n event.status === 'removed' ? '4px solid #FF0000' :\n '4px solid #0F8BFD',\n }\"></div>\n\n <div class=\"p-timeline-event-connector-border\" *ngIf=\"!isLastIndex(event)\" [ngStyle]=\"{\n border:\n getNextEventStatus(event) === 'active'\n ? '2px solid #0F8BFD'\n : getNextEventStatus(event) === 'pending'\n ? '2px solid #44486d33'\n : getNextEventStatus(event) === 'removed'\n ? '2px solid #FF0000'\n : '2px solid #0F8BFD',\n height: 'calc(100% - 18px)'\n }\"></div>\n </ng-template>\n\n <ng-template pTemplate=\"content\" let-event>\n <div class=\"p-timeline-event-content mb-2\"\n [ngClass]=\"{ 'mb-4': widgetData.title === 'Valuation' && event.title }\">\n\n <p *ngIf=\"!(widgetData.title === 'Valuation') && event.title\" class=\"event-title mb-2\"\n [innerHTML]=\"event.title\">\n </p>\n\n <p *ngIf=\"widgetData.title === 'Valuation' && event.title\" class=\"event-title mb-2\">\n <span style=\"color: #0f8bfd; text-decoration: underline; font-weight: bold\">{{ event.title?.split(' ')[0]\n }}</span>\n {{ event.title?.substring(event.title.indexOf(' ') + 1) }}\n </p>\n \n <span class=\"font-medium event-description\" [ngClass]=\"{ 'font-bold': event.textColor }\"\n [ngStyle]=\"{ color: event.textColor }\" [innerHTML]=\"event.description\"></span>\n </div>\n </ng-template>\n </p-timeline>\n </div>\n</div>\n\n}", styles: [".custom-widget{margin-top:21px}::ng-deep .widget-timeline-wrapper{border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#f9fafb}::ng-deep .widget-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .p-timeline-event{min-height:50px!important}::ng-deep .p-timeline-event:last-child{min-height:30px!important}.widgetData-title-wrapper{font-size:18px;font-weight:400}.badge{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:5px;font-size:14px}.widget-body-wrapper{padding:14px;margin-top:14px;margin-bottom:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4$3.Timeline, selector: "p-timeline", inputs: ["value", "style", "styleClass", "align", "layout"] }] });
6447
6430
  }
6448
6431
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CustomWidgetComponent, decorators: [{
6449
6432
  type: Component,
6450
- args: [{ selector: "lib-custom-widget", standalone: false, template: "@if(widgetData){\r\n<div class=\"custom-widget\">\r\n\r\n <div class=\" ml-3\" style=\"display: flex; flex-direction: row; align-items: center;\">\r\n <h3 class=\"mb-0 font-bold mr-3 widgetData-title-wrapper\">\r\n {{ (widgetData.title) }}\r\n </h3>\r\n \r\n <span class=\"px-2 py-1 rounded text-white font-semibold badge\" [ngClass]=\"{\r\n 'bg-yellow-500': widgetData.badge === 'Pending',\r\n 'bg-green-500': widgetData.badge === 'Verified'\r\n }\">\r\n <i class=\"{{ widgetData.badgeIcon }}\"></i> {{ widgetData.badge }}\r\n </span>\r\n \r\n </div>\r\n <div class=\"widget-body-wrapper\">\r\n\r\n <p-timeline class=\"widget-timeline-wrapper\" [value]=\"widgetData?.statusList\">\r\n <ng-template pTemplate=\"marker\" let-event let-i=\"index\">\r\n <div class=\"p-timeline-event-marker\" [ngStyle]=\"{\r\n 'background-color': event.status === 'active' ? '#0F8BFD' :\r\n event.status === 'pending' ? '#676B89' :\r\n event.status === 'removed' ? '#FF0000' :\r\n '#0F8BFD',\r\n 'border-color': event.status === 'active' ? '#0F8BFD' :\r\n event.status === 'pending' ? '#676B89' :\r\n event.status === 'removed' ? '#FF0000' :\r\n '#0F8BFD',\r\n 'outline': event.status === 'active' ? '4px solid #0f8bfd33' :\r\n event.status === 'pending' ? '4px solid #676b8933' :\r\n event.status === 'removed' ? '4px solid #FF0000' :\r\n '4px solid #0F8BFD',\r\n }\"></div>\r\n\r\n <div class=\"p-timeline-event-connector-border\" *ngIf=\"!isLastIndex(event)\" [ngStyle]=\"{\r\n border:\r\n getNextEventStatus(event) === 'active'\r\n ? '2px solid #0F8BFD'\r\n : getNextEventStatus(event) === 'pending'\r\n ? '2px solid #44486d33'\r\n : getNextEventStatus(event) === 'removed'\r\n ? '2px solid #FF0000'\r\n : '2px solid #0F8BFD',\r\n height: 'calc(100% - 18px)'\r\n }\"></div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"p-timeline-event-content mb-2\"\r\n [ngClass]=\"{ 'mb-4': widgetData.title === 'Valuation' && event.title }\">\r\n\r\n <p *ngIf=\"!(widgetData.title === 'Valuation') && event.title\" class=\"event-title mb-2\"\r\n [innerHTML]=\"event.title\">\r\n </p>\r\n\r\n <p *ngIf=\"widgetData.title === 'Valuation' && event.title\" class=\"event-title mb-2\">\r\n <span style=\"color: #0f8bfd; text-decoration: underline; font-weight: bold\">{{ event.title?.split(' ')[0]\r\n }}</span>\r\n {{ event.title?.substring(event.title.indexOf(' ') + 1) }}\r\n </p>\r\n \r\n <span class=\"font-medium event-description\" [ngClass]=\"{ 'font-bold': event.textColor }\"\r\n [ngStyle]=\"{ color: event.textColor }\" [innerHTML]=\"event.description\"></span>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n</div>\r\n\r\n}", styles: [".custom-widget{margin-top:21px}::ng-deep .widget-timeline-wrapper{border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#f9fafb}::ng-deep .widget-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .p-timeline-event{min-height:50px!important}::ng-deep .p-timeline-event:last-child{min-height:30px!important}.widgetData-title-wrapper{font-size:18px;font-weight:400}.badge{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:5px;font-size:14px}.widget-body-wrapper{padding:14px;margin-top:14px;margin-bottom:14px}\n"] }]
6433
+ args: [{ selector: "lib-custom-widget", standalone: false, template: "@if(widgetData){\n<div class=\"custom-widget\">\n\n <div class=\" ml-3\" style=\"display: flex; flex-direction: row; align-items: center;\">\n <h3 class=\"mb-0 font-bold mr-3 widgetData-title-wrapper\">\n {{ (widgetData.title) }}\n </h3>\n \n <span class=\"px-2 py-1 rounded text-white font-semibold badge\" [ngClass]=\"{\n 'bg-yellow-500': widgetData.badge === 'Pending',\n 'bg-green-500': widgetData.badge === 'Verified'\n }\">\n <i class=\"{{ widgetData.badgeIcon }}\"></i> {{ widgetData.badge }}\n </span>\n \n </div>\n <div class=\"widget-body-wrapper\">\n\n <p-timeline class=\"widget-timeline-wrapper\" [value]=\"widgetData?.statusList\">\n <ng-template pTemplate=\"marker\" let-event let-i=\"index\">\n <div class=\"p-timeline-event-marker\" [ngStyle]=\"{\n 'background-color': event.status === 'active' ? '#0F8BFD' :\n event.status === 'pending' ? '#676B89' :\n event.status === 'removed' ? '#FF0000' :\n '#0F8BFD',\n 'border-color': event.status === 'active' ? '#0F8BFD' :\n event.status === 'pending' ? '#676B89' :\n event.status === 'removed' ? '#FF0000' :\n '#0F8BFD',\n 'outline': event.status === 'active' ? '4px solid #0f8bfd33' :\n event.status === 'pending' ? '4px solid #676b8933' :\n event.status === 'removed' ? '4px solid #FF0000' :\n '4px solid #0F8BFD',\n }\"></div>\n\n <div class=\"p-timeline-event-connector-border\" *ngIf=\"!isLastIndex(event)\" [ngStyle]=\"{\n border:\n getNextEventStatus(event) === 'active'\n ? '2px solid #0F8BFD'\n : getNextEventStatus(event) === 'pending'\n ? '2px solid #44486d33'\n : getNextEventStatus(event) === 'removed'\n ? '2px solid #FF0000'\n : '2px solid #0F8BFD',\n height: 'calc(100% - 18px)'\n }\"></div>\n </ng-template>\n\n <ng-template pTemplate=\"content\" let-event>\n <div class=\"p-timeline-event-content mb-2\"\n [ngClass]=\"{ 'mb-4': widgetData.title === 'Valuation' && event.title }\">\n\n <p *ngIf=\"!(widgetData.title === 'Valuation') && event.title\" class=\"event-title mb-2\"\n [innerHTML]=\"event.title\">\n </p>\n\n <p *ngIf=\"widgetData.title === 'Valuation' && event.title\" class=\"event-title mb-2\">\n <span style=\"color: #0f8bfd; text-decoration: underline; font-weight: bold\">{{ event.title?.split(' ')[0]\n }}</span>\n {{ event.title?.substring(event.title.indexOf(' ') + 1) }}\n </p>\n \n <span class=\"font-medium event-description\" [ngClass]=\"{ 'font-bold': event.textColor }\"\n [ngStyle]=\"{ color: event.textColor }\" [innerHTML]=\"event.description\"></span>\n </div>\n </ng-template>\n </p-timeline>\n </div>\n</div>\n\n}", styles: [".custom-widget{margin-top:21px}::ng-deep .widget-timeline-wrapper{border-radius:10px;border:1px solid rgba(76,98,146,.1);background:#f9fafb}::ng-deep .widget-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .p-timeline-event{min-height:50px!important}::ng-deep .p-timeline-event:last-child{min-height:30px!important}.widgetData-title-wrapper{font-size:18px;font-weight:400}.badge{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:5px;font-size:14px}.widget-body-wrapper{padding:14px;margin-top:14px;margin-bottom:14px}\n"] }]
6451
6434
  }], ctorParameters: () => [{ type: CustomWidgetService }], propDecorators: { widgetData: [{
6452
6435
  type: Input
6453
6436
  }] } });
@@ -6556,11 +6539,11 @@ class WidgetMenuComponent {
6556
6539
  this.destroy$.complete();
6557
6540
  }
6558
6541
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuComponent, deps: [{ token: WidgetService }, { token: i3$4.ActivatedRoute }, { token: WidgetQuery }, { token: WidgetStore }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
6559
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetMenuComponent, isStandalone: false, selector: "lib-widget-menu", inputs: { isSidebarVisible: "isSidebarVisible", offerWidgetData: "offerWidgetData", valuationWidgetData: "valuationWidgetData" }, outputs: { onViewAllDetails: "onViewAllDetails", onWidgetEventClick: "onWidgetEventClick", onWidgetItemClick: "onWidgetItemClick" }, usesOnChanges: true, ngImport: i0, template: "<p-card class=\"widget-block-wrapper block\">\r\n <div class=\"widget-section-wrapper custom-scroll pt-2\">\r\n <!-- Loading state -->\r\n <ng-container *ngIf=\"isLoading; else widgetContent\">\r\n <p class=\"text-color ml-3 font-semibold\">Widget configuration loading...</p>\r\n </ng-container>\r\n\r\n <!-- Content after API call -->\r\n <ng-template #widgetContent>\r\n <ng-container *ngIf=\"(widgets && widgets.length > 0) || (valuationWidgetData || offerWidgetData); else noWidgets\">\r\n <ng-container *ngFor=\"let widget of widgets; let i = index\">\r\n <lib-widget-main [widget]=\"widget\" [index]=\"i\"></lib-widget-main>\r\n </ng-container>\r\n <ng-container *ngIf=\"offerWidgetData\">\r\n <lib-custom-widget [widgetData]=\"offerWidgetData\"></lib-custom-widget>\r\n </ng-container>\r\n <ng-container *ngIf=\"valuationWidgetData\">\r\n <lib-custom-widget [widgetData]=\"valuationWidgetData\"></lib-custom-widget>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- No widget configured state -->\r\n <ng-template #noWidgets>\r\n <p class=\"text-color ml-3 font-semibold\">No Widgets Configured</p>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n</p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n", ""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: WidgetMainComponent, selector: "lib-widget-main", inputs: ["widget", "index", "isFullHeight"] }, { kind: "component", type: CustomWidgetComponent, selector: "lib-custom-widget", inputs: ["widgetData"] }] });
6542
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetMenuComponent, isStandalone: false, selector: "lib-widget-menu", inputs: { isSidebarVisible: "isSidebarVisible", offerWidgetData: "offerWidgetData", valuationWidgetData: "valuationWidgetData" }, outputs: { onViewAllDetails: "onViewAllDetails", onWidgetEventClick: "onWidgetEventClick", onWidgetItemClick: "onWidgetItemClick" }, usesOnChanges: true, ngImport: i0, template: "<p-card class=\"widget-block-wrapper block\">\n <div class=\"widget-section-wrapper custom-scroll pt-2\">\n <!-- Loading state -->\n <ng-container *ngIf=\"isLoading; else widgetContent\">\n <p class=\"text-color ml-3 font-semibold\">Widget configuration loading...</p>\n </ng-container>\n\n <!-- Content after API call -->\n <ng-template #widgetContent>\n <ng-container *ngIf=\"(widgets && widgets.length > 0) || (valuationWidgetData || offerWidgetData); else noWidgets\">\n <ng-container *ngFor=\"let widget of widgets; let i = index\">\n <lib-widget-main [widget]=\"widget\" [index]=\"i\"></lib-widget-main>\n </ng-container>\n <ng-container *ngIf=\"offerWidgetData\">\n <lib-custom-widget [widgetData]=\"offerWidgetData\"></lib-custom-widget>\n </ng-container>\n <ng-container *ngIf=\"valuationWidgetData\">\n <lib-custom-widget [widgetData]=\"valuationWidgetData\"></lib-custom-widget>\n </ng-container>\n </ng-container>\n\n <!-- No widget configured state -->\n <ng-template #noWidgets>\n <p class=\"text-color ml-3 font-semibold\">No Widgets Configured</p>\n </ng-template>\n </ng-template>\n </div>\n</p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n", ""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: WidgetMainComponent, selector: "lib-widget-main", inputs: ["widget", "index", "isFullHeight"] }, { kind: "component", type: CustomWidgetComponent, selector: "lib-custom-widget", inputs: ["widgetData"] }] });
6560
6543
  }
6561
6544
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuComponent, decorators: [{
6562
6545
  type: Component,
6563
- args: [{ selector: 'lib-widget-menu', standalone: false, template: "<p-card class=\"widget-block-wrapper block\">\r\n <div class=\"widget-section-wrapper custom-scroll pt-2\">\r\n <!-- Loading state -->\r\n <ng-container *ngIf=\"isLoading; else widgetContent\">\r\n <p class=\"text-color ml-3 font-semibold\">Widget configuration loading...</p>\r\n </ng-container>\r\n\r\n <!-- Content after API call -->\r\n <ng-template #widgetContent>\r\n <ng-container *ngIf=\"(widgets && widgets.length > 0) || (valuationWidgetData || offerWidgetData); else noWidgets\">\r\n <ng-container *ngFor=\"let widget of widgets; let i = index\">\r\n <lib-widget-main [widget]=\"widget\" [index]=\"i\"></lib-widget-main>\r\n </ng-container>\r\n <ng-container *ngIf=\"offerWidgetData\">\r\n <lib-custom-widget [widgetData]=\"offerWidgetData\"></lib-custom-widget>\r\n </ng-container>\r\n <ng-container *ngIf=\"valuationWidgetData\">\r\n <lib-custom-widget [widgetData]=\"valuationWidgetData\"></lib-custom-widget>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- No widget configured state -->\r\n <ng-template #noWidgets>\r\n <p class=\"text-color ml-3 font-semibold\">No Widgets Configured</p>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n</p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
6546
+ args: [{ selector: 'lib-widget-menu', standalone: false, template: "<p-card class=\"widget-block-wrapper block\">\n <div class=\"widget-section-wrapper custom-scroll pt-2\">\n <!-- Loading state -->\n <ng-container *ngIf=\"isLoading; else widgetContent\">\n <p class=\"text-color ml-3 font-semibold\">Widget configuration loading...</p>\n </ng-container>\n\n <!-- Content after API call -->\n <ng-template #widgetContent>\n <ng-container *ngIf=\"(widgets && widgets.length > 0) || (valuationWidgetData || offerWidgetData); else noWidgets\">\n <ng-container *ngFor=\"let widget of widgets; let i = index\">\n <lib-widget-main [widget]=\"widget\" [index]=\"i\"></lib-widget-main>\n </ng-container>\n <ng-container *ngIf=\"offerWidgetData\">\n <lib-custom-widget [widgetData]=\"offerWidgetData\"></lib-custom-widget>\n </ng-container>\n <ng-container *ngIf=\"valuationWidgetData\">\n <lib-custom-widget [widgetData]=\"valuationWidgetData\"></lib-custom-widget>\n </ng-container>\n </ng-container>\n\n <!-- No widget configured state -->\n <ng-template #noWidgets>\n <p class=\"text-color ml-3 font-semibold\">No Widgets Configured</p>\n </ng-template>\n </ng-template>\n </div>\n</p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
6564
6547
  }], ctorParameters: () => [{ type: WidgetService }, { type: i3$4.ActivatedRoute }, { type: WidgetQuery }, { type: WidgetStore }, { type: i0.ChangeDetectorRef }], propDecorators: { onViewAllDetails: [{
6565
6548
  type: Output
6566
6549
  }], onWidgetEventClick: [{
@@ -6651,11 +6634,11 @@ class WidgetRowTileComponent {
6651
6634
  this.destroy$.complete();
6652
6635
  }
6653
6636
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetRowTileComponent, deps: [{ token: WidgetService }, { token: WidgetStore }, { token: StyleBuilderService }, { token: i0.ChangeDetectorRef }, { token: WidgetQuery }], target: i0.ɵɵFactoryTarget.Component });
6654
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetRowTileComponent, isStandalone: false, selector: "lib-widget-row-tile", inputs: { recordId: "recordId", widgetName: "widgetName", onWidgetUpdate: "onWidgetUpdate", isFullHeight: "isFullHeight" }, outputs: { onWidgetItemClick: "onWidgetItemClick" }, usesOnChanges: true, ngImport: i0, template: "<p-card [style]=\"widgetCombinedStyle\" class=\"widget-block-wrapper block\" [ngClass]=\"{'h-full': isFullHeight}\">\r\n <div class=\"widget-section-wrapper\" [ngClass]=\"{'h-full': isFullHeight}\">\r\n <!-- Loading state -->\r\n @if (isLoading) {\r\n <div style=\"display: flex; flex-direction: column; gap: 0.5rem; padding: 0.5rem 6px;\">\r\n <p-skeleton width=\"75%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\r\n <p-skeleton width=\"55%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\r\n <p-skeleton width=\"65%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\r\n </div>\r\n } @else {\r\n\r\n <!-- Widgets Exist -->\r\n @if (widgets && widgets.length > 0) {\r\n @for (widget of widgets; let i = $index; track i) {\r\n <lib-widget-main \r\n [widget]=\"widget\" \r\n [index]=\"i\" \r\n [isFullHeight]=\"isFullHeight\"\r\n ></lib-widget-main>\r\n }\r\n } @else {\r\n <!-- No Widgets -->\r\n <p class=\"text-color ml-3 font-semibold\">\r\n No Widgets Configured\r\n </p>\r\n }\r\n }\r\n </div>\r\n</p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n", ""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i6$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i2$3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: WidgetMainComponent, selector: "lib-widget-main", inputs: ["widget", "index", "isFullHeight"] }] });
6637
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetRowTileComponent, isStandalone: false, selector: "lib-widget-row-tile", inputs: { recordId: "recordId", widgetName: "widgetName", onWidgetUpdate: "onWidgetUpdate", isFullHeight: "isFullHeight" }, outputs: { onWidgetItemClick: "onWidgetItemClick" }, usesOnChanges: true, ngImport: i0, template: "<p-card [style]=\"widgetCombinedStyle\" class=\"widget-block-wrapper block\" [ngClass]=\"{'h-full': isFullHeight}\">\n <div class=\"widget-section-wrapper\" [ngClass]=\"{'h-full': isFullHeight}\">\n <!-- Loading state -->\n @if (isLoading) {\n <div style=\"display: flex; flex-direction: column; gap: 0.5rem; padding: 0.5rem 6px;\">\n <p-skeleton width=\"75%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\n <p-skeleton width=\"55%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\n <p-skeleton width=\"65%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\n </div>\n } @else {\n\n <!-- Widgets Exist -->\n @if (widgets && widgets.length > 0) {\n @for (widget of widgets; let i = $index; track i) {\n <lib-widget-main \n [widget]=\"widget\" \n [index]=\"i\" \n [isFullHeight]=\"isFullHeight\"\n ></lib-widget-main>\n }\n } @else {\n <!-- No Widgets -->\n <p class=\"text-color ml-3 font-semibold\">\n No Widgets Configured\n </p>\n }\n }\n </div>\n</p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n", ""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i6$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i2$3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: WidgetMainComponent, selector: "lib-widget-main", inputs: ["widget", "index", "isFullHeight"] }] });
6655
6638
  }
6656
6639
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetRowTileComponent, decorators: [{
6657
6640
  type: Component,
6658
- args: [{ selector: 'lib-widget-row-tile', standalone: false, template: "<p-card [style]=\"widgetCombinedStyle\" class=\"widget-block-wrapper block\" [ngClass]=\"{'h-full': isFullHeight}\">\r\n <div class=\"widget-section-wrapper\" [ngClass]=\"{'h-full': isFullHeight}\">\r\n <!-- Loading state -->\r\n @if (isLoading) {\r\n <div style=\"display: flex; flex-direction: column; gap: 0.5rem; padding: 0.5rem 6px;\">\r\n <p-skeleton width=\"75%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\r\n <p-skeleton width=\"55%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\r\n <p-skeleton width=\"65%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\r\n </div>\r\n } @else {\r\n\r\n <!-- Widgets Exist -->\r\n @if (widgets && widgets.length > 0) {\r\n @for (widget of widgets; let i = $index; track i) {\r\n <lib-widget-main \r\n [widget]=\"widget\" \r\n [index]=\"i\" \r\n [isFullHeight]=\"isFullHeight\"\r\n ></lib-widget-main>\r\n }\r\n } @else {\r\n <!-- No Widgets -->\r\n <p class=\"text-color ml-3 font-semibold\">\r\n No Widgets Configured\r\n </p>\r\n }\r\n }\r\n </div>\r\n</p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
6641
+ args: [{ selector: 'lib-widget-row-tile', standalone: false, template: "<p-card [style]=\"widgetCombinedStyle\" class=\"widget-block-wrapper block\" [ngClass]=\"{'h-full': isFullHeight}\">\n <div class=\"widget-section-wrapper\" [ngClass]=\"{'h-full': isFullHeight}\">\n <!-- Loading state -->\n @if (isLoading) {\n <div style=\"display: flex; flex-direction: column; gap: 0.5rem; padding: 0.5rem 6px;\">\n <p-skeleton width=\"75%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\n <p-skeleton width=\"55%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\n <p-skeleton width=\"65%\" height=\"0.75rem\" borderRadius=\"4px\"></p-skeleton>\n </div>\n } @else {\n\n <!-- Widgets Exist -->\n @if (widgets && widgets.length > 0) {\n @for (widget of widgets; let i = $index; track i) {\n <lib-widget-main \n [widget]=\"widget\" \n [index]=\"i\" \n [isFullHeight]=\"isFullHeight\"\n ></lib-widget-main>\n }\n } @else {\n <!-- No Widgets -->\n <p class=\"text-color ml-3 font-semibold\">\n No Widgets Configured\n </p>\n }\n }\n </div>\n</p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
6659
6642
  }], ctorParameters: () => [{ type: WidgetService }, { type: WidgetStore }, { type: StyleBuilderService }, { type: i0.ChangeDetectorRef }, { type: WidgetQuery }], propDecorators: { recordId: [{
6660
6643
  type: Input
6661
6644
  }], widgetName: [{
@@ -6719,11 +6702,11 @@ class WidgetContainerComponent {
6719
6702
  this.destroy$.complete();
6720
6703
  }
6721
6704
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetContainerComponent, deps: [{ token: WidgetStore }, { token: WidgetQuery }], target: i0.ɵɵFactoryTarget.Component });
6722
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetContainerComponent, isStandalone: false, selector: "lib-widget-container", inputs: { isMenu: "isMenu", offerWidgetData: "offerWidgetData", valuationWidgetData: "valuationWidgetData", widgetName: "widgetName", recordId: "recordId", onWidgetUpdate: "onWidgetUpdate", isFullHeight: "isFullHeight" }, outputs: { onViewAllDetails: "onViewAllDetails", onWidgetEventClick: "onWidgetEventClick", onWidgetItemClick: "onWidgetItemClick", onUpdatedWidgetList: "onUpdatedWidgetList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"widget-container-wrapper\" [ngClass]=\"{'h-full': isFullHeight}\">\r\n @if(isMenu) {\r\n <div class=\"bg-white widget-menu-container\">\r\n <lib-widget-menu \r\n [offerWidgetData]=\"offerWidgetData\"\r\n [valuationWidgetData]=\"valuationWidgetData\"\r\n (onViewAllDetails)=\"handleViewAllDetails($event)\"\r\n (onWidgetEventClick)=\"handleWidgetEventClick($event)\"\r\n (onWidgetItemClick)=\"handleWidgetItemClick($event)\"\r\n ></lib-widget-menu>\r\n </div>\r\n } @else {\r\n <div class=\"bg-white widget-menu-container\" [ngClass]=\"{'h-full': isFullHeight}\">\r\n <lib-widget-row-tile\r\n [recordId]=\"recordId\"\r\n [widgetName]=\"widgetName\"\r\n [onWidgetUpdate]=\"onWidgetUpdate\"\r\n [isFullHeight]=\"isFullHeight\"\r\n (onWidgetItemClick)=\"handleWidgetItemClick($event)\"\r\n ></lib-widget-row-tile>\r\n </div>\r\n }\r\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: WidgetMenuComponent, selector: "lib-widget-menu", inputs: ["isSidebarVisible", "offerWidgetData", "valuationWidgetData"], outputs: ["onViewAllDetails", "onWidgetEventClick", "onWidgetItemClick"] }, { kind: "component", type: WidgetRowTileComponent, selector: "lib-widget-row-tile", inputs: ["recordId", "widgetName", "onWidgetUpdate", "isFullHeight"], outputs: ["onWidgetItemClick"] }] });
6705
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetContainerComponent, isStandalone: false, selector: "lib-widget-container", inputs: { isMenu: "isMenu", offerWidgetData: "offerWidgetData", valuationWidgetData: "valuationWidgetData", widgetName: "widgetName", recordId: "recordId", onWidgetUpdate: "onWidgetUpdate", isFullHeight: "isFullHeight" }, outputs: { onViewAllDetails: "onViewAllDetails", onWidgetEventClick: "onWidgetEventClick", onWidgetItemClick: "onWidgetItemClick", onUpdatedWidgetList: "onUpdatedWidgetList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"widget-container-wrapper\" [ngClass]=\"{'h-full': isFullHeight}\">\n @if(isMenu) {\n <div class=\"bg-white widget-menu-container\">\n <lib-widget-menu \n [offerWidgetData]=\"offerWidgetData\"\n [valuationWidgetData]=\"valuationWidgetData\"\n (onViewAllDetails)=\"handleViewAllDetails($event)\"\n (onWidgetEventClick)=\"handleWidgetEventClick($event)\"\n (onWidgetItemClick)=\"handleWidgetItemClick($event)\"\n ></lib-widget-menu>\n </div>\n } @else {\n <div class=\"bg-white widget-menu-container\" [ngClass]=\"{'h-full': isFullHeight}\">\n <lib-widget-row-tile\n [recordId]=\"recordId\"\n [widgetName]=\"widgetName\"\n [onWidgetUpdate]=\"onWidgetUpdate\"\n [isFullHeight]=\"isFullHeight\"\n (onWidgetItemClick)=\"handleWidgetItemClick($event)\"\n ></lib-widget-row-tile>\n </div>\n }\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: WidgetMenuComponent, selector: "lib-widget-menu", inputs: ["isSidebarVisible", "offerWidgetData", "valuationWidgetData"], outputs: ["onViewAllDetails", "onWidgetEventClick", "onWidgetItemClick"] }, { kind: "component", type: WidgetRowTileComponent, selector: "lib-widget-row-tile", inputs: ["recordId", "widgetName", "onWidgetUpdate", "isFullHeight"], outputs: ["onWidgetItemClick"] }] });
6723
6706
  }
6724
6707
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetContainerComponent, decorators: [{
6725
6708
  type: Component,
6726
- args: [{ selector: 'lib-widget-container', standalone: false, template: "<div class=\"widget-container-wrapper\" [ngClass]=\"{'h-full': isFullHeight}\">\r\n @if(isMenu) {\r\n <div class=\"bg-white widget-menu-container\">\r\n <lib-widget-menu \r\n [offerWidgetData]=\"offerWidgetData\"\r\n [valuationWidgetData]=\"valuationWidgetData\"\r\n (onViewAllDetails)=\"handleViewAllDetails($event)\"\r\n (onWidgetEventClick)=\"handleWidgetEventClick($event)\"\r\n (onWidgetItemClick)=\"handleWidgetItemClick($event)\"\r\n ></lib-widget-menu>\r\n </div>\r\n } @else {\r\n <div class=\"bg-white widget-menu-container\" [ngClass]=\"{'h-full': isFullHeight}\">\r\n <lib-widget-row-tile\r\n [recordId]=\"recordId\"\r\n [widgetName]=\"widgetName\"\r\n [onWidgetUpdate]=\"onWidgetUpdate\"\r\n [isFullHeight]=\"isFullHeight\"\r\n (onWidgetItemClick)=\"handleWidgetItemClick($event)\"\r\n ></lib-widget-row-tile>\r\n </div>\r\n }\r\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
6709
+ args: [{ selector: 'lib-widget-container', standalone: false, template: "<div class=\"widget-container-wrapper\" [ngClass]=\"{'h-full': isFullHeight}\">\n @if(isMenu) {\n <div class=\"bg-white widget-menu-container\">\n <lib-widget-menu \n [offerWidgetData]=\"offerWidgetData\"\n [valuationWidgetData]=\"valuationWidgetData\"\n (onViewAllDetails)=\"handleViewAllDetails($event)\"\n (onWidgetEventClick)=\"handleWidgetEventClick($event)\"\n (onWidgetItemClick)=\"handleWidgetItemClick($event)\"\n ></lib-widget-menu>\n </div>\n } @else {\n <div class=\"bg-white widget-menu-container\" [ngClass]=\"{'h-full': isFullHeight}\">\n <lib-widget-row-tile\n [recordId]=\"recordId\"\n [widgetName]=\"widgetName\"\n [onWidgetUpdate]=\"onWidgetUpdate\"\n [isFullHeight]=\"isFullHeight\"\n (onWidgetItemClick)=\"handleWidgetItemClick($event)\"\n ></lib-widget-row-tile>\n </div>\n }\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}::ng-deep .widget-block-wrapper{height:100%}::ng-deep .widget-block-wrapper .p-card{height:100%;background-color:var(--surface-0);border-radius:10px;box-shadow:none}::ng-deep .widget-block-wrapper .p-card-body{padding:0;height:100%}::ng-deep .widget-block-wrapper .p-card-content{padding:0;height:100%}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}.widget-section-wrapper{height:100%}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:7px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
6727
6710
  }], ctorParameters: () => [{ type: WidgetStore }, { type: WidgetQuery }], propDecorators: { isMenu: [{
6728
6711
  type: Input
6729
6712
  }], offerWidgetData: [{
@@ -6752,11 +6735,11 @@ class WidgetMenuHeaderComponent {
6752
6735
  widget;
6753
6736
  progressChartData;
6754
6737
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6755
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetMenuHeaderComponent, isStandalone: false, selector: "lib-widget-menu-header", inputs: { widget: "widget", progressChartData: "progressChartData" }, ngImport: i0, template: "<div class=\"grid m-0 align-items-center justify-content-between px-3\">\r\n <div class=\"col-10 p-0\">\r\n <div class=\"flex align-items-center\">\r\n <h3 class=\"mb-0 application-title-wrapper font-bold mr-3\">\r\n {{ (widget.header) }}\r\n </h3>\r\n </div>\r\n <div *ngIf=\"widget?.subHeader\" class=\"flex align-items-center mt-2\">\r\n <span class=\"mr-1\">Risk Rating:</span>\r\n <span class=\"mr-3 font-semibold\" [ngClass]=\"{\r\n 'text-red-500': widget.subHeader === 'High',\r\n 'text-green-500': widget.subHeader === 'Low',\r\n 'text-yellow-500': widget.subHeader === 'Medium'\r\n }\">{{ widget.subHeader }}</span>\r\n </div>\r\n </div>\r\n @if(widget.predefinedName == \"ApplicationWidget\") {\r\n <div class=\"chart-container\">\r\n <p-chart type=\"pie\" [data]=\"progressChartData\" height=\"50px\" width=\"50px\"></p-chart>\r\n <p class=\"percentage-label text-green-500 text-lg\">{{ progressChartData.datasets[0].data[0] }}%</p>\r\n </div>\r\n }\r\n \r\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}.application-title-wrapper{font-size:18px;font-weight:600}.chart-container{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$4.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }] });
6738
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetMenuHeaderComponent, isStandalone: false, selector: "lib-widget-menu-header", inputs: { widget: "widget", progressChartData: "progressChartData" }, ngImport: i0, template: "<div class=\"grid m-0 align-items-center justify-content-between px-3\">\n <div class=\"col-10 p-0\">\n <div class=\"flex align-items-center\">\n <h3 class=\"mb-0 application-title-wrapper font-bold mr-3\">\n {{ (widget.header) }}\n </h3>\n </div>\n <div *ngIf=\"widget?.subHeader\" class=\"flex align-items-center mt-2\">\n <span class=\"mr-1\">Risk Rating:</span>\n <span class=\"mr-3 font-semibold\" [ngClass]=\"{\n 'text-red-500': widget.subHeader === 'High',\n 'text-green-500': widget.subHeader === 'Low',\n 'text-yellow-500': widget.subHeader === 'Medium'\n }\">{{ widget.subHeader }}</span>\n </div>\n </div>\n @if(widget.predefinedName == \"ApplicationWidget\") {\n <div class=\"chart-container\">\n <p-chart type=\"pie\" [data]=\"progressChartData\" height=\"50px\" width=\"50px\"></p-chart>\n <p class=\"percentage-label text-green-500 text-lg\">{{ progressChartData.datasets[0].data[0] }}%</p>\n </div>\n }\n \n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}.application-title-wrapper{font-size:18px;font-weight:600}.chart-container{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$4.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }] });
6756
6739
  }
6757
6740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuHeaderComponent, decorators: [{
6758
6741
  type: Component,
6759
- args: [{ selector: 'lib-widget-menu-header', standalone: false, template: "<div class=\"grid m-0 align-items-center justify-content-between px-3\">\r\n <div class=\"col-10 p-0\">\r\n <div class=\"flex align-items-center\">\r\n <h3 class=\"mb-0 application-title-wrapper font-bold mr-3\">\r\n {{ (widget.header) }}\r\n </h3>\r\n </div>\r\n <div *ngIf=\"widget?.subHeader\" class=\"flex align-items-center mt-2\">\r\n <span class=\"mr-1\">Risk Rating:</span>\r\n <span class=\"mr-3 font-semibold\" [ngClass]=\"{\r\n 'text-red-500': widget.subHeader === 'High',\r\n 'text-green-500': widget.subHeader === 'Low',\r\n 'text-yellow-500': widget.subHeader === 'Medium'\r\n }\">{{ widget.subHeader }}</span>\r\n </div>\r\n </div>\r\n @if(widget.predefinedName == \"ApplicationWidget\") {\r\n <div class=\"chart-container\">\r\n <p-chart type=\"pie\" [data]=\"progressChartData\" height=\"50px\" width=\"50px\"></p-chart>\r\n <p class=\"percentage-label text-green-500 text-lg\">{{ progressChartData.datasets[0].data[0] }}%</p>\r\n </div>\r\n }\r\n \r\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}.application-title-wrapper{font-size:18px;font-weight:600}.chart-container{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"] }]
6742
+ args: [{ selector: 'lib-widget-menu-header', standalone: false, template: "<div class=\"grid m-0 align-items-center justify-content-between px-3\">\n <div class=\"col-10 p-0\">\n <div class=\"flex align-items-center\">\n <h3 class=\"mb-0 application-title-wrapper font-bold mr-3\">\n {{ (widget.header) }}\n </h3>\n </div>\n <div *ngIf=\"widget?.subHeader\" class=\"flex align-items-center mt-2\">\n <span class=\"mr-1\">Risk Rating:</span>\n <span class=\"mr-3 font-semibold\" [ngClass]=\"{\n 'text-red-500': widget.subHeader === 'High',\n 'text-green-500': widget.subHeader === 'Low',\n 'text-yellow-500': widget.subHeader === 'Medium'\n }\">{{ widget.subHeader }}</span>\n </div>\n </div>\n @if(widget.predefinedName == \"ApplicationWidget\") {\n <div class=\"chart-container\">\n <p-chart type=\"pie\" [data]=\"progressChartData\" height=\"50px\" width=\"50px\"></p-chart>\n <p class=\"percentage-label text-green-500 text-lg\">{{ progressChartData.datasets[0].data[0] }}%</p>\n </div>\n }\n \n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}.application-title-wrapper{font-size:18px;font-weight:600}.chart-container{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"] }]
6760
6743
  }], propDecorators: { widget: [{
6761
6744
  type: Input
6762
6745
  }], progressChartData: [{
@@ -6820,11 +6803,11 @@ class WidgetMenuItemComponent {
6820
6803
  this.widgetStore.setOnWidgetItemClick(updatedItem);
6821
6804
  }
6822
6805
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuItemComponent, deps: [{ token: StyleBuilderService }, { token: WidgetStore }], target: i0.ɵɵFactoryTarget.Component });
6823
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetMenuItemComponent, isStandalone: false, selector: "lib-widget-menu-item", inputs: { widgetItem: "widgetItem", widget: "widget", application: "application" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"widget-container\">\r\n <div class=\"flex justify-content-between\"\r\n [ngClass]=\"!(widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget') ? 'align-items-center' : ''\">\r\n <p class=\"mb-0 text-color-secondary mr-3 key-field-wrapper w-50\">{{ widgetItem?.key }}</p>\r\n \r\n <div class=\"mb-0 text-color font-semibold text-value-wrapper w-50 flex align-items-center justify-content-end\">\r\n <i *ngIf=\"false\" class=\"pi pi-exclamation-triangle text-red-500 mr-1\"\r\n style=\"font-size: 1.3rem\"></i>\r\n <p *ngIf=\"!(widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget')\" class=\"key-field-wrapper\"\r\n [ngStyle]=\"getStyle(widgetItem.style)\">\r\n <ng-container *ngIf=\"widgetItem?.isLink; else plainText\">\r\n <a class=\"cursor-pointer\" (click)=\"handleWidgetItemClick(widgetItem)\">\r\n {{ (widgetItem.value && widgetItem.value !== 'null') ? widgetItem.value : '' }}\r\n </a>\r\n </ng-container>\r\n <ng-template #plainText>\r\n <a (click)=\"handleWidgetItemClick(widgetItem)\"> {{ (widgetItem?.value && widgetItem?.value !== 'null') ? widgetItem?.value : '' }} </a>\r\n </ng-template>\r\n </p>\r\n <i *ngIf=\"widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget'\"\r\n class=\"pi pi-map-marker map-icon map-icon-wrapper\"></i>\r\n </div>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget'\"\r\n class=\"address-title-wrapper cursor-pointer\" [ngStyle]=\"getStyle(widgetItem.style)\" (click)=\"onHandleSidebar(widget.recordId)\">\r\n {{ widgetItem?.value }}\r\n </div>\r\n</div>", styles: [".text-value-wrapper{-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:100%}.key-field-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.w-50{width:50%!important}.map-icon-wrapper{font-size:16px;padding:13px;border-radius:30px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}.address-title-wrapper{width:80%;word-break:break-word;margin-top:-12px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
6806
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetMenuItemComponent, isStandalone: false, selector: "lib-widget-menu-item", inputs: { widgetItem: "widgetItem", widget: "widget", application: "application" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"widget-container\">\n <div class=\"flex justify-content-between\"\n [ngClass]=\"!(widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget') ? 'align-items-center' : ''\">\n <p class=\"mb-0 text-color-secondary mr-3 key-field-wrapper w-50\">{{ widgetItem?.key }}</p>\n \n <div class=\"mb-0 text-color font-semibold text-value-wrapper w-50 flex align-items-center justify-content-end\">\n <i *ngIf=\"false\" class=\"pi pi-exclamation-triangle text-red-500 mr-1\"\n style=\"font-size: 1.3rem\"></i>\n <p *ngIf=\"!(widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget')\" class=\"key-field-wrapper\"\n [ngStyle]=\"getStyle(widgetItem.style)\">\n <ng-container *ngIf=\"widgetItem?.isLink; else plainText\">\n <a class=\"cursor-pointer\" (click)=\"handleWidgetItemClick(widgetItem)\">\n {{ (widgetItem.value && widgetItem.value !== 'null') ? widgetItem.value : '' }}\n </a>\n </ng-container>\n <ng-template #plainText>\n <a (click)=\"handleWidgetItemClick(widgetItem)\"> {{ (widgetItem?.value && widgetItem?.value !== 'null') ? widgetItem?.value : '' }} </a>\n </ng-template>\n </p>\n <i *ngIf=\"widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget'\"\n class=\"pi pi-map-marker map-icon map-icon-wrapper\"></i>\n </div>\n </div>\n \n \n <div *ngIf=\"widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget'\"\n class=\"address-title-wrapper cursor-pointer\" [ngStyle]=\"getStyle(widgetItem.style)\" (click)=\"onHandleSidebar(widget.recordId)\">\n {{ widgetItem?.value }}\n </div>\n</div>", styles: [".text-value-wrapper{-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:100%}.key-field-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.w-50{width:50%!important}.map-icon-wrapper{font-size:16px;padding:13px;border-radius:30px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}.address-title-wrapper{width:80%;word-break:break-word;margin-top:-12px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
6824
6807
  }
6825
6808
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuItemComponent, decorators: [{
6826
6809
  type: Component,
6827
- args: [{ selector: 'lib-widget-menu-item', standalone: false, template: "<div class=\"widget-container\">\r\n <div class=\"flex justify-content-between\"\r\n [ngClass]=\"!(widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget') ? 'align-items-center' : ''\">\r\n <p class=\"mb-0 text-color-secondary mr-3 key-field-wrapper w-50\">{{ widgetItem?.key }}</p>\r\n \r\n <div class=\"mb-0 text-color font-semibold text-value-wrapper w-50 flex align-items-center justify-content-end\">\r\n <i *ngIf=\"false\" class=\"pi pi-exclamation-triangle text-red-500 mr-1\"\r\n style=\"font-size: 1.3rem\"></i>\r\n <p *ngIf=\"!(widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget')\" class=\"key-field-wrapper\"\r\n [ngStyle]=\"getStyle(widgetItem.style)\">\r\n <ng-container *ngIf=\"widgetItem?.isLink; else plainText\">\r\n <a class=\"cursor-pointer\" (click)=\"handleWidgetItemClick(widgetItem)\">\r\n {{ (widgetItem.value && widgetItem.value !== 'null') ? widgetItem.value : '' }}\r\n </a>\r\n </ng-container>\r\n <ng-template #plainText>\r\n <a (click)=\"handleWidgetItemClick(widgetItem)\"> {{ (widgetItem?.value && widgetItem?.value !== 'null') ? widgetItem?.value : '' }} </a>\r\n </ng-template>\r\n </p>\r\n <i *ngIf=\"widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget'\"\r\n class=\"pi pi-map-marker map-icon map-icon-wrapper\"></i>\r\n </div>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget'\"\r\n class=\"address-title-wrapper cursor-pointer\" [ngStyle]=\"getStyle(widgetItem.style)\" (click)=\"onHandleSidebar(widget.recordId)\">\r\n {{ widgetItem?.value }}\r\n </div>\r\n</div>", styles: [".text-value-wrapper{-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:100%}.key-field-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.w-50{width:50%!important}.map-icon-wrapper{font-size:16px;padding:13px;border-radius:30px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}.address-title-wrapper{width:80%;word-break:break-word;margin-top:-12px}\n"] }]
6810
+ args: [{ selector: 'lib-widget-menu-item', standalone: false, template: "<div class=\"widget-container\">\n <div class=\"flex justify-content-between\"\n [ngClass]=\"!(widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget') ? 'align-items-center' : ''\">\n <p class=\"mb-0 text-color-secondary mr-3 key-field-wrapper w-50\">{{ widgetItem?.key }}</p>\n \n <div class=\"mb-0 text-color font-semibold text-value-wrapper w-50 flex align-items-center justify-content-end\">\n <i *ngIf=\"false\" class=\"pi pi-exclamation-triangle text-red-500 mr-1\"\n style=\"font-size: 1.3rem\"></i>\n <p *ngIf=\"!(widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget')\" class=\"key-field-wrapper\"\n [ngStyle]=\"getStyle(widgetItem.style)\">\n <ng-container *ngIf=\"widgetItem?.isLink; else plainText\">\n <a class=\"cursor-pointer\" (click)=\"handleWidgetItemClick(widgetItem)\">\n {{ (widgetItem.value && widgetItem.value !== 'null') ? widgetItem.value : '' }}\n </a>\n </ng-container>\n <ng-template #plainText>\n <a (click)=\"handleWidgetItemClick(widgetItem)\"> {{ (widgetItem?.value && widgetItem?.value !== 'null') ? widgetItem?.value : '' }} </a>\n </ng-template>\n </p>\n <i *ngIf=\"widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget'\"\n class=\"pi pi-map-marker map-icon map-icon-wrapper\"></i>\n </div>\n </div>\n \n \n <div *ngIf=\"widgetItem.key === 'Address' && widget.predefinedName === 'PropertyWidget'\"\n class=\"address-title-wrapper cursor-pointer\" [ngStyle]=\"getStyle(widgetItem.style)\" (click)=\"onHandleSidebar(widget.recordId)\">\n {{ widgetItem?.value }}\n </div>\n</div>", styles: [".text-value-wrapper{-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:100%}.key-field-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.w-50{width:50%!important}.map-icon-wrapper{font-size:16px;padding:13px;border-radius:30px;border:1px solid rgba(76,98,146,.1);background:#4c62920a}.address-title-wrapper{width:80%;word-break:break-word;margin-top:-12px}\n"] }]
6828
6811
  }], ctorParameters: () => [{ type: StyleBuilderService }, { type: WidgetStore }], propDecorators: { widgetItem: [{
6829
6812
  type: Input
6830
6813
  }], widget: [{
@@ -6836,11 +6819,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
6836
6819
  class WidgetMenuBodyComponent {
6837
6820
  widget;
6838
6821
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6839
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetMenuBodyComponent, isStandalone: false, selector: "lib-widget-menu-body", inputs: { widget: "widget" }, ngImport: i0, template: "<div class=\"widget-body-container\">\r\n <div *ngFor=\"let dataItem of widget?.dataItems || []; let i = index\">\r\n @if(!dataItem.isHidden){\r\n <div [ngClass]=\"i !== ((widget.dataItems || []).length - 1) ? 'widget-item-wrapper' : ''\">\r\n <div [ngClass]=\"\r\n dataItem?.key === 'Vulnerability' && widget.predefinedName === 'ApplicantWidget'\r\n ? 'vulnerability-title-wrapper'\r\n : ( i !== ((widget.dataItems || []).length - 1) ? 'widget-wrapper' : 'widget-last-wrapper' )\r\n \" class=\"px-3\">\r\n <lib-widget-menu-item [widgetItem]=\"dataItem\" [widget]=\"widget\"></lib-widget-menu-item>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".widget-item-wrapper{border-bottom:1px solid rgba(68,72,109,.1)}.widget-wrapper{padding:10px 0}.vulnerability-title-wrapper{background:#fb392d36}\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: "component", type: WidgetMenuItemComponent, selector: "lib-widget-menu-item", inputs: ["widgetItem", "widget", "application"] }] });
6822
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: WidgetMenuBodyComponent, isStandalone: false, selector: "lib-widget-menu-body", inputs: { widget: "widget" }, ngImport: i0, template: "<div class=\"widget-body-container\">\n <div *ngFor=\"let dataItem of widget?.dataItems || []; let i = index\">\n @if(!dataItem.isHidden){\n <div [ngClass]=\"i !== ((widget.dataItems || []).length - 1) ? 'widget-item-wrapper' : ''\">\n <div [ngClass]=\"\n dataItem?.key === 'Vulnerability' && widget.predefinedName === 'ApplicantWidget'\n ? 'vulnerability-title-wrapper'\n : ( i !== ((widget.dataItems || []).length - 1) ? 'widget-wrapper' : 'widget-last-wrapper' )\n \" class=\"px-3\">\n <lib-widget-menu-item [widgetItem]=\"dataItem\" [widget]=\"widget\"></lib-widget-menu-item>\n </div>\n </div>\n }\n </div>\n</div>", styles: [".widget-item-wrapper{border-bottom:1px solid rgba(68,72,109,.1)}.widget-wrapper{padding:10px 0}.vulnerability-title-wrapper{background:#fb392d36}\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: "component", type: WidgetMenuItemComponent, selector: "lib-widget-menu-item", inputs: ["widgetItem", "widget", "application"] }] });
6840
6823
  }
6841
6824
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuBodyComponent, decorators: [{
6842
6825
  type: Component,
6843
- args: [{ selector: 'lib-widget-menu-body', standalone: false, template: "<div class=\"widget-body-container\">\r\n <div *ngFor=\"let dataItem of widget?.dataItems || []; let i = index\">\r\n @if(!dataItem.isHidden){\r\n <div [ngClass]=\"i !== ((widget.dataItems || []).length - 1) ? 'widget-item-wrapper' : ''\">\r\n <div [ngClass]=\"\r\n dataItem?.key === 'Vulnerability' && widget.predefinedName === 'ApplicantWidget'\r\n ? 'vulnerability-title-wrapper'\r\n : ( i !== ((widget.dataItems || []).length - 1) ? 'widget-wrapper' : 'widget-last-wrapper' )\r\n \" class=\"px-3\">\r\n <lib-widget-menu-item [widgetItem]=\"dataItem\" [widget]=\"widget\"></lib-widget-menu-item>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>", styles: [".widget-item-wrapper{border-bottom:1px solid rgba(68,72,109,.1)}.widget-wrapper{padding:10px 0}.vulnerability-title-wrapper{background:#fb392d36}\n"] }]
6826
+ args: [{ selector: 'lib-widget-menu-body', standalone: false, template: "<div class=\"widget-body-container\">\n <div *ngFor=\"let dataItem of widget?.dataItems || []; let i = index\">\n @if(!dataItem.isHidden){\n <div [ngClass]=\"i !== ((widget.dataItems || []).length - 1) ? 'widget-item-wrapper' : ''\">\n <div [ngClass]=\"\n dataItem?.key === 'Vulnerability' && widget.predefinedName === 'ApplicantWidget'\n ? 'vulnerability-title-wrapper'\n : ( i !== ((widget.dataItems || []).length - 1) ? 'widget-wrapper' : 'widget-last-wrapper' )\n \" class=\"px-3\">\n <lib-widget-menu-item [widgetItem]=\"dataItem\" [widget]=\"widget\"></lib-widget-menu-item>\n </div>\n </div>\n }\n </div>\n</div>", styles: [".widget-item-wrapper{border-bottom:1px solid rgba(68,72,109,.1)}.widget-wrapper{padding:10px 0}.vulnerability-title-wrapper{background:#fb392d36}\n"] }]
6844
6827
  }], propDecorators: { widget: [{
6845
6828
  type: Input
6846
6829
  }] } });
@@ -6976,11 +6959,11 @@ class WidgetMenuContainerComponent {
6976
6959
  this.destroy$.complete();
6977
6960
  }
6978
6961
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuContainerComponent, deps: [{ token: WidgetService }, { token: i3$4.ActivatedRoute }, { token: WidgetQuery }, { token: WidgetStore }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
6979
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetMenuContainerComponent, isStandalone: false, selector: "lib-widget-menu-container", inputs: { widgetName: "widgetName", recordId: "recordId", isRouteChanged: "isRouteChanged", isSidebarVisible: "isSidebarVisible", offerWidgetData: "offerWidgetData", valuationWidgetData: "valuationWidgetData", progressChartData: "progressChartData" }, outputs: { onViewAllDetails: "onViewAllDetails", onViewAllProperties: "onViewAllProperties", onWidgetItemClick: "onWidgetItemClick", getWidgetData: "getWidgetData", onDirectDebitClick: "onDirectDebitClick", onWidgetLoaded: "onWidgetLoaded" }, usesOnChanges: true, ngImport: i0, template: "<p-card class=\"widget-block-wrapper block\">\r\n <div class=\"widget-section-wrapper pt-2\">\r\n <!-- Loading state -->\r\n <ng-container *ngIf=\"isLoading; else widgetContent\">\r\n <p class=\"text-color ml-3 font-semibold\">Widget configuration loading...</p>\r\n </ng-container>\r\n \r\n <!-- Content after API call -->\r\n <ng-template #widgetContent>\r\n <ng-container *ngIf=\"(widgets && widgets.length > 0) || (valuationWidgetData || offerWidgetData); else noWidgets\">\r\n <ng-container *ngFor=\"let widget of widgets; let i = index\">\r\n <div class=\"widget-container-wrapper pl-1\" [ngClass]=\"i !== 0 ? 'mt-4' : ''\">\r\n <lib-widget-menu-header [widget]=\"widget\" [progressChartData]=\"progressChartData\"></lib-widget-menu-header>\r\n <div class=\"widget-content-wrapper mt-3 py-3\">\r\n <lib-widget-menu-body [widget]=\"widget\"></lib-widget-menu-body>\r\n <lib-widget-footer [widget]=\"widget\"></lib-widget-footer>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n \r\n <!-- No widget configured state -->\r\n <ng-template #noWidgets>\r\n <p class=\"text-color ml-3 font-semibold\">No Widgets Configured</p>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n </p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\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: "component", type: i6$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: WidgetFooterComponent, selector: "lib-widget-footer", inputs: ["widget"] }, { kind: "component", type: WidgetMenuHeaderComponent, selector: "lib-widget-menu-header", inputs: ["widget", "progressChartData"] }, { kind: "component", type: WidgetMenuBodyComponent, selector: "lib-widget-menu-body", inputs: ["widget"] }] });
6962
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetMenuContainerComponent, isStandalone: false, selector: "lib-widget-menu-container", inputs: { widgetName: "widgetName", recordId: "recordId", isRouteChanged: "isRouteChanged", isSidebarVisible: "isSidebarVisible", offerWidgetData: "offerWidgetData", valuationWidgetData: "valuationWidgetData", progressChartData: "progressChartData" }, outputs: { onViewAllDetails: "onViewAllDetails", onViewAllProperties: "onViewAllProperties", onWidgetItemClick: "onWidgetItemClick", getWidgetData: "getWidgetData", onDirectDebitClick: "onDirectDebitClick", onWidgetLoaded: "onWidgetLoaded" }, usesOnChanges: true, ngImport: i0, template: "<p-card class=\"widget-block-wrapper block\">\n <div class=\"widget-section-wrapper pt-2\">\n <!-- Loading state -->\n <ng-container *ngIf=\"isLoading; else widgetContent\">\n <p class=\"text-color ml-3 font-semibold\">Widget configuration loading...</p>\n </ng-container>\n \n <!-- Content after API call -->\n <ng-template #widgetContent>\n <ng-container *ngIf=\"(widgets && widgets.length > 0) || (valuationWidgetData || offerWidgetData); else noWidgets\">\n <ng-container *ngFor=\"let widget of widgets; let i = index\">\n <div class=\"widget-container-wrapper pl-1\" [ngClass]=\"i !== 0 ? 'mt-4' : ''\">\n <lib-widget-menu-header [widget]=\"widget\" [progressChartData]=\"progressChartData\"></lib-widget-menu-header>\n <div class=\"widget-content-wrapper mt-3 py-3\">\n <lib-widget-menu-body [widget]=\"widget\"></lib-widget-menu-body>\n <lib-widget-footer [widget]=\"widget\"></lib-widget-footer>\n </div>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- No widget configured state -->\n <ng-template #noWidgets>\n <p class=\"text-color ml-3 font-semibold\">No Widgets Configured</p>\n </ng-template>\n </ng-template>\n </div>\n </p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\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: "component", type: i6$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: WidgetFooterComponent, selector: "lib-widget-footer", inputs: ["widget"] }, { kind: "component", type: WidgetMenuHeaderComponent, selector: "lib-widget-menu-header", inputs: ["widget", "progressChartData"] }, { kind: "component", type: WidgetMenuBodyComponent, selector: "lib-widget-menu-body", inputs: ["widget"] }] });
6980
6963
  }
6981
6964
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuContainerComponent, decorators: [{
6982
6965
  type: Component,
6983
- args: [{ selector: 'lib-widget-menu-container', standalone: false, template: "<p-card class=\"widget-block-wrapper block\">\r\n <div class=\"widget-section-wrapper pt-2\">\r\n <!-- Loading state -->\r\n <ng-container *ngIf=\"isLoading; else widgetContent\">\r\n <p class=\"text-color ml-3 font-semibold\">Widget configuration loading...</p>\r\n </ng-container>\r\n \r\n <!-- Content after API call -->\r\n <ng-template #widgetContent>\r\n <ng-container *ngIf=\"(widgets && widgets.length > 0) || (valuationWidgetData || offerWidgetData); else noWidgets\">\r\n <ng-container *ngFor=\"let widget of widgets; let i = index\">\r\n <div class=\"widget-container-wrapper pl-1\" [ngClass]=\"i !== 0 ? 'mt-4' : ''\">\r\n <lib-widget-menu-header [widget]=\"widget\" [progressChartData]=\"progressChartData\"></lib-widget-menu-header>\r\n <div class=\"widget-content-wrapper mt-3 py-3\">\r\n <lib-widget-menu-body [widget]=\"widget\"></lib-widget-menu-body>\r\n <lib-widget-footer [widget]=\"widget\"></lib-widget-footer>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n \r\n <!-- No widget configured state -->\r\n <ng-template #noWidgets>\r\n <p class=\"text-color ml-3 font-semibold\">No Widgets Configured</p>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n </p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
6966
+ args: [{ selector: 'lib-widget-menu-container', standalone: false, template: "<p-card class=\"widget-block-wrapper block\">\n <div class=\"widget-section-wrapper pt-2\">\n <!-- Loading state -->\n <ng-container *ngIf=\"isLoading; else widgetContent\">\n <p class=\"text-color ml-3 font-semibold\">Widget configuration loading...</p>\n </ng-container>\n \n <!-- Content after API call -->\n <ng-template #widgetContent>\n <ng-container *ngIf=\"(widgets && widgets.length > 0) || (valuationWidgetData || offerWidgetData); else noWidgets\">\n <ng-container *ngFor=\"let widget of widgets; let i = index\">\n <div class=\"widget-container-wrapper pl-1\" [ngClass]=\"i !== 0 ? 'mt-4' : ''\">\n <lib-widget-menu-header [widget]=\"widget\" [progressChartData]=\"progressChartData\"></lib-widget-menu-header>\n <div class=\"widget-content-wrapper mt-3 py-3\">\n <lib-widget-menu-body [widget]=\"widget\"></lib-widget-menu-body>\n <lib-widget-footer [widget]=\"widget\"></lib-widget-footer>\n </div>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- No widget configured state -->\n <ng-template #noWidgets>\n <p class=\"text-color ml-3 font-semibold\">No Widgets Configured</p>\n </ng-template>\n </ng-template>\n </div>\n </p-card>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}::ng-deep .refresh-btn-wrapper .p-button{padding:0}::ng-deep .valuation-timeline-wrapper .p-timeline-event-opposite{display:none}::ng-deep .rating-badge-wrapper .p-button{display:flex;align-items:center}.application-title-wrapper{font-size:18px;font-weight:400}.application-section-wrapper{background-color:#4c629208;border:1px solid rgba(76,98,146,.1);border-radius:10px}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
6984
6967
  }], ctorParameters: () => [{ type: WidgetService }, { type: i3$4.ActivatedRoute }, { type: WidgetQuery }, { type: WidgetStore }, { type: i0.ChangeDetectorRef }], propDecorators: { widgetName: [{
6985
6968
  type: Input
6986
6969
  }], recordId: [{
@@ -7092,7 +7075,6 @@ class QueueService extends BaseService {
7092
7075
  }
7093
7076
  /**
7094
7077
  * Fetches paginated queue records using the provided apiConfig URL with search and pagination support.
7095
- * This is the unified method used for both initial data loading and search functionality.
7096
7078
  * Uses POST method with underwriterIds and unassigned in body, other params in query string.
7097
7079
  * @param {string} apiConfig - The full API endpoint to fetch records for the selected queue
7098
7080
  * @param {string} [searchKey] - Optional search term
@@ -7118,20 +7100,16 @@ class QueueService extends BaseService {
7118
7100
  if (query) {
7119
7101
  const queryParams = new URLSearchParams(query);
7120
7102
  queryParams.forEach((value, key) => {
7121
- // Extract underwriterIds and unassigned for body, keep others in params
7122
7103
  if (key === 'underwriterId') {
7123
- // Convert comma-separated string to array for body
7124
7104
  const underwriterIds = value.split(',').filter(id => id.trim() !== '');
7125
7105
  if (underwriterIds.length > 0) {
7126
7106
  body.underwriterIds = underwriterIds;
7127
7107
  }
7128
7108
  }
7129
7109
  else if (key === 'unassigned') {
7130
- // Convert string to boolean for body
7131
7110
  body.unassigned = value === 'true';
7132
7111
  }
7133
7112
  else {
7134
- // Keep all other params in query string (including 'all' flag)
7135
7113
  params[key] = value;
7136
7114
  }
7137
7115
  });
@@ -7163,6 +7141,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
7163
7141
  args: [{ providedIn: "root" }]
7164
7142
  }], ctorParameters: () => [{ type: QueueStore$1 }, { type: i1$1.HttpClient }, { type: AppConfigService }, { type: ListService }] });
7165
7143
 
7144
+ /**
7145
+ * Maps a lowercased valuation/instruction status to its icon and colour configuration.
7146
+ * Keys must be lowercase; lookups normalise the incoming status with `toLowerCase()`.
7147
+ */
7148
+ const VALUATION_STATUS_CONFIG_MAP = {
7149
+ 'received': { icon: 'pi pi-image', iconClass: 'text-green-600', textClass: 'text-green-700 font-medium' },
7150
+ 'not paid': { icon: 'pi pi-times-circle', iconClass: 'text-red-600', textClass: 'text-red-700 font-medium' },
7151
+ 'instructed': { icon: 'pi pi-file', iconClass: 'text-blue-600', textClass: 'text-blue-700 font-medium' },
7152
+ 'outstanding pvq': { icon: 'pi pi-star', iconClass: 'text-purple-600', textClass: 'text-purple-700 font-medium' },
7153
+ 'paid': { icon: 'pi pi-pound', iconClass: 'text-green-500', textClass: 'text-green-600 font-medium' },
7154
+ 'reviewing': { icon: 'pi pi-clock', iconClass: 'text-orange-600', textClass: 'text-orange-700 font-medium' },
7155
+ 'complete': { icon: 'pi pi-check-circle', iconClass: 'text-green-600', textClass: 'text-green-700 font-medium' },
7156
+ 'scheduled': { icon: 'pi pi-calendar', iconClass: 'text-blue-600', textClass: 'text-blue-700 font-medium' },
7157
+ 'requested': { icon: 'pi pi-send', iconClass: 'text-indigo-600', textClass: 'text-indigo-700 font-medium' },
7158
+ 'ready to instruct': { icon: 'pi pi-check', iconClass: 'text-teal-600', textClass: 'text-teal-700 font-medium' },
7159
+ // Quest instruction statuses surfaced via the applications API.
7160
+ 'failed': { icon: 'pi pi-times-circle', iconClass: 'text-red-600', textClass: 'text-red-700 font-medium' },
7161
+ 'cancelled': { icon: 'pi pi-ban', iconClass: 'text-bluegray-600', textClass: 'text-bluegray-700 font-medium' },
7162
+ 'booked': { icon: 'pi pi-calendar', iconClass: 'text-yellow-600', textClass: 'text-yellow-700 font-medium' },
7163
+ 'held': { icon: 'pi pi-pause-circle', iconClass: 'text-orange-600', textClass: 'text-orange-700 font-medium' },
7164
+ 'tried': { icon: 'pi pi-replay', iconClass: 'text-blue-600', textClass: 'text-blue-700 font-medium' },
7165
+ 'allocated': { icon: 'pi pi-user', iconClass: 'text-cyan-600', textClass: 'text-cyan-700 font-medium' }
7166
+ };
7167
+ /** Fallback configuration used when a status is not present in {@link VALUATION_STATUS_CONFIG_MAP}. */
7168
+ const VALUATION_STATUS_DEFAULT_CONFIG = {
7169
+ icon: 'pi pi-info-circle',
7170
+ iconClass: 'text-gray-600',
7171
+ textClass: 'text-gray-700 font-medium'
7172
+ };
7173
+
7166
7174
  const CHIP_VARIANTS = {
7167
7175
  DANGER: 'danger',
7168
7176
  WARNING: 'warning',
@@ -7186,10 +7194,9 @@ class QueueRecordTableBuilderService extends TableBuilder {
7186
7194
  if (days < 0) {
7187
7195
  return CHIP_VARIANTS.DANGER;
7188
7196
  }
7189
- if (days <= 1) {
7190
- return CHIP_VARIANTS.WARNING;
7191
- }
7192
- return CHIP_VARIANTS.SUCCESS;
7197
+ // SLA within target window (including day 0) should be Amber (warning).
7198
+ // Only SLA breaches (days < 0) should be Red (danger).
7199
+ return CHIP_VARIANTS.WARNING;
7193
7200
  }
7194
7201
  /**
7195
7202
  * Maps valuation status to icon and color configuration
@@ -7197,64 +7204,7 @@ class QueueRecordTableBuilderService extends TableBuilder {
7197
7204
  getValuationStatusConfig(status) {
7198
7205
  if (!status)
7199
7206
  return null;
7200
- const statusLower = status.toLowerCase();
7201
- const configMap = {
7202
- 'received': {
7203
- icon: 'pi pi-image',
7204
- iconClass: 'text-green-600',
7205
- textClass: 'text-green-700 font-medium'
7206
- },
7207
- 'not paid': {
7208
- icon: 'pi pi-times-circle',
7209
- iconClass: 'text-red-600',
7210
- textClass: 'text-red-700 font-medium'
7211
- },
7212
- 'instructed': {
7213
- icon: 'pi pi-file',
7214
- iconClass: 'text-blue-600',
7215
- textClass: 'text-blue-700 font-medium'
7216
- },
7217
- 'outstanding pvq': {
7218
- icon: 'pi pi-star',
7219
- iconClass: 'text-purple-600',
7220
- textClass: 'text-purple-700 font-medium'
7221
- },
7222
- 'paid': {
7223
- icon: 'pi pi-pound',
7224
- iconClass: 'text-green-500',
7225
- textClass: 'text-green-600 font-medium'
7226
- },
7227
- 'reviewing': {
7228
- icon: 'pi pi-clock',
7229
- iconClass: 'text-orange-600',
7230
- textClass: 'text-orange-700 font-medium'
7231
- },
7232
- 'complete': {
7233
- icon: 'pi pi-check-circle',
7234
- iconClass: 'text-green-600',
7235
- textClass: 'text-green-700 font-medium'
7236
- },
7237
- 'scheduled': {
7238
- icon: 'pi pi-calendar',
7239
- iconClass: 'text-blue-600',
7240
- textClass: 'text-blue-700 font-medium'
7241
- },
7242
- 'requested': {
7243
- icon: 'pi pi-send',
7244
- iconClass: 'text-indigo-600',
7245
- textClass: 'text-indigo-700 font-medium'
7246
- },
7247
- 'ready to instruct': {
7248
- icon: 'pi pi-check',
7249
- iconClass: 'text-teal-600',
7250
- textClass: 'text-teal-700 font-medium'
7251
- }
7252
- };
7253
- return configMap[statusLower] || {
7254
- icon: 'pi pi-info-circle',
7255
- iconClass: 'text-gray-600',
7256
- textClass: 'text-gray-700 font-medium'
7257
- };
7207
+ return VALUATION_STATUS_CONFIG_MAP[status.toLowerCase()] || VALUATION_STATUS_DEFAULT_CONFIG;
7258
7208
  }
7259
7209
  /**
7260
7210
  * Truncates text to specified length with ellipsis
@@ -7267,19 +7217,6 @@ class QueueRecordTableBuilderService extends TableBuilder {
7267
7217
  return '';
7268
7218
  return text.length > maxLength ? `${text.substring(0, maxLength - 3)}...` : text;
7269
7219
  }
7270
- /**
7271
- * GBP display for queue currency columns: £ with thousands separator and 2 decimals; null/empty -> '-'.
7272
- */
7273
- formatQueueCurrencyValue(value) {
7274
- if (value == null || value === '' || String(value).toLowerCase() === SHARED.null) {
7275
- return SHARED.DASH;
7276
- }
7277
- const num = Number(value);
7278
- if (!Number.isFinite(num)) {
7279
- return SHARED.DASH;
7280
- }
7281
- return `£${num.toLocaleString('en-GB', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
7282
- }
7283
7220
  getColumnOrder(isReferredQueue) {
7284
7221
  if (!isReferredQueue) {
7285
7222
  return QUEUE_RECORD_TABLE_COLUMN_ORDER.filter(field => field !== SHARED.REFERRED_DATE);
@@ -7293,12 +7230,8 @@ class QueueRecordTableBuilderService extends TableBuilder {
7293
7230
  if (records.length === 0) {
7294
7231
  return table;
7295
7232
  }
7296
- const normalizedRecords = records.map((r) => ({
7297
- ...r,
7298
- [SHARED.BASE_PRICE]: r[SHARED.BASE_PRICE] ?? r['baseRate']
7299
- }));
7300
7233
  // Get the first record to determine available fields
7301
- const firstRecord = normalizedRecords[0];
7234
+ const firstRecord = records[0];
7302
7235
  const excludedFields = [
7303
7236
  SHARED._ID,
7304
7237
  SHARED.COMPANY_NAME,
@@ -7314,7 +7247,7 @@ class QueueRecordTableBuilderService extends TableBuilder {
7314
7247
  let availableFields = columnOrder
7315
7248
  .filter(field => !excludedFields.includes(field) && firstRecord.hasOwnProperty(field));
7316
7249
  const columnWidths = QUEUE_RECORD_TABLE_COLUMN_WIDTH_LIST;
7317
- table.records = normalizedRecords.map((apiRecord) => {
7250
+ table.records = records.map((apiRecord, index) => {
7318
7251
  // Format riskRating: convert "Medium" to "Med" for display
7319
7252
  const formattedRiskRating = apiRecord.riskRating === 'Medium' ? 'Med' : apiRecord.riskRating;
7320
7253
  const record = {
@@ -7338,36 +7271,30 @@ class QueueRecordTableBuilderService extends TableBuilder {
7338
7271
  // Format specific fields
7339
7272
  if (field === SHARED.APPLICANTS && Array.isArray(value)) {
7340
7273
  const companyName = apiRecord.companyName || '';
7341
- const fallbackInviteEmail = apiRecord.inviteEmail || '';
7342
7274
  const bubbles = [];
7343
7275
  // If we have both company and applicants, show only company name
7344
7276
  if (companyName && value.length > 0) {
7345
7277
  bubbles.push({
7346
7278
  fullName: companyName,
7347
- isCompany: true,
7348
- inviteEmail: fallbackInviteEmail
7279
+ isCompany: true
7349
7280
  });
7350
7281
  }
7351
7282
  else if (companyName) {
7352
7283
  // Only company, no applicants
7353
7284
  bubbles.push({
7354
7285
  fullName: companyName,
7355
- isCompany: true,
7356
- inviteEmail: fallbackInviteEmail
7286
+ isCompany: true
7357
7287
  });
7358
7288
  }
7359
7289
  else {
7360
7290
  // Only applicants, show full names
7361
7291
  value.forEach((applicant) => {
7362
- const applicantName = applicant?.fullName || '';
7363
- const applicantInviteEmail = applicant?.inviteEmail || fallbackInviteEmail;
7364
- if (applicantName || applicantInviteEmail) {
7292
+ if (applicant.fullName) {
7365
7293
  // Format riskRating: convert "Medium" to "Med" for display
7366
7294
  const formattedApplicantRisk = applicant.riskRating === 'Medium' ? 'Med' : applicant.riskRating;
7367
7295
  bubbles.push({
7368
- fullName: applicantName,
7296
+ fullName: applicant.fullName,
7369
7297
  isCompany: false,
7370
- inviteEmail: applicantInviteEmail,
7371
7298
  riskRating: formattedApplicantRisk,
7372
7299
  isCustomerVulnerable: applicant.isCustomerVulnerable
7373
7300
  });
@@ -7429,10 +7356,13 @@ class QueueRecordTableBuilderService extends TableBuilder {
7429
7356
  cellValue = value;
7430
7357
  }
7431
7358
  }
7432
- else if (field === SHARED.TOTAL_FINANCE_AMOUNT ||
7433
- field === SHARED.BASE_PRICE ||
7434
- field === SHARED.MONTHLY_PAYMENT) {
7435
- cellValue = this.formatQueueCurrencyValue(value);
7359
+ else if (field === SHARED.TOTAL_FINANCE_AMOUNT) {
7360
+ if (value != null && value !== '') {
7361
+ cellValue = `£${Number(value).toLocaleString('en-GB', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
7362
+ }
7363
+ else {
7364
+ cellValue = SHARED.EMPTY;
7365
+ }
7436
7366
  }
7437
7367
  else if (field === SHARED.SECURITY_ADDRESS && value) {
7438
7368
  const line1 = value.addressLine1 || '';
@@ -7610,11 +7540,11 @@ class QueueSearchComponent {
7610
7540
  return !!this.searchText;
7611
7541
  }
7612
7542
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7613
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueSearchComponent, isStandalone: false, selector: "queue-search", inputs: { searchText: "searchText", placeholder: "placeholder", debounceTime: "debounceTime" }, outputs: { searchInputChanged: "searchInputChanged", searchRequested: "searchRequested", searchCleared: "searchCleared" }, ngImport: i0, template: "<div class=\"flex xl:mt-0 xl:justify-content-between align-items-center bg-white\" style=\"border: 1px solid #E2E8F0; border-radius: 8px; height: 40px;\">\r\n <div class=\"p-field m-0 p-0 w-full bg-white border-round\" >\r\n <div class=\"p-inputgroup border-round bg-white\" style=\"height: 100%;\">\r\n <span class=\"p-inputgroup-addon bg-white\" style=\"height: 100%; display: flex; align-items: center;\">\r\n <i class=\"pi pi-search\"></i>\r\n </span>\r\n <input \r\n type=\"text\" \r\n [(ngModel)]=\"searchText\" \r\n class=\"border-none p-0 border-noround-right bg-white w-full outline-none\" \r\n style=\"height: 100%;\" \r\n pInputText \r\n [placeholder]=\"placeholder\" \r\n (input)=\"onSearchInputChange()\"\r\n (keydown.enter)=\"onSearch()\" \r\n />\r\n <button \r\n *ngIf=\"hasSearchText\" \r\n type=\"button\" \r\n class=\"p-inputgroup-addon bg-white border-none cursor-pointer\" \r\n (click)=\"onClearSearch()\"\r\n pButton \r\n icon=\"pi pi-times\"\r\n [text]=\"true\"\r\n style=\"height: 100%; display: flex; align-items: center; border-radius: 8px;\"\r\n ></button>\r\n </div>\r\n </div>\r\n </div>\r\n ", styles: [".p-inputgroup{width:100%;display:flex;align-items:center;height:40px}input::placeholder{font-family:Open Sans,sans-serif;font-weight:400;font-size:12px;color:#9ca3af}input{font-family:Open Sans,sans-serif;font-size:12px}.p-inputgroup-addon{display:flex;align-items:center;height:100%}input[type=text],input.p-inputtext{height:100%;display:flex;align-items:center;padding-top:0;padding-bottom:0;box-sizing:border-box}button.p-inputgroup-addon{display:flex;align-items:center;height:100%}.bg-primary{background-color:#d9d9d9}::ng-deep .left-arrow-dropdown .p-dropdown{direction:rtl;width:100%;height:44px;border-top-left-radius:0;border-bottom-left-radius:0}::ng-deep .left-arrow-dropdown .p-dropdown-label{display:flex;align-items:center}.h-44{height:44px}@media screen and (min-width: 1200px){.vh-100{height:calc(100vh - 170px)}}.bg-while{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7543
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueSearchComponent, isStandalone: false, selector: "queue-search", inputs: { searchText: "searchText", placeholder: "placeholder", debounceTime: "debounceTime" }, outputs: { searchInputChanged: "searchInputChanged", searchRequested: "searchRequested", searchCleared: "searchCleared" }, ngImport: i0, template: "<div class=\"flex xl:mt-0 xl:justify-content-between align-items-center bg-white\" style=\"border: 1px solid #E2E8F0; border-radius: 8px; height: 40px;\">\n <div class=\"p-field m-0 p-0 w-full bg-white border-round\" >\n <div class=\"p-inputgroup border-round bg-white\" style=\"height: 100%;\">\n <span class=\"p-inputgroup-addon bg-white\" style=\"height: 100%; display: flex; align-items: center;\">\n <i class=\"pi pi-search\"></i>\n </span>\n <input \n type=\"text\" \n [(ngModel)]=\"searchText\" \n class=\"border-none p-0 border-noround-right bg-white w-full outline-none\" \n style=\"height: 100%;\" \n pInputText \n [placeholder]=\"placeholder\" \n (input)=\"onSearchInputChange()\"\n (keydown.enter)=\"onSearch()\" \n />\n <button \n *ngIf=\"hasSearchText\" \n type=\"button\" \n class=\"p-inputgroup-addon bg-white border-none cursor-pointer\" \n (click)=\"onClearSearch()\"\n pButton \n icon=\"pi pi-times\"\n [text]=\"true\"\n style=\"height: 100%; display: flex; align-items: center; border-radius: 8px;\"\n ></button>\n </div>\n </div>\n </div>\n ", styles: [".p-inputgroup{width:100%;display:flex;align-items:center;height:40px}input::placeholder{font-family:Open Sans,sans-serif;font-weight:400;font-size:12px;color:#9ca3af}input{font-family:Open Sans,sans-serif;font-size:12px}.p-inputgroup-addon{display:flex;align-items:center;height:100%}input[type=text],input.p-inputtext{height:100%;display:flex;align-items:center;padding-top:0;padding-bottom:0;box-sizing:border-box}button.p-inputgroup-addon{display:flex;align-items:center;height:100%}.bg-primary{background-color:#d9d9d9}::ng-deep .left-arrow-dropdown .p-dropdown{direction:rtl;width:100%;height:44px;border-top-left-radius:0;border-bottom-left-radius:0}::ng-deep .left-arrow-dropdown .p-dropdown-label{display:flex;align-items:center}.h-44{height:44px}@media screen and (min-width: 1200px){.vh-100{height:calc(100vh - 170px)}}.bg-while{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "directive", type: i3$3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7614
7544
  }
7615
7545
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueSearchComponent, decorators: [{
7616
7546
  type: Component,
7617
- args: [{ selector: 'queue-search', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex xl:mt-0 xl:justify-content-between align-items-center bg-white\" style=\"border: 1px solid #E2E8F0; border-radius: 8px; height: 40px;\">\r\n <div class=\"p-field m-0 p-0 w-full bg-white border-round\" >\r\n <div class=\"p-inputgroup border-round bg-white\" style=\"height: 100%;\">\r\n <span class=\"p-inputgroup-addon bg-white\" style=\"height: 100%; display: flex; align-items: center;\">\r\n <i class=\"pi pi-search\"></i>\r\n </span>\r\n <input \r\n type=\"text\" \r\n [(ngModel)]=\"searchText\" \r\n class=\"border-none p-0 border-noround-right bg-white w-full outline-none\" \r\n style=\"height: 100%;\" \r\n pInputText \r\n [placeholder]=\"placeholder\" \r\n (input)=\"onSearchInputChange()\"\r\n (keydown.enter)=\"onSearch()\" \r\n />\r\n <button \r\n *ngIf=\"hasSearchText\" \r\n type=\"button\" \r\n class=\"p-inputgroup-addon bg-white border-none cursor-pointer\" \r\n (click)=\"onClearSearch()\"\r\n pButton \r\n icon=\"pi pi-times\"\r\n [text]=\"true\"\r\n style=\"height: 100%; display: flex; align-items: center; border-radius: 8px;\"\r\n ></button>\r\n </div>\r\n </div>\r\n </div>\r\n ", styles: [".p-inputgroup{width:100%;display:flex;align-items:center;height:40px}input::placeholder{font-family:Open Sans,sans-serif;font-weight:400;font-size:12px;color:#9ca3af}input{font-family:Open Sans,sans-serif;font-size:12px}.p-inputgroup-addon{display:flex;align-items:center;height:100%}input[type=text],input.p-inputtext{height:100%;display:flex;align-items:center;padding-top:0;padding-bottom:0;box-sizing:border-box}button.p-inputgroup-addon{display:flex;align-items:center;height:100%}.bg-primary{background-color:#d9d9d9}::ng-deep .left-arrow-dropdown .p-dropdown{direction:rtl;width:100%;height:44px;border-top-left-radius:0;border-bottom-left-radius:0}::ng-deep .left-arrow-dropdown .p-dropdown-label{display:flex;align-items:center}.h-44{height:44px}@media screen and (min-width: 1200px){.vh-100{height:calc(100vh - 170px)}}.bg-while{background-color:#fff}\n"] }]
7547
+ args: [{ selector: 'queue-search', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex xl:mt-0 xl:justify-content-between align-items-center bg-white\" style=\"border: 1px solid #E2E8F0; border-radius: 8px; height: 40px;\">\n <div class=\"p-field m-0 p-0 w-full bg-white border-round\" >\n <div class=\"p-inputgroup border-round bg-white\" style=\"height: 100%;\">\n <span class=\"p-inputgroup-addon bg-white\" style=\"height: 100%; display: flex; align-items: center;\">\n <i class=\"pi pi-search\"></i>\n </span>\n <input \n type=\"text\" \n [(ngModel)]=\"searchText\" \n class=\"border-none p-0 border-noround-right bg-white w-full outline-none\" \n style=\"height: 100%;\" \n pInputText \n [placeholder]=\"placeholder\" \n (input)=\"onSearchInputChange()\"\n (keydown.enter)=\"onSearch()\" \n />\n <button \n *ngIf=\"hasSearchText\" \n type=\"button\" \n class=\"p-inputgroup-addon bg-white border-none cursor-pointer\" \n (click)=\"onClearSearch()\"\n pButton \n icon=\"pi pi-times\"\n [text]=\"true\"\n style=\"height: 100%; display: flex; align-items: center; border-radius: 8px;\"\n ></button>\n </div>\n </div>\n </div>\n ", styles: [".p-inputgroup{width:100%;display:flex;align-items:center;height:40px}input::placeholder{font-family:Open Sans,sans-serif;font-weight:400;font-size:12px;color:#9ca3af}input{font-family:Open Sans,sans-serif;font-size:12px}.p-inputgroup-addon{display:flex;align-items:center;height:100%}input[type=text],input.p-inputtext{height:100%;display:flex;align-items:center;padding-top:0;padding-bottom:0;box-sizing:border-box}button.p-inputgroup-addon{display:flex;align-items:center;height:100%}.bg-primary{background-color:#d9d9d9}::ng-deep .left-arrow-dropdown .p-dropdown{direction:rtl;width:100%;height:44px;border-top-left-radius:0;border-bottom-left-radius:0}::ng-deep .left-arrow-dropdown .p-dropdown-label{display:flex;align-items:center}.h-44{height:44px}@media screen and (min-width: 1200px){.vh-100{height:calc(100vh - 170px)}}.bg-while{background-color:#fff}\n"] }]
7618
7548
  }], propDecorators: { searchText: [{
7619
7549
  type: Input
7620
7550
  }], placeholder: [{
@@ -7659,15 +7589,22 @@ class QueueItemComponent {
7659
7589
  return queueId === this.selectedQueueId;
7660
7590
  }
7661
7591
  iconMap = [
7662
- ['all applications', 'pi-th-large'],
7663
- ['invite sent', 'ri-mail-open-line'],
7664
- ['underwriter pipeline', 'ri-flow-chart'],
7665
- ['approval pipeline', 'ri-flow-chart'],
7666
- ['completed', 'ri-check-double-line'],
7592
+ ['unassigned', 'pi-inbox'],
7593
+ ['assigned', 'pi-star'],
7594
+ ['all application', 'pi-th-large'],
7595
+ ['withdrawal', 'pi-times-circle'],
7596
+ ['withdrawn', 'pi-times-circle'],
7667
7597
  ['decline', 'pi-ban'],
7668
- ['withdrawn', 'ri-file-reduce-line'],
7669
- ['archived', 'ri-archive-line'],
7670
- ['kyc failed', 'pi-times-circle']
7598
+ ['post underwriting', 'pi-check-square'],
7599
+ ['mandate requested', 'pi-file-edit'],
7600
+ ['mandate', 'pi-file'],
7601
+ ['exception', 'pi-exclamation-circle'],
7602
+ ['referred', 'pi-directions'],
7603
+ ['completion', 'pi-check-circle'],
7604
+ ['new application', 'pi-plus-circle'],
7605
+ ['offer', 'pi-gift'],
7606
+ ['valuation', 'pi-chart-bar'],
7607
+ ['issue', 'pi-send']
7671
7608
  ];
7672
7609
  getQueueIcon(name) {
7673
7610
  if (!name)
@@ -7680,11 +7617,11 @@ class QueueItemComponent {
7680
7617
  return 'pi-list';
7681
7618
  }
7682
7619
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueItemComponent, deps: [{ token: QueueStore$1 }], target: i0.ɵɵFactoryTarget.Component });
7683
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueItemComponent, isStandalone: false, selector: "app-queue-item", inputs: { filteredQueueData: "filteredQueueData", selectedQueueId: "selectedQueueId", selectedStatus: "selectedStatus", userRole: "userRole", showQueueDataForm: "showQueueDataForm" }, outputs: { queueSelected: "queueSelected", statusChanged: "statusChanged", insertQueueRequested: "insertQueueRequested" }, ngImport: i0, template: "<div class=\"queue-nav-wrapper\">\r\n <h4 class=\"queue-title m-0 mb-3\">Queues</h4>\r\n <div class=\"queue-items-list\">\r\n @for(queue of filteredQueueData; let i = $index; track queue){\r\n <div class=\"queue-nav-item\"\r\n [ngClass]=\"{'queue-nav-item--active': isQueueSelected(queue._id), 'queue-nav-item--inactive': !isQueueActive(queue)}\"\r\n (click)=\"onQueueClick(queue._id)\">\r\n <div class=\"queue-nav-item__inner\">\r\n <i class=\"pi queue-nav-item__icon\"\r\n [ngClass]=\"getQueueIcon(queue.name)\"></i>\r\n <span class=\"queue-nav-item__label\" [pTooltip]=\"queue.name\" tooltipPosition=\"top\"\r\n [ngClass]=\"{'queue-nav-item__label--active': isQueueSelected(queue._id)}\">{{queue.name}}</span>\r\n </div>\r\n @if(queue.itemCount !== null){\r\n <span class=\"queue-nav-item__badge\"\r\n [ngClass]=\"{'queue-nav-item__badge--active': isQueueSelected(queue._id)}\">{{queue.itemCount}}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".queue-nav-wrapper{background:#fff;border-radius:15px;padding:20px;width:100%}.queue-title{font-family:Open Sans,sans-serif;font-weight:600;font-size:18px;line-height:1.2em;color:#1f2937}.queue-items-list{display:flex;flex-direction:column;gap:8px}.queue-nav-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:transparent;cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.queue-nav-item:hover{background:#0066ff0f;border-color:#0066ff1f;box-shadow:0 2px 8px #0066ff14;transform:translate(2px)}.queue-nav-item:hover .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item:hover .queue-nav-item__label{color:#06f}.queue-nav-item:active{transform:translate(1px);box-shadow:0 1px 4px #0066ff1a}.queue-nav-item--active{background:#0066ff1a;border-color:#06f3;box-shadow:0 2px 8px #0066ff1a}.queue-nav-item--active:hover{background:#0066ff24;border-color:#0066ff40;box-shadow:0 3px 12px #0066ff1f}.queue-nav-item--active .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item--inactive{opacity:.5}.queue-nav-item--inactive:hover{opacity:.7}.queue-nav-item__inner{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.queue-nav-item__icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#9ea0b3;flex-shrink:0;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label{font-family:Open Sans,sans-serif;font-weight:600;font-size:12px;line-height:1.4em;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label--active{color:#06f}.queue-nav-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 8px;border-radius:100px;background:#e5e7eb;font-family:Open Sans,sans-serif;font-weight:700;font-size:11px;line-height:1.4em;color:#7d879b;flex-shrink:0;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__badge--active{background:#0f8bfd;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7620
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueItemComponent, isStandalone: false, selector: "app-queue-item", inputs: { filteredQueueData: "filteredQueueData", selectedQueueId: "selectedQueueId", selectedStatus: "selectedStatus", userRole: "userRole", showQueueDataForm: "showQueueDataForm" }, outputs: { queueSelected: "queueSelected", statusChanged: "statusChanged", insertQueueRequested: "insertQueueRequested" }, ngImport: i0, template: "<div class=\"queue-nav-wrapper\">\n <h4 class=\"queue-title m-0 mb-3\">Queues</h4>\n <div class=\"queue-items-list\">\n @for(queue of filteredQueueData; let i = $index; track queue){\n <div class=\"queue-nav-item\"\n [ngClass]=\"{'queue-nav-item--active': isQueueSelected(queue._id), 'queue-nav-item--inactive': !isQueueActive(queue)}\"\n (click)=\"onQueueClick(queue._id)\">\n <div class=\"queue-nav-item__inner\">\n <i class=\"pi queue-nav-item__icon\"\n [ngClass]=\"getQueueIcon(queue.name)\"></i>\n <span class=\"queue-nav-item__label\"\n [ngClass]=\"{'queue-nav-item__label--active': isQueueSelected(queue._id)}\">{{queue.name}}</span>\n </div>\n @if(queue.itemCount !== null){\n <span class=\"queue-nav-item__badge\"\n [ngClass]=\"{'queue-nav-item__badge--active': isQueueSelected(queue._id)}\">{{queue.itemCount}}</span>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".queue-nav-wrapper{background:#fff;border-radius:15px;padding:20px;width:100%}.queue-title{font-family:Open Sans,sans-serif;font-weight:600;font-size:18px;line-height:1.2em;color:#1f2937}.queue-items-list{display:flex;flex-direction:column;gap:8px}.queue-nav-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:transparent;cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.queue-nav-item:hover{background:#0066ff0f;border-color:#0066ff1f;box-shadow:0 2px 8px #0066ff14;transform:translate(2px)}.queue-nav-item:hover .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item:hover .queue-nav-item__label{color:#06f}.queue-nav-item:active{transform:translate(1px);box-shadow:0 1px 4px #0066ff1a}.queue-nav-item--active{background:#0066ff1a;border-color:#06f3;box-shadow:0 2px 8px #0066ff1a}.queue-nav-item--active:hover{background:#0066ff24;border-color:#0066ff40;box-shadow:0 3px 12px #0066ff1f}.queue-nav-item--active .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item--inactive{opacity:.5}.queue-nav-item--inactive:hover{opacity:.7}.queue-nav-item__inner{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.queue-nav-item__icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#9ea0b3;flex-shrink:0;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label{font-family:Open Sans,sans-serif;font-weight:600;font-size:12px;line-height:1.4em;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label--active{color:#06f}.queue-nav-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 8px;border-radius:100px;background:#e5e7eb;font-family:Open Sans,sans-serif;font-weight:700;font-size:11px;line-height:1.4em;color:#7d879b;flex-shrink:0;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__badge--active{background:#0f8bfd;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7684
7621
  }
7685
7622
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueItemComponent, decorators: [{
7686
7623
  type: Component,
7687
- args: [{ selector: 'app-queue-item', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"queue-nav-wrapper\">\r\n <h4 class=\"queue-title m-0 mb-3\">Queues</h4>\r\n <div class=\"queue-items-list\">\r\n @for(queue of filteredQueueData; let i = $index; track queue){\r\n <div class=\"queue-nav-item\"\r\n [ngClass]=\"{'queue-nav-item--active': isQueueSelected(queue._id), 'queue-nav-item--inactive': !isQueueActive(queue)}\"\r\n (click)=\"onQueueClick(queue._id)\">\r\n <div class=\"queue-nav-item__inner\">\r\n <i class=\"pi queue-nav-item__icon\"\r\n [ngClass]=\"getQueueIcon(queue.name)\"></i>\r\n <span class=\"queue-nav-item__label\" [pTooltip]=\"queue.name\" tooltipPosition=\"top\"\r\n [ngClass]=\"{'queue-nav-item__label--active': isQueueSelected(queue._id)}\">{{queue.name}}</span>\r\n </div>\r\n @if(queue.itemCount !== null){\r\n <span class=\"queue-nav-item__badge\"\r\n [ngClass]=\"{'queue-nav-item__badge--active': isQueueSelected(queue._id)}\">{{queue.itemCount}}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".queue-nav-wrapper{background:#fff;border-radius:15px;padding:20px;width:100%}.queue-title{font-family:Open Sans,sans-serif;font-weight:600;font-size:18px;line-height:1.2em;color:#1f2937}.queue-items-list{display:flex;flex-direction:column;gap:8px}.queue-nav-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:transparent;cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.queue-nav-item:hover{background:#0066ff0f;border-color:#0066ff1f;box-shadow:0 2px 8px #0066ff14;transform:translate(2px)}.queue-nav-item:hover .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item:hover .queue-nav-item__label{color:#06f}.queue-nav-item:active{transform:translate(1px);box-shadow:0 1px 4px #0066ff1a}.queue-nav-item--active{background:#0066ff1a;border-color:#06f3;box-shadow:0 2px 8px #0066ff1a}.queue-nav-item--active:hover{background:#0066ff24;border-color:#0066ff40;box-shadow:0 3px 12px #0066ff1f}.queue-nav-item--active .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item--inactive{opacity:.5}.queue-nav-item--inactive:hover{opacity:.7}.queue-nav-item__inner{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.queue-nav-item__icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#9ea0b3;flex-shrink:0;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label{font-family:Open Sans,sans-serif;font-weight:600;font-size:12px;line-height:1.4em;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label--active{color:#06f}.queue-nav-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 8px;border-radius:100px;background:#e5e7eb;font-family:Open Sans,sans-serif;font-weight:700;font-size:11px;line-height:1.4em;color:#7d879b;flex-shrink:0;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__badge--active{background:#0f8bfd;color:#fff}\n"] }]
7624
+ args: [{ selector: 'app-queue-item', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"queue-nav-wrapper\">\n <h4 class=\"queue-title m-0 mb-3\">Queues</h4>\n <div class=\"queue-items-list\">\n @for(queue of filteredQueueData; let i = $index; track queue){\n <div class=\"queue-nav-item\"\n [ngClass]=\"{'queue-nav-item--active': isQueueSelected(queue._id), 'queue-nav-item--inactive': !isQueueActive(queue)}\"\n (click)=\"onQueueClick(queue._id)\">\n <div class=\"queue-nav-item__inner\">\n <i class=\"pi queue-nav-item__icon\"\n [ngClass]=\"getQueueIcon(queue.name)\"></i>\n <span class=\"queue-nav-item__label\"\n [ngClass]=\"{'queue-nav-item__label--active': isQueueSelected(queue._id)}\">{{queue.name}}</span>\n </div>\n @if(queue.itemCount !== null){\n <span class=\"queue-nav-item__badge\"\n [ngClass]=\"{'queue-nav-item__badge--active': isQueueSelected(queue._id)}\">{{queue.itemCount}}</span>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".queue-nav-wrapper{background:#fff;border-radius:15px;padding:20px;width:100%}.queue-title{font-family:Open Sans,sans-serif;font-weight:600;font-size:18px;line-height:1.2em;color:#1f2937}.queue-items-list{display:flex;flex-direction:column;gap:8px}.queue-nav-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:transparent;cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.queue-nav-item:hover{background:#0066ff0f;border-color:#0066ff1f;box-shadow:0 2px 8px #0066ff14;transform:translate(2px)}.queue-nav-item:hover .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item:hover .queue-nav-item__label{color:#06f}.queue-nav-item:active{transform:translate(1px);box-shadow:0 1px 4px #0066ff1a}.queue-nav-item--active{background:#0066ff1a;border-color:#06f3;box-shadow:0 2px 8px #0066ff1a}.queue-nav-item--active:hover{background:#0066ff24;border-color:#0066ff40;box-shadow:0 3px 12px #0066ff1f}.queue-nav-item--active .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item--inactive{opacity:.5}.queue-nav-item--inactive:hover{opacity:.7}.queue-nav-item__inner{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.queue-nav-item__icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#9ea0b3;flex-shrink:0;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label{font-family:Open Sans,sans-serif;font-weight:600;font-size:12px;line-height:1.4em;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label--active{color:#06f}.queue-nav-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 8px;border-radius:100px;background:#e5e7eb;font-family:Open Sans,sans-serif;font-weight:700;font-size:11px;line-height:1.4em;color:#7d879b;flex-shrink:0;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__badge--active{background:#0f8bfd;color:#fff}\n"] }]
7688
7625
  }], ctorParameters: () => [{ type: QueueStore$1 }], propDecorators: { filteredQueueData: [{
7689
7626
  type: Input
7690
7627
  }], selectedQueueId: [{
@@ -7722,11 +7659,11 @@ class QueueListComponent {
7722
7659
  this.insertQueueRequested.emit();
7723
7660
  }
7724
7661
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7725
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueListComponent, isStandalone: false, selector: "app-queue-list", inputs: { queueData: "queueData", selectedQueueId: "selectedQueueId", selectedStatus: "selectedStatus", userRole: "userRole", showQueueDataForm: "showQueueDataForm" }, outputs: { queueSelected: "queueSelected", statusChanged: "statusChanged", insertQueueRequested: "insertQueueRequested" }, ngImport: i0, template: "<app-queue-item\r\n [filteredQueueData]=\"queueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"showQueueDataForm\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueue()\"\r\n></app-queue-item>\r\n", styles: [""], dependencies: [{ kind: "component", type: QueueItemComponent, selector: "app-queue-item", inputs: ["filteredQueueData", "selectedQueueId", "selectedStatus", "userRole", "showQueueDataForm"], outputs: ["queueSelected", "statusChanged", "insertQueueRequested"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7662
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueListComponent, isStandalone: false, selector: "app-queue-list", inputs: { queueData: "queueData", selectedQueueId: "selectedQueueId", selectedStatus: "selectedStatus", userRole: "userRole", showQueueDataForm: "showQueueDataForm" }, outputs: { queueSelected: "queueSelected", statusChanged: "statusChanged", insertQueueRequested: "insertQueueRequested" }, ngImport: i0, template: "<app-queue-item\n [filteredQueueData]=\"queueData\"\n [selectedQueueId]=\"selectedQueueId\"\n [selectedStatus]=\"selectedStatus\"\n [userRole]=\"userRole\"\n [showQueueDataForm]=\"showQueueDataForm\"\n (queueSelected)=\"onQueueSelected($event)\"\n (statusChanged)=\"onStatusChanged($event)\"\n (insertQueueRequested)=\"onInsertQueue()\"\n></app-queue-item>\n", styles: [""], dependencies: [{ kind: "component", type: QueueItemComponent, selector: "app-queue-item", inputs: ["filteredQueueData", "selectedQueueId", "selectedStatus", "userRole", "showQueueDataForm"], outputs: ["queueSelected", "statusChanged", "insertQueueRequested"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7726
7663
  }
7727
7664
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueListComponent, decorators: [{
7728
7665
  type: Component,
7729
- args: [{ selector: 'app-queue-list', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-queue-item\r\n [filteredQueueData]=\"queueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"showQueueDataForm\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueue()\"\r\n></app-queue-item>\r\n" }]
7666
+ args: [{ selector: 'app-queue-list', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-queue-item\n [filteredQueueData]=\"queueData\"\n [selectedQueueId]=\"selectedQueueId\"\n [selectedStatus]=\"selectedStatus\"\n [userRole]=\"userRole\"\n [showQueueDataForm]=\"showQueueDataForm\"\n (queueSelected)=\"onQueueSelected($event)\"\n (statusChanged)=\"onStatusChanged($event)\"\n (insertQueueRequested)=\"onInsertQueue()\"\n></app-queue-item>\n" }]
7730
7667
  }], propDecorators: { queueData: [{
7731
7668
  type: Input
7732
7669
  }], selectedQueueId: [{
@@ -7793,11 +7730,11 @@ class QueueRecordTableComponent {
7793
7730
  return this.selectedRows?.length || 0;
7794
7731
  }
7795
7732
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRecordTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7796
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueRecordTableComponent, isStandalone: false, selector: "app-queue-record-table", inputs: { table: "table", metaData: "metaData", loading: "loading", selectedRows: "selectedRows", resetSort: "resetSort", isShowSkeleton: "isShowSkeleton", selectedQueue: "selectedQueue" }, outputs: { selectionChange: "selectionChange", selectedRowsData: "selectedRowsData", assignmentDataReady: "assignmentDataReady", rowClick: "rowClick", paginationChanged: "paginationChanged", filterApplied: "filterApplied", sortApplied: "sortApplied" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"bg-white queue-table-wrapper border-round-xl\">\r\n <lib-table-secondary \r\n [table]=\"table\" \r\n [metaData]=\"metaData\"\r\n [enableSelection]=\"true\"\r\n [selectionMode]=\"'multiple'\"\r\n [isShowSkeleton]=\"isShowSkeleton\"\r\n [selection]=\"selectedRows\"\r\n [showActions]=\"false\"\r\n [noRecordsMessage]=\"selectedQueue?.name === 'Assigned To Me' ? 'No applications are currently assigned.' : 'No Records Found'\"\r\n (onPage)=\"onPaginationChange($event)\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n (rowSelectionChange)=\"onRowClick($event)\"\r\n (sortChanged)=\"onSort($event)\"\r\n [sortField]=\"sortField\"\r\n [sortOrder]=\"sortOrder\">\r\n </lib-table-secondary>\r\n</div>", styles: [".queue-record-table-wrapper{height:100%;display:flex;flex-direction:column}.queue-record-table-wrapper .table-container{flex:1;overflow:hidden}.queue-record-table-wrapper .pagination-container{margin-top:1rem;padding:.5rem}::ng-deep .queue-table-wrapper{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}::ng-deep .queue-table-wrapper::-webkit-scrollbar{display:none}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-wrapper{overflow:visible!important}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-table{width:100%!important}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-thead>tr>th{position:sticky!important;top:0!important;z-index:10!important;background-color:#fff!important}@media screen and (max-width: 768px){.queue-record-table-wrapper .pagination-container{flex-direction:column;gap:.5rem}}\n"], dependencies: [{ kind: "component", type: TableSecondaryComponent, selector: "lib-table-secondary", inputs: ["table", "metaData", "title", "builder", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "isShowSkeleton", "pathName", "selectionMode", "selection", "usePagination", "scrollHeight", "rowSelection", "enableSelection", "noRecordsMessage", "sortField", "sortOrder", "searchTerm", "filterQuery"], outputs: ["selectionChange", "rowSelectionChange", "sortChanged", "onDeleteRow", "onPage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7733
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueRecordTableComponent, isStandalone: false, selector: "app-queue-record-table", inputs: { table: "table", metaData: "metaData", loading: "loading", selectedRows: "selectedRows", resetSort: "resetSort", isShowSkeleton: "isShowSkeleton", selectedQueue: "selectedQueue" }, outputs: { selectionChange: "selectionChange", selectedRowsData: "selectedRowsData", assignmentDataReady: "assignmentDataReady", rowClick: "rowClick", paginationChanged: "paginationChanged", filterApplied: "filterApplied", sortApplied: "sortApplied" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"bg-white queue-table-wrapper border-round-xl\">\n <lib-table-secondary \n [table]=\"table\" \n [metaData]=\"metaData\"\n [enableSelection]=\"true\"\n [selectionMode]=\"'multiple'\"\n [isShowSkeleton]=\"isShowSkeleton\"\n [selection]=\"selectedRows\"\n [showActions]=\"false\"\n [noRecordsMessage]=\"selectedQueue?.name === 'Assigned To Me' ? 'No applications are currently assigned.' : 'No Records Found'\"\n (onPage)=\"onPaginationChange($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (rowSelectionChange)=\"onRowClick($event)\"\n (sortChanged)=\"onSort($event)\"\n [sortField]=\"sortField\"\n [sortOrder]=\"sortOrder\">\n </lib-table-secondary>\n</div>", styles: [".queue-record-table-wrapper{height:100%;display:flex;flex-direction:column}.queue-record-table-wrapper .table-container{flex:1;overflow:hidden}.queue-record-table-wrapper .pagination-container{margin-top:1rem;padding:.5rem}::ng-deep .queue-table-wrapper{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}::ng-deep .queue-table-wrapper::-webkit-scrollbar{display:none}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-wrapper{overflow:visible!important}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-table{width:100%!important}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-thead>tr>th{position:sticky!important;top:0!important;z-index:10!important;background-color:#fff!important}@media screen and (max-width: 768px){.queue-record-table-wrapper .pagination-container{flex-direction:column;gap:.5rem}}\n"], dependencies: [{ kind: "component", type: TableSecondaryComponent, selector: "lib-table-secondary", inputs: ["table", "metaData", "title", "builder", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "isShowSkeleton", "pathName", "selectionMode", "selection", "usePagination", "scrollHeight", "rowSelection", "enableSelection", "noRecordsMessage", "sortField", "sortOrder", "searchTerm", "filterQuery"], outputs: ["selectionChange", "rowSelectionChange", "sortChanged", "onDeleteRow", "onPage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7797
7734
  }
7798
7735
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRecordTableComponent, decorators: [{
7799
7736
  type: Component,
7800
- args: [{ selector: 'app-queue-record-table', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bg-white queue-table-wrapper border-round-xl\">\r\n <lib-table-secondary \r\n [table]=\"table\" \r\n [metaData]=\"metaData\"\r\n [enableSelection]=\"true\"\r\n [selectionMode]=\"'multiple'\"\r\n [isShowSkeleton]=\"isShowSkeleton\"\r\n [selection]=\"selectedRows\"\r\n [showActions]=\"false\"\r\n [noRecordsMessage]=\"selectedQueue?.name === 'Assigned To Me' ? 'No applications are currently assigned.' : 'No Records Found'\"\r\n (onPage)=\"onPaginationChange($event)\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n (rowSelectionChange)=\"onRowClick($event)\"\r\n (sortChanged)=\"onSort($event)\"\r\n [sortField]=\"sortField\"\r\n [sortOrder]=\"sortOrder\">\r\n </lib-table-secondary>\r\n</div>", styles: [".queue-record-table-wrapper{height:100%;display:flex;flex-direction:column}.queue-record-table-wrapper .table-container{flex:1;overflow:hidden}.queue-record-table-wrapper .pagination-container{margin-top:1rem;padding:.5rem}::ng-deep .queue-table-wrapper{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}::ng-deep .queue-table-wrapper::-webkit-scrollbar{display:none}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-wrapper{overflow:visible!important}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-table{width:100%!important}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-thead>tr>th{position:sticky!important;top:0!important;z-index:10!important;background-color:#fff!important}@media screen and (max-width: 768px){.queue-record-table-wrapper .pagination-container{flex-direction:column;gap:.5rem}}\n"] }]
7737
+ args: [{ selector: 'app-queue-record-table', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bg-white queue-table-wrapper border-round-xl\">\n <lib-table-secondary \n [table]=\"table\" \n [metaData]=\"metaData\"\n [enableSelection]=\"true\"\n [selectionMode]=\"'multiple'\"\n [isShowSkeleton]=\"isShowSkeleton\"\n [selection]=\"selectedRows\"\n [showActions]=\"false\"\n [noRecordsMessage]=\"selectedQueue?.name === 'Assigned To Me' ? 'No applications are currently assigned.' : 'No Records Found'\"\n (onPage)=\"onPaginationChange($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (rowSelectionChange)=\"onRowClick($event)\"\n (sortChanged)=\"onSort($event)\"\n [sortField]=\"sortField\"\n [sortOrder]=\"sortOrder\">\n </lib-table-secondary>\n</div>", styles: [".queue-record-table-wrapper{height:100%;display:flex;flex-direction:column}.queue-record-table-wrapper .table-container{flex:1;overflow:hidden}.queue-record-table-wrapper .pagination-container{margin-top:1rem;padding:.5rem}::ng-deep .queue-table-wrapper{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}::ng-deep .queue-table-wrapper::-webkit-scrollbar{display:none}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-wrapper{overflow:visible!important}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-table{width:100%!important}::ng-deep .queue-table-wrapper .p-datatable .p-datatable-thead>tr>th{position:sticky!important;top:0!important;z-index:10!important;background-color:#fff!important}@media screen and (max-width: 768px){.queue-record-table-wrapper .pagination-container{flex-direction:column;gap:.5rem}}\n"] }]
7801
7738
  }], propDecorators: { table: [{
7802
7739
  type: Input
7803
7740
  }], metaData: [{
@@ -8164,6 +8101,9 @@ class QueueContainerComponent extends BaseContainerComponent {
8164
8101
  }
8165
8102
  onPaginationChanged(event) {
8166
8103
  const { page, limit } = this.queueBusinessService.calculatePagination(event);
8104
+ // Force refresh on explicit paginator navigation so returning to page 1
8105
+ // (often already cached from initial load) still triggers an API call.
8106
+ // Show table skeleton while loading the next page (left nav stays visible).
8167
8107
  this.getQueueRecordsData(page, limit, false);
8168
8108
  }
8169
8109
  onFilterApplied(record) {
@@ -8452,6 +8392,7 @@ class QueueContainerComponent extends BaseContainerComponent {
8452
8392
  }
8453
8393
  onAssignmentComplete(event) {
8454
8394
  if (event.success) {
8395
+ // Pass the current selectedQueueId to preserve selection after refresh, but ensure it's not null
8455
8396
  this.getAllQueueList(this.selectedQueueId ?? undefined);
8456
8397
  }
8457
8398
  this.assignmentComplete.emit(event);
@@ -8471,11 +8412,11 @@ class QueueContainerComponent extends BaseContainerComponent {
8471
8412
  }
8472
8413
  }
8473
8414
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueContainerComponent, deps: [{ token: QueueStore$1 }, { token: QueueService }, { token: BaseStore }, { token: QueueBusinessService }, { token: QueueRecordTableBuilderService }, { token: QueueFilterDropdownService }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
8474
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueContainerComponent, isStandalone: false, selector: "lib-queue-container", inputs: { placeholder: "placeholder", selectedRowsInput: "selectedRowsInput" }, outputs: { assignmentComplete: "assignmentComplete", userAssigned: "userAssigned", selectedRowsData: "selectedRowsData", assignmentDataReady: "assignmentDataReady", rowClick: "rowClick", selectionChange: "selectionChange", isAllRowSelected: "isAllRowSelected", excludedApplicationIds: "excludedApplicationIds" }, viewQueries: [{ propertyName: "filterDropdown", first: true, predicate: ["filterDropdown"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"container grid m-0 h-full\">\r\n <div class=\"col-12 xl:col-2 md:col-12 py-0 pl-0 h-full\">\r\n <lib-skeleton *ngIf=\"queueListLoading\" [isAllowCard]=\"true\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\r\n @if(!queueListLoading){\r\n <div class=\"queue-list-container-wrapper p-0\">\r\n <app-queue-list\r\n [queueData]=\"filteredQueueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"true\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueueRequested()\"\r\n ></app-queue-list>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col-12 xl:col-10 md:col-12 py-0 pr-0 h-full\">\r\n @if(selectedQueue){\r\n <div class=\"queue-application-container-wrapper h-full\">\r\n <div class=\"grid m-0 justify-content-between align-items-center mb-3\">\r\n <div class=\"col-8 p-0 flex align-items-center\">\r\n <div class=\"col-7 p-0 mr-3\">\r\n <queue-search \r\n [placeholder]=\"placeholder\"\r\n [searchText]=\"searchText\"\r\n (searchInputChanged)=\"onSearchInputChanged($event)\"\r\n (searchRequested)=\"onSearchRequested($event)\"\r\n (searchCleared)=\"onSearchCleared()\">\r\n </queue-search>\r\n </div>\r\n <div>\r\n <lib-queue-filter-dropdown \r\n #filterDropdown\r\n [appliedFilters]=\"appliedFilters\"\r\n (filterApplied)=\"onFilterDropdownApplied($event)\"\r\n (filtersCleared)=\"onFiltersCleared()\">\r\n </lib-queue-filter-dropdown>\r\n </div>\r\n <div *ngIf=\"hasActiveFilters\">\r\n <button \r\n class=\"clear-filters-btn\"\r\n type=\"button\"\r\n (click)=\"onClearAllFilters()\">\r\n Clear <i class=\"pi pi-times ml-2\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <div class=\"flex align-items-center gap-3 col-3 py-0 pl-0 justify-content-end\">\r\n <ng-content select=\"[user-dropdown]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"animation-duration-500 associated-list queue-table-container-wrapper custom-scroll mb-0 p-0\">\r\n \r\n <app-queue-record-table\r\n [table]=\"table\"\r\n [metaData]=\"metaData\"\r\n [selectedRows]=\"selectedRows\"\r\n [resetSort]=\"resetSort\"\r\n [isShowSkeleton]=\"isShowSkeleton\"\r\n [selectedQueue]=\"selectedQueue\"\r\n (selectionChange)=\"onTableSelectionChange($event)\"\r\n (selectedRowsData)=\"onTableSelectionChange($event)\"\r\n (assignmentDataReady)=\"onAssignmentDataReady($event)\"\r\n (rowClick)=\"onTableRowClick($event)\"\r\n (paginationChanged)=\"onPaginationChanged($event)\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (sortApplied)=\"onSortApplied($event)\">\r\n </app-queue-record-table>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n </div>", styles: [".queue-table-container-wrapper{height:calc(100% - 58px)}.queue-list-container-wrapper{background-color:transparent}.queue-application-container-wrapper{background-color:#fff;border-radius:15px;padding:20px}.clear-filters-btn{background:none;border:1px solid #e5e7eb;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;margin-left:.5rem;display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;transition:all .2s ease}.clear-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#ef4444}.clear-filters-btn i{font-size:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SkeletonComponent, selector: "lib-skeleton", inputs: ["count", "columns", "width", "height", "isAllowCard"] }, { kind: "component", type: QueueSearchComponent, selector: "queue-search", inputs: ["searchText", "placeholder", "debounceTime"], outputs: ["searchInputChanged", "searchRequested", "searchCleared"] }, { kind: "component", type: QueueListComponent, selector: "app-queue-list", inputs: ["queueData", "selectedQueueId", "selectedStatus", "userRole", "showQueueDataForm"], outputs: ["queueSelected", "statusChanged", "insertQueueRequested"] }, { kind: "component", type: QueueRecordTableComponent, selector: "app-queue-record-table", inputs: ["table", "metaData", "loading", "selectedRows", "resetSort", "isShowSkeleton", "selectedQueue"], outputs: ["selectionChange", "selectedRowsData", "assignmentDataReady", "rowClick", "paginationChanged", "filterApplied", "sortApplied"] }, { kind: "component", type: QueueFilterDropdownComponent, selector: "lib-queue-filter-dropdown", inputs: ["appliedFilters"], outputs: ["filterApplied", "filtersCleared"] }] });
8415
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueContainerComponent, isStandalone: false, selector: "lib-queue-container", inputs: { placeholder: "placeholder", selectedRowsInput: "selectedRowsInput" }, outputs: { assignmentComplete: "assignmentComplete", userAssigned: "userAssigned", selectedRowsData: "selectedRowsData", assignmentDataReady: "assignmentDataReady", rowClick: "rowClick", selectionChange: "selectionChange", isAllRowSelected: "isAllRowSelected", excludedApplicationIds: "excludedApplicationIds" }, viewQueries: [{ propertyName: "filterDropdown", first: true, predicate: ["filterDropdown"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"container grid m-0 h-full\">\n <div class=\"col-12 xl:col-2 md:col-12 py-0 pl-0 h-full\">\n <lib-skeleton *ngIf=\"queueListLoading\" [isAllowCard]=\"true\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\n @if(!queueListLoading){\n <div class=\"queue-list-container-wrapper p-0\">\n <app-queue-list\n [queueData]=\"filteredQueueData\"\n [selectedQueueId]=\"selectedQueueId\"\n [selectedStatus]=\"selectedStatus\"\n [userRole]=\"userRole\"\n [showQueueDataForm]=\"true\"\n (queueSelected)=\"onQueueSelected($event)\"\n (statusChanged)=\"onStatusChanged($event)\"\n (insertQueueRequested)=\"onInsertQueueRequested()\"\n ></app-queue-list>\n </div>\n }\n </div>\n <div class=\"col-12 xl:col-10 md:col-12 py-0 pr-0 h-full\">\n @if(selectedQueue){\n <div class=\"queue-application-container-wrapper h-full\">\n <div class=\"grid m-0 justify-content-between align-items-center mb-3\">\n <div class=\"col-8 p-0 flex align-items-center\">\n <div class=\"col-7 p-0 mr-3\">\n <queue-search \n [placeholder]=\"placeholder\"\n [searchText]=\"searchText\"\n (searchInputChanged)=\"onSearchInputChanged($event)\"\n (searchRequested)=\"onSearchRequested($event)\"\n (searchCleared)=\"onSearchCleared()\">\n </queue-search>\n </div>\n <div>\n <lib-queue-filter-dropdown \n #filterDropdown\n [appliedFilters]=\"appliedFilters\"\n (filterApplied)=\"onFilterDropdownApplied($event)\"\n (filtersCleared)=\"onFiltersCleared()\">\n </lib-queue-filter-dropdown>\n </div>\n <div *ngIf=\"hasActiveFilters\">\n <button \n class=\"clear-filters-btn\"\n type=\"button\"\n (click)=\"onClearAllFilters()\">\n Clear <i class=\"pi pi-times ml-2\"></i>\n </button>\n </div>\n </div>\n \n <div class=\"flex align-items-center gap-3 col-3 py-0 pl-0 justify-content-end\">\n <ng-content select=\"[user-dropdown]\"></ng-content>\n </div>\n </div>\n\n <div class=\"animation-duration-500 associated-list queue-table-container-wrapper custom-scroll mb-0 p-0\">\n \n <app-queue-record-table\n [table]=\"table\"\n [metaData]=\"metaData\"\n [selectedRows]=\"selectedRows\"\n [resetSort]=\"resetSort\"\n [isShowSkeleton]=\"isShowSkeleton\"\n [selectedQueue]=\"selectedQueue\"\n (selectionChange)=\"onTableSelectionChange($event)\"\n (selectedRowsData)=\"onTableSelectionChange($event)\"\n (assignmentDataReady)=\"onAssignmentDataReady($event)\"\n (rowClick)=\"onTableRowClick($event)\"\n (paginationChanged)=\"onPaginationChanged($event)\"\n (filterApplied)=\"onFilterApplied($event)\"\n (sortApplied)=\"onSortApplied($event)\">\n </app-queue-record-table>\n </div>\n </div>\n }\n </div>\n\n </div>", styles: [":host{display:block;height:100%;padding-top:14px}.queue-table-container-wrapper{height:calc(100% - 58px)}.queue-list-container-wrapper{background-color:transparent}.queue-application-container-wrapper{background-color:#fff;border-radius:15px;padding:20px}.clear-filters-btn{background:none;border:1px solid #e5e7eb;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;margin-left:.5rem;display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;transition:all .2s ease}.clear-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#ef4444}.clear-filters-btn i{font-size:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SkeletonComponent, selector: "lib-skeleton", inputs: ["count", "columns", "width", "height", "isAllowCard"] }, { kind: "component", type: QueueSearchComponent, selector: "queue-search", inputs: ["searchText", "placeholder", "debounceTime"], outputs: ["searchInputChanged", "searchRequested", "searchCleared"] }, { kind: "component", type: QueueListComponent, selector: "app-queue-list", inputs: ["queueData", "selectedQueueId", "selectedStatus", "userRole", "showQueueDataForm"], outputs: ["queueSelected", "statusChanged", "insertQueueRequested"] }, { kind: "component", type: QueueRecordTableComponent, selector: "app-queue-record-table", inputs: ["table", "metaData", "loading", "selectedRows", "resetSort", "isShowSkeleton", "selectedQueue"], outputs: ["selectionChange", "selectedRowsData", "assignmentDataReady", "rowClick", "paginationChanged", "filterApplied", "sortApplied"] }, { kind: "component", type: QueueFilterDropdownComponent, selector: "lib-queue-filter-dropdown", inputs: ["appliedFilters"], outputs: ["filterApplied", "filtersCleared"] }] });
8475
8416
  }
8476
8417
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueContainerComponent, decorators: [{
8477
8418
  type: Component,
8478
- args: [{ selector: 'lib-queue-container', standalone: false, template: "<div class=\"container grid m-0 h-full\">\r\n <div class=\"col-12 xl:col-2 md:col-12 py-0 pl-0 h-full\">\r\n <lib-skeleton *ngIf=\"queueListLoading\" [isAllowCard]=\"true\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\r\n @if(!queueListLoading){\r\n <div class=\"queue-list-container-wrapper p-0\">\r\n <app-queue-list\r\n [queueData]=\"filteredQueueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"true\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueueRequested()\"\r\n ></app-queue-list>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col-12 xl:col-10 md:col-12 py-0 pr-0 h-full\">\r\n @if(selectedQueue){\r\n <div class=\"queue-application-container-wrapper h-full\">\r\n <div class=\"grid m-0 justify-content-between align-items-center mb-3\">\r\n <div class=\"col-8 p-0 flex align-items-center\">\r\n <div class=\"col-7 p-0 mr-3\">\r\n <queue-search \r\n [placeholder]=\"placeholder\"\r\n [searchText]=\"searchText\"\r\n (searchInputChanged)=\"onSearchInputChanged($event)\"\r\n (searchRequested)=\"onSearchRequested($event)\"\r\n (searchCleared)=\"onSearchCleared()\">\r\n </queue-search>\r\n </div>\r\n <div>\r\n <lib-queue-filter-dropdown \r\n #filterDropdown\r\n [appliedFilters]=\"appliedFilters\"\r\n (filterApplied)=\"onFilterDropdownApplied($event)\"\r\n (filtersCleared)=\"onFiltersCleared()\">\r\n </lib-queue-filter-dropdown>\r\n </div>\r\n <div *ngIf=\"hasActiveFilters\">\r\n <button \r\n class=\"clear-filters-btn\"\r\n type=\"button\"\r\n (click)=\"onClearAllFilters()\">\r\n Clear <i class=\"pi pi-times ml-2\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <div class=\"flex align-items-center gap-3 col-3 py-0 pl-0 justify-content-end\">\r\n <ng-content select=\"[user-dropdown]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"animation-duration-500 associated-list queue-table-container-wrapper custom-scroll mb-0 p-0\">\r\n \r\n <app-queue-record-table\r\n [table]=\"table\"\r\n [metaData]=\"metaData\"\r\n [selectedRows]=\"selectedRows\"\r\n [resetSort]=\"resetSort\"\r\n [isShowSkeleton]=\"isShowSkeleton\"\r\n [selectedQueue]=\"selectedQueue\"\r\n (selectionChange)=\"onTableSelectionChange($event)\"\r\n (selectedRowsData)=\"onTableSelectionChange($event)\"\r\n (assignmentDataReady)=\"onAssignmentDataReady($event)\"\r\n (rowClick)=\"onTableRowClick($event)\"\r\n (paginationChanged)=\"onPaginationChanged($event)\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (sortApplied)=\"onSortApplied($event)\">\r\n </app-queue-record-table>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n </div>", styles: [".queue-table-container-wrapper{height:calc(100% - 58px)}.queue-list-container-wrapper{background-color:transparent}.queue-application-container-wrapper{background-color:#fff;border-radius:15px;padding:20px}.clear-filters-btn{background:none;border:1px solid #e5e7eb;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;margin-left:.5rem;display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;transition:all .2s ease}.clear-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#ef4444}.clear-filters-btn i{font-size:.75rem}\n"] }]
8419
+ args: [{ selector: 'lib-queue-container', standalone: false, template: "<div class=\"container grid m-0 h-full\">\n <div class=\"col-12 xl:col-2 md:col-12 py-0 pl-0 h-full\">\n <lib-skeleton *ngIf=\"queueListLoading\" [isAllowCard]=\"true\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\n @if(!queueListLoading){\n <div class=\"queue-list-container-wrapper p-0\">\n <app-queue-list\n [queueData]=\"filteredQueueData\"\n [selectedQueueId]=\"selectedQueueId\"\n [selectedStatus]=\"selectedStatus\"\n [userRole]=\"userRole\"\n [showQueueDataForm]=\"true\"\n (queueSelected)=\"onQueueSelected($event)\"\n (statusChanged)=\"onStatusChanged($event)\"\n (insertQueueRequested)=\"onInsertQueueRequested()\"\n ></app-queue-list>\n </div>\n }\n </div>\n <div class=\"col-12 xl:col-10 md:col-12 py-0 pr-0 h-full\">\n @if(selectedQueue){\n <div class=\"queue-application-container-wrapper h-full\">\n <div class=\"grid m-0 justify-content-between align-items-center mb-3\">\n <div class=\"col-8 p-0 flex align-items-center\">\n <div class=\"col-7 p-0 mr-3\">\n <queue-search \n [placeholder]=\"placeholder\"\n [searchText]=\"searchText\"\n (searchInputChanged)=\"onSearchInputChanged($event)\"\n (searchRequested)=\"onSearchRequested($event)\"\n (searchCleared)=\"onSearchCleared()\">\n </queue-search>\n </div>\n <div>\n <lib-queue-filter-dropdown \n #filterDropdown\n [appliedFilters]=\"appliedFilters\"\n (filterApplied)=\"onFilterDropdownApplied($event)\"\n (filtersCleared)=\"onFiltersCleared()\">\n </lib-queue-filter-dropdown>\n </div>\n <div *ngIf=\"hasActiveFilters\">\n <button \n class=\"clear-filters-btn\"\n type=\"button\"\n (click)=\"onClearAllFilters()\">\n Clear <i class=\"pi pi-times ml-2\"></i>\n </button>\n </div>\n </div>\n \n <div class=\"flex align-items-center gap-3 col-3 py-0 pl-0 justify-content-end\">\n <ng-content select=\"[user-dropdown]\"></ng-content>\n </div>\n </div>\n\n <div class=\"animation-duration-500 associated-list queue-table-container-wrapper custom-scroll mb-0 p-0\">\n \n <app-queue-record-table\n [table]=\"table\"\n [metaData]=\"metaData\"\n [selectedRows]=\"selectedRows\"\n [resetSort]=\"resetSort\"\n [isShowSkeleton]=\"isShowSkeleton\"\n [selectedQueue]=\"selectedQueue\"\n (selectionChange)=\"onTableSelectionChange($event)\"\n (selectedRowsData)=\"onTableSelectionChange($event)\"\n (assignmentDataReady)=\"onAssignmentDataReady($event)\"\n (rowClick)=\"onTableRowClick($event)\"\n (paginationChanged)=\"onPaginationChanged($event)\"\n (filterApplied)=\"onFilterApplied($event)\"\n (sortApplied)=\"onSortApplied($event)\">\n </app-queue-record-table>\n </div>\n </div>\n }\n </div>\n\n </div>", styles: [":host{display:block;height:100%;padding-top:14px}.queue-table-container-wrapper{height:calc(100% - 58px)}.queue-list-container-wrapper{background-color:transparent}.queue-application-container-wrapper{background-color:#fff;border-radius:15px;padding:20px}.clear-filters-btn{background:none;border:1px solid #e5e7eb;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;margin-left:.5rem;display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;transition:all .2s ease}.clear-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#ef4444}.clear-filters-btn i{font-size:.75rem}\n"] }]
8479
8420
  }], ctorParameters: () => [{ type: QueueStore$1 }, { type: QueueService }, { type: BaseStore }, { type: QueueBusinessService }, { type: QueueRecordTableBuilderService }, { type: QueueFilterDropdownService }, { type: BaseQuery }], propDecorators: { placeholder: [{
8480
8421
  type: Input
8481
8422
  }], filterDropdown: [{
@@ -8539,8 +8480,7 @@ class QueueModule {
8539
8480
  SharedModule,
8540
8481
  TagModule,
8541
8482
  TableSecondaryComponent,
8542
- SkeletonComponent,
8543
- TooltipModule], exports: [QueueContainerComponent] });
8483
+ SkeletonComponent], exports: [QueueContainerComponent] });
8544
8484
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueModule, imports: [CommonModule,
8545
8485
  QueueRoutingModule,
8546
8486
  FormsModule,
@@ -8551,8 +8491,7 @@ class QueueModule {
8551
8491
  SharedModule,
8552
8492
  TagModule,
8553
8493
  TableSecondaryComponent,
8554
- SkeletonComponent,
8555
- TooltipModule] });
8494
+ SkeletonComponent] });
8556
8495
  }
8557
8496
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueModule, decorators: [{
8558
8497
  type: NgModule,
@@ -8576,8 +8515,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
8576
8515
  SharedModule,
8577
8516
  TagModule,
8578
8517
  TableSecondaryComponent,
8579
- SkeletonComponent,
8580
- TooltipModule
8518
+ SkeletonComponent
8581
8519
  ],
8582
8520
  exports: [
8583
8521
  QueueContainerComponent