cat-qw-lib 2.3.19 → 2.3.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/fesm2022/cat-qw-lib.mjs
CHANGED
|
@@ -2633,8 +2633,6 @@ class QueueBusinessService {
|
|
|
2633
2633
|
localStorage.setItem(SHARED.SELECTED_QUEUE_ID, queueId);
|
|
2634
2634
|
}
|
|
2635
2635
|
storeApplicationData(record) {
|
|
2636
|
-
localStorage.setItem(SHARED.selectedApplication, record._id);
|
|
2637
|
-
localStorage.setItem(SHARED.selectedApplicationNumber, record.applicationNumber);
|
|
2638
2636
|
localStorage.setItem(SHARED.selectedApplicationType, record.applicationType);
|
|
2639
2637
|
}
|
|
2640
2638
|
createDebouncedSearch(delay = 500) {
|
|
@@ -4189,8 +4187,6 @@ class QueueApplicationListComponent {
|
|
|
4189
4187
|
return types[Math.floor(Math.random() * types.length)];
|
|
4190
4188
|
}
|
|
4191
4189
|
handleApplicationClick(application) {
|
|
4192
|
-
localStorage.setItem(SHARED.selectedApplication, application._id);
|
|
4193
|
-
localStorage.setItem(SHARED.selectedApplicationNumber, application.applicationNumber);
|
|
4194
4190
|
this.router.navigate([ROUTES.APPLICATION + application.CaseId]);
|
|
4195
4191
|
}
|
|
4196
4192
|
onStatusChange(selectedStatus) {
|
|
@@ -6927,11 +6923,11 @@ class QueueFilterDropdownComponent {
|
|
|
6927
6923
|
}
|
|
6928
6924
|
}
|
|
6929
6925
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueFilterDropdownComponent, deps: [{ token: QueueFilterDropdownService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6930
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueFilterDropdownComponent, isStandalone: false, selector: "lib-queue-filter-dropdown", inputs: { appliedFilters: "appliedFilters" }, outputs: { filterApplied: "filterApplied", filtersCleared: "filtersCleared" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "dropdownPanel", first: true, predicate: ["dropdownPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"queue-filter-dropdown-wrapper\">\r\n <p-button\r\n class=\"filter-btn-wrapper\"\r\n (onClick)=\"onFilterBtnClick()\">\r\n <div class=\"flex align-items-center\">\r\n <i class=\"ri-filter-3-line mr-2 mt-1\"></i>\r\n <p class=\"filter-count mb-0 mr-2\">{{ filterCount }}</p>\r\n <p class=\"mb-0\">Filter(s) Applied</p>\r\n <i class=\"pi pi-angle-down ml-2 mt-1\"></i>\r\n </div>\r\n </p-button>\r\n\r\n <div class=\"filter-dropdown-panel\" *ngIf=\"showDropdown\" #dropdownPanel>\r\n <h3 class=\"filter-title\">Queue Filters</h3>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Risk Rating</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('Low')\" (onClick)=\"setRiskRating('Low')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Low</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('Medium')\" (onClick)=\"setRiskRating('Medium')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Medium</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('High')\" (onClick)=\"setRiskRating('High')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">High</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Application Type</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.applicationType.includes('BTL')\" (onClick)=\"setApplicationType('BTL')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">BTL</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.applicationType.includes('HPP')\" (onClick)=\"setApplicationType('HPP')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">HPP</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Category</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('UK')\" (onClick)=\"setCategory('UK')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">UK</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('Ex-Pat')\" (onClick)=\"setCategory('Ex-Pat')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Ex-Pat</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('Intl')\" (onClick)=\"setCategory('Intl')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Intl</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">EPC</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.epc?.includes('A or B (Green)')\" (onClick)=\"setEpc('A or B (Green)')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">A or B (Green)</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Purchase Type</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.purchaseType.includes('Purchase')\" (onClick)=\"setPurchaseType('Purchase')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Purchase</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.purchaseType.includes('Refinance')\" (onClick)=\"setPurchaseType('Refinance')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Refinance</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Task Status</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.taskStatus.includes('Not Started')\" (onClick)=\"setTaskStatus('Not Started')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Not Started</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.taskStatus.includes('In-progress')\" (onClick)=\"setTaskStatus('In-progress')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">In-progress</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.taskStatus.includes('Completed')\" (onClick)=\"setTaskStatus('Completed')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Completed</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Finance Amount</p>\r\n <div class=\"filter-options two-inputs\">\r\n <input type=\"number\" placeholder=\"Min\" [ngModel]=\"filters.financeMin\" (ngModelChange)=\"setFinanceMin($event)\" min=\"0\" />\r\n <input type=\"number\" placeholder=\"Max\" [ngModel]=\"filters.financeMax\" (ngModelChange)=\"setFinanceMax($event)\" min=\"0\" />\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Pending Days</p>\r\n <div class=\"filter-options one-input\">\r\n <input type=\"number\" placeholder=\"No. of days\" [ngModel]=\"filters.pendingDays\" (ngModelChange)=\"setPendingDays($event)\" min=\"0\" />\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Vulnerable Customer</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === true\" (onClick)=\"setVulnerableCustomer(true)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Yes</p>\r\n </div>\r\n </p-button>\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === false\" (onClick)=\"setVulnerableCustomer(false)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">No</p>\r\n </div>\r\n </p-button>\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === null\" (onClick)=\"setVulnerableCustomer(null)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Any</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Assigned Underwriter</p>\r\n <div class=\"filter-options one-input\">\r\n <!-- Expecting an array of IDs; integrate with your user list later -->\r\n <p-multiSelect\r\n [options]=\"underwriterOptions\"\r\n optionLabel=\"name\"\r\n optionValue=\"id\"\r\n placeholder=\"Select underwriter(s)\"\r\n [appendTo]=\"'body'\"\r\n [panelStyle]=\"{ zIndex: 1100 }\"\r\n [ngModel]=\"filters.assignedUnderwriter\"\r\n (ngModelChange)=\"setAssignedUnderwriter($event)\">\r\n </p-multiSelect>\r\n </div>\r\n </div>\r\n <div class=\"filter-actions\">\r\n <p-button class=\"clear-btn-wrapper\" (onClick)=\"clearAll()\">\r\n <div class=\"flex align-items-center btn-text-wrapper\">\r\n <p class=\"mb-0 mr-2\">Clear All</p>\r\n <i class=\"pi pi-times\"></i>\r\n </div>\r\n </p-button>\r\n\r\n <p-button\r\n class=\"apply-btn-wrapper\"\r\n (onClick)=\"applyFilters()\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Apply Filters</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".queue-filter-dropdown-wrapper{position:relative;display:inline-block}.filter-dropdown-panel{position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:390px;background:#fff;border:1.5px solid #d1d5db;border-radius:16px;box-shadow:0 8px 32px #101e362e;padding:1.5rem 1.25rem 1rem;z-index:1000}.filter-title{font-weight:600;font-size:16px;margin-bottom:1.25rem}.filter-section{margin-bottom:1.2rem}.filter-label{font-size:1rem;font-weight:500;margin-bottom:.5rem}.filter-options{display:flex;gap:.7rem;flex-wrap:wrap}.filter-options input[type=number],.filter-options input[type=text],.filter-options input[type=date]{width:110px;padding:.45rem .8rem;border:1.5px solid #e0e4ea;border-radius:8px;font-size:1rem;color:#3b4256;background:#fff;transition:border .2s}.filter-options input[type=number]:focus,.filter-options input[type=text]:focus,.filter-options input[type=date]:focus{border:1.5px solid #2563eb;outline:none}.filter-options input[type=number]::-webkit-outer-spin-button,.filter-options input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.filter-options input[type=number]{-moz-appearance:textfield}.filter-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.7rem}::ng-deep .apply-btn-wrapper .p-button{border:none;padding:8px 16px;border-radius:8px;box-shadow:none}::ng-deep .clear-btn-wrapper .p-button{border:none;color:var(--primary-color);background-color:var(--surface-0);padding:0;border-radius:8px;box-shadow:none}::ng-deep .filter-btn-wrapper .p-button{border:1px solid #e0e4ea!important;border-radius:8px!important;border:none;color:var(--text-color);background-color:var(--surface-0);padding:8px 16px;border-radius:8px;box-shadow:none;height:44px}::ng-deep .filter-option-btn-wrapper .p-button{border:1px solid #e0e4ea!important;border-radius:8px!important;border:none;color:var(--text-color);background-color:#f7fafd;padding:4px 18px;border-radius:8px;box-shadow:none}::ng-deep .filter-option-btn-wrapper.selected .p-button{border-radius:8px!important;border:none;color:var(--primary-color);background-color:#e8f0fe;padding:4px 18px;box-shadow:none;border:1.5px solid var(--primary-color)!important}.filter-options input[type=date]{font-family:inherit;color:#3b4256}.filter-options.two-inputs input[type=number]{width:48.5%}.filter-options.one-input input[type=number]{width:100%}.filter-options.one-input ::ng-deep .p-multiselect{width:100%}\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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$4.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { 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"] }] });
|
|
6926
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueFilterDropdownComponent, isStandalone: false, selector: "lib-queue-filter-dropdown", inputs: { appliedFilters: "appliedFilters" }, outputs: { filterApplied: "filterApplied", filtersCleared: "filtersCleared" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "dropdownPanel", first: true, predicate: ["dropdownPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"queue-filter-dropdown-wrapper\">\r\n <p-button class=\"filter-btn-wrapper\" (onClick)=\"onFilterBtnClick()\">\r\n <div class=\"flex align-items-center\">\r\n <i class=\"ri-filter-3-line mr-2 mt-1\"></i>\r\n <p class=\"filter-count mb-0 mr-2\">{{ filterCount }}</p>\r\n <p class=\"mb-0\">Filter(s) Applied</p>\r\n <i class=\"pi pi-angle-down ml-2 mt-1\"></i>\r\n </div>\r\n </p-button>\r\n\r\n <div class=\"filter-dropdown-panel\" *ngIf=\"showDropdown\" #dropdownPanel>\r\n <h3 class=\"filter-title\">Queue Filters</h3>\r\n <div class=\"grid form-grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n\r\n\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Risk Rating</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('Low')\"\r\n (onClick)=\"setRiskRating('Low')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Low</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('Medium')\"\r\n (onClick)=\"setRiskRating('Medium')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Medium</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('High')\"\r\n (onClick)=\"setRiskRating('High')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">High</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 p-0 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Application Type</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.applicationType.includes('BTL')\"\r\n (onClick)=\"setApplicationType('BTL')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">BTL</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.applicationType.includes('HPP')\"\r\n (onClick)=\"setApplicationType('HPP')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">HPP</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"grid form-grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Category</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('UK')\"\r\n (onClick)=\"setCategory('UK')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">UK</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('Ex-Pat')\"\r\n (onClick)=\"setCategory('Ex-Pat')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Ex-Pat</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('Intl')\"\r\n (onClick)=\"setCategory('Intl')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Intl</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">EPC</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.epc?.includes('A or B (Green)')\"\r\n (onClick)=\"setEpc('A or B (Green)')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">A or B (Green)</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"grid form-grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Purchase Type</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.purchaseType.includes('Purchase')\"\r\n (onClick)=\"setPurchaseType('Purchase')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Purchase</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\"\r\n [class.selected]=\"filters.purchaseType.includes('Refinance')\"\r\n (onClick)=\"setPurchaseType('Refinance')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Refinance</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Task Status</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\"\r\n [class.selected]=\"filters.taskStatus.includes('Not Started')\"\r\n (onClick)=\"setTaskStatus('Not Started')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Not Started</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\"\r\n [class.selected]=\"filters.taskStatus.includes('In-progress')\"\r\n (onClick)=\"setTaskStatus('In-progress')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">In-progress</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.taskStatus.includes('Completed')\"\r\n (onClick)=\"setTaskStatus('Completed')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Completed</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"grid p-0 form-grid col-12\">\r\n <div class=\"col-12 pl-3 md:col-6\"> \r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Finance Amount</p>\r\n <div class=\"filter-options two-inputs\">\r\n <div class=\"grid p-0 form-grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <input type=\"number\" class=\"w-full\" placeholder=\"Min\" [ngModel]=\"filters.financeMin\"\r\n (ngModelChange)=\"setFinanceMin($event)\" min=\"0\" />\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <input type=\"number\" class=\"w-full\" placeholder=\"Max\" [ngModel]=\"filters.financeMax\"\r\n (ngModelChange)=\"setFinanceMax($event)\" min=\"0\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Pending Days</p>\r\n <div class=\"filter-options one-input\">\r\n <input type=\"number\" placeholder=\"No. of days\" [ngModel]=\"filters.pendingDays\"\r\n (ngModelChange)=\"setPendingDays($event)\" min=\"0\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"grid p-0 form-grid col-12\">\r\n <div class=\"col-12 pl-4 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Vulnerable Customer</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === true\"\r\n (onClick)=\"setVulnerableCustomer(true)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Yes</p>\r\n </div>\r\n </p-button>\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === false\"\r\n (onClick)=\"setVulnerableCustomer(false)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">No</p>\r\n </div>\r\n </p-button>\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === null\"\r\n (onClick)=\"setVulnerableCustomer(null)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Any</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 pl-3 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Assigned Underwriter</p>\r\n <div class=\"filter-options one-input\">\r\n <!-- Expecting an array of IDs; integrate with your user list later -->\r\n <p-multiSelect [options]=\"underwriterOptions\" optionLabel=\"name\" optionValue=\"id\"\r\n placeholder=\"Select underwriter(s)\" [appendTo]=\"'body'\" [panelStyle]=\"{ zIndex: 1100 }\"\r\n [ngModel]=\"filters.assignedUnderwriter\" (ngModelChange)=\"setAssignedUnderwriter($event)\">\r\n </p-multiSelect>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"filter-actions w-full flex justify-content-between\">\r\n <p-button class=\"pl-3 clear-btn-wrapper\" (onClick)=\"clearAll()\">\r\n <div class=\"flex align-items-center btn-text-wrapper\">\r\n <p class=\"mb-0 mr-2\">Clear All</p>\r\n <i class=\"pi pi-times\"></i>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"apply-btn-wrapper\" (onClick)=\"applyFilters()\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Apply Filters</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>", styles: [".queue-filter-dropdown-wrapper{position:relative;display:inline-block}.filter-dropdown-panel{position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:500%;background:#fff;border:1.5px solid #d1d5db;border-radius:16px;box-shadow:0 8px 32px #101e362e;padding:1.5rem 1.25rem 1rem;z-index:1000}.filter-title{font-weight:600;font-size:16px;margin-bottom:1.25rem}.filter-section{margin-bottom:1.2rem}.filter-label{font-size:1rem;font-weight:500;margin-bottom:.5rem}.filter-options{display:flex;gap:.7rem;flex-wrap:wrap}.filter-options input[type=number],.filter-options input[type=text],.filter-options input[type=date]{width:110px;padding:.45rem .8rem;border:1.5px solid #e0e4ea;border-radius:8px;font-size:1rem;color:#3b4256;background:#fff;transition:border .2s}.filter-options input[type=number]:focus,.filter-options input[type=text]:focus,.filter-options input[type=date]:focus{border:1.5px solid #2563eb;outline:none}.filter-options input[type=number]::-webkit-outer-spin-button,.filter-options input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.filter-options input[type=number]{-moz-appearance:textfield}.filter-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.7rem}::ng-deep .apply-btn-wrapper .p-button{border:none;padding:8px 16px;border-radius:8px;box-shadow:none}::ng-deep .clear-btn-wrapper .p-button{border:none;color:var(--primary-color);background-color:var(--surface-0);padding:0;border-radius:8px;box-shadow:none}::ng-deep .filter-btn-wrapper .p-button{border:1px solid #e0e4ea!important;border-radius:8px!important;border:none;color:var(--text-color);background-color:var(--surface-0);padding:8px 16px;border-radius:8px;box-shadow:none;height:44px}::ng-deep .filter-option-btn-wrapper .p-button{border:1px solid #e0e4ea!important;border-radius:8px!important;border:none;color:var(--text-color);background-color:#f7fafd;padding:4px 18px;border-radius:8px;box-shadow:none}::ng-deep .filter-option-btn-wrapper.selected .p-button{border-radius:8px!important;border:none;color:var(--primary-color);background-color:#e8f0fe;padding:4px 18px;box-shadow:none;border:1.5px solid var(--primary-color)!important}.filter-options input[type=date]{font-family:inherit;color:#3b4256}.filter-options.two-inputs input[type=number]{width:48.5%}.filter-options.one-input input[type=number]{width:100%}.filter-options.one-input ::ng-deep .p-multiselect{width:100%}\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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$4.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { 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"] }] });
|
|
6931
6927
|
}
|
|
6932
6928
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueFilterDropdownComponent, decorators: [{
|
|
6933
6929
|
type: Component,
|
|
6934
|
-
args: [{ selector: 'lib-queue-filter-dropdown', standalone: false, template: "<div class=\"queue-filter-dropdown-wrapper\">\r\n <p-button\r\n class=\"filter-btn-wrapper\"\r\n (onClick)=\"onFilterBtnClick()\">\r\n <div class=\"flex align-items-center\">\r\n <i class=\"ri-filter-3-line mr-2 mt-1\"></i>\r\n <p class=\"filter-count mb-0 mr-2\">{{ filterCount }}</p>\r\n <p class=\"mb-0\">Filter(s) Applied</p>\r\n <i class=\"pi pi-angle-down ml-2 mt-1\"></i>\r\n </div>\r\n </p-button>\r\n\r\n <div class=\"filter-dropdown-panel\" *ngIf=\"showDropdown\" #dropdownPanel>\r\n <h3 class=\"filter-title\">Queue Filters</h3>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Risk Rating</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('Low')\" (onClick)=\"setRiskRating('Low')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Low</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('Medium')\" (onClick)=\"setRiskRating('Medium')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Medium</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('High')\" (onClick)=\"setRiskRating('High')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">High</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Application Type</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.applicationType.includes('BTL')\" (onClick)=\"setApplicationType('BTL')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">BTL</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.applicationType.includes('HPP')\" (onClick)=\"setApplicationType('HPP')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">HPP</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Category</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('UK')\" (onClick)=\"setCategory('UK')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">UK</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('Ex-Pat')\" (onClick)=\"setCategory('Ex-Pat')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Ex-Pat</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('Intl')\" (onClick)=\"setCategory('Intl')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Intl</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">EPC</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.epc?.includes('A or B (Green)')\" (onClick)=\"setEpc('A or B (Green)')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">A or B (Green)</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Purchase Type</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.purchaseType.includes('Purchase')\" (onClick)=\"setPurchaseType('Purchase')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Purchase</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.purchaseType.includes('Refinance')\" (onClick)=\"setPurchaseType('Refinance')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Refinance</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Task Status</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.taskStatus.includes('Not Started')\" (onClick)=\"setTaskStatus('Not Started')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Not Started</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.taskStatus.includes('In-progress')\" (onClick)=\"setTaskStatus('In-progress')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">In-progress</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.taskStatus.includes('Completed')\" (onClick)=\"setTaskStatus('Completed')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Completed</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Finance Amount</p>\r\n <div class=\"filter-options two-inputs\">\r\n <input type=\"number\" placeholder=\"Min\" [ngModel]=\"filters.financeMin\" (ngModelChange)=\"setFinanceMin($event)\" min=\"0\" />\r\n <input type=\"number\" placeholder=\"Max\" [ngModel]=\"filters.financeMax\" (ngModelChange)=\"setFinanceMax($event)\" min=\"0\" />\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Pending Days</p>\r\n <div class=\"filter-options one-input\">\r\n <input type=\"number\" placeholder=\"No. of days\" [ngModel]=\"filters.pendingDays\" (ngModelChange)=\"setPendingDays($event)\" min=\"0\" />\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Vulnerable Customer</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === true\" (onClick)=\"setVulnerableCustomer(true)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Yes</p>\r\n </div>\r\n </p-button>\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === false\" (onClick)=\"setVulnerableCustomer(false)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">No</p>\r\n </div>\r\n </p-button>\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === null\" (onClick)=\"setVulnerableCustomer(null)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Any</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Assigned Underwriter</p>\r\n <div class=\"filter-options one-input\">\r\n <!-- Expecting an array of IDs; integrate with your user list later -->\r\n <p-multiSelect\r\n [options]=\"underwriterOptions\"\r\n optionLabel=\"name\"\r\n optionValue=\"id\"\r\n placeholder=\"Select underwriter(s)\"\r\n [appendTo]=\"'body'\"\r\n [panelStyle]=\"{ zIndex: 1100 }\"\r\n [ngModel]=\"filters.assignedUnderwriter\"\r\n (ngModelChange)=\"setAssignedUnderwriter($event)\">\r\n </p-multiSelect>\r\n </div>\r\n </div>\r\n <div class=\"filter-actions\">\r\n <p-button class=\"clear-btn-wrapper\" (onClick)=\"clearAll()\">\r\n <div class=\"flex align-items-center btn-text-wrapper\">\r\n <p class=\"mb-0 mr-2\">Clear All</p>\r\n <i class=\"pi pi-times\"></i>\r\n </div>\r\n </p-button>\r\n\r\n <p-button\r\n class=\"apply-btn-wrapper\"\r\n (onClick)=\"applyFilters()\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Apply Filters</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".queue-filter-dropdown-wrapper{position:relative;display:inline-block}.filter-dropdown-panel{position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:390px;background:#fff;border:1.5px solid #d1d5db;border-radius:16px;box-shadow:0 8px 32px #101e362e;padding:1.5rem 1.25rem 1rem;z-index:1000}.filter-title{font-weight:600;font-size:16px;margin-bottom:1.25rem}.filter-section{margin-bottom:1.2rem}.filter-label{font-size:1rem;font-weight:500;margin-bottom:.5rem}.filter-options{display:flex;gap:.7rem;flex-wrap:wrap}.filter-options input[type=number],.filter-options input[type=text],.filter-options input[type=date]{width:110px;padding:.45rem .8rem;border:1.5px solid #e0e4ea;border-radius:8px;font-size:1rem;color:#3b4256;background:#fff;transition:border .2s}.filter-options input[type=number]:focus,.filter-options input[type=text]:focus,.filter-options input[type=date]:focus{border:1.5px solid #2563eb;outline:none}.filter-options input[type=number]::-webkit-outer-spin-button,.filter-options input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.filter-options input[type=number]{-moz-appearance:textfield}.filter-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.7rem}::ng-deep .apply-btn-wrapper .p-button{border:none;padding:8px 16px;border-radius:8px;box-shadow:none}::ng-deep .clear-btn-wrapper .p-button{border:none;color:var(--primary-color);background-color:var(--surface-0);padding:0;border-radius:8px;box-shadow:none}::ng-deep .filter-btn-wrapper .p-button{border:1px solid #e0e4ea!important;border-radius:8px!important;border:none;color:var(--text-color);background-color:var(--surface-0);padding:8px 16px;border-radius:8px;box-shadow:none;height:44px}::ng-deep .filter-option-btn-wrapper .p-button{border:1px solid #e0e4ea!important;border-radius:8px!important;border:none;color:var(--text-color);background-color:#f7fafd;padding:4px 18px;border-radius:8px;box-shadow:none}::ng-deep .filter-option-btn-wrapper.selected .p-button{border-radius:8px!important;border:none;color:var(--primary-color);background-color:#e8f0fe;padding:4px 18px;box-shadow:none;border:1.5px solid var(--primary-color)!important}.filter-options input[type=date]{font-family:inherit;color:#3b4256}.filter-options.two-inputs input[type=number]{width:48.5%}.filter-options.one-input input[type=number]{width:100%}.filter-options.one-input ::ng-deep .p-multiselect{width:100%}\n"] }]
|
|
6930
|
+
args: [{ selector: 'lib-queue-filter-dropdown', standalone: false, template: "<div class=\"queue-filter-dropdown-wrapper\">\r\n <p-button class=\"filter-btn-wrapper\" (onClick)=\"onFilterBtnClick()\">\r\n <div class=\"flex align-items-center\">\r\n <i class=\"ri-filter-3-line mr-2 mt-1\"></i>\r\n <p class=\"filter-count mb-0 mr-2\">{{ filterCount }}</p>\r\n <p class=\"mb-0\">Filter(s) Applied</p>\r\n <i class=\"pi pi-angle-down ml-2 mt-1\"></i>\r\n </div>\r\n </p-button>\r\n\r\n <div class=\"filter-dropdown-panel\" *ngIf=\"showDropdown\" #dropdownPanel>\r\n <h3 class=\"filter-title\">Queue Filters</h3>\r\n <div class=\"grid form-grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n\r\n\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Risk Rating</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('Low')\"\r\n (onClick)=\"setRiskRating('Low')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Low</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('Medium')\"\r\n (onClick)=\"setRiskRating('Medium')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Medium</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.riskRating.includes('High')\"\r\n (onClick)=\"setRiskRating('High')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">High</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 p-0 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Application Type</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.applicationType.includes('BTL')\"\r\n (onClick)=\"setApplicationType('BTL')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">BTL</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.applicationType.includes('HPP')\"\r\n (onClick)=\"setApplicationType('HPP')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">HPP</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"grid form-grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Category</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('UK')\"\r\n (onClick)=\"setCategory('UK')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">UK</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('Ex-Pat')\"\r\n (onClick)=\"setCategory('Ex-Pat')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Ex-Pat</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.category.includes('Intl')\"\r\n (onClick)=\"setCategory('Intl')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Intl</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">EPC</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.epc?.includes('A or B (Green)')\"\r\n (onClick)=\"setEpc('A or B (Green)')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">A or B (Green)</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"grid form-grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Purchase Type</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.purchaseType.includes('Purchase')\"\r\n (onClick)=\"setPurchaseType('Purchase')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Purchase</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\"\r\n [class.selected]=\"filters.purchaseType.includes('Refinance')\"\r\n (onClick)=\"setPurchaseType('Refinance')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Refinance</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Task Status</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\"\r\n [class.selected]=\"filters.taskStatus.includes('Not Started')\"\r\n (onClick)=\"setTaskStatus('Not Started')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Not Started</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\"\r\n [class.selected]=\"filters.taskStatus.includes('In-progress')\"\r\n (onClick)=\"setTaskStatus('In-progress')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">In-progress</p>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.taskStatus.includes('Completed')\"\r\n (onClick)=\"setTaskStatus('Completed')\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Completed</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"grid p-0 form-grid col-12\">\r\n <div class=\"col-12 pl-3 md:col-6\"> \r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Finance Amount</p>\r\n <div class=\"filter-options two-inputs\">\r\n <div class=\"grid p-0 form-grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <input type=\"number\" class=\"w-full\" placeholder=\"Min\" [ngModel]=\"filters.financeMin\"\r\n (ngModelChange)=\"setFinanceMin($event)\" min=\"0\" />\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <input type=\"number\" class=\"w-full\" placeholder=\"Max\" [ngModel]=\"filters.financeMax\"\r\n (ngModelChange)=\"setFinanceMax($event)\" min=\"0\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Pending Days</p>\r\n <div class=\"filter-options one-input\">\r\n <input type=\"number\" placeholder=\"No. of days\" [ngModel]=\"filters.pendingDays\"\r\n (ngModelChange)=\"setPendingDays($event)\" min=\"0\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"grid p-0 form-grid col-12\">\r\n <div class=\"col-12 pl-4 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Vulnerable Customer</p>\r\n <div class=\"filter-options\">\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === true\"\r\n (onClick)=\"setVulnerableCustomer(true)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Yes</p>\r\n </div>\r\n </p-button>\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === false\"\r\n (onClick)=\"setVulnerableCustomer(false)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">No</p>\r\n </div>\r\n </p-button>\r\n <p-button class=\"filter-option-btn-wrapper\" [class.selected]=\"filters.vulnerableCustomer === null\"\r\n (onClick)=\"setVulnerableCustomer(null)\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Any</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 pl-3 md:col-6\">\r\n <div class=\"filter-section\">\r\n <p class=\"filter-label m-0 mb-2\">Assigned Underwriter</p>\r\n <div class=\"filter-options one-input\">\r\n <!-- Expecting an array of IDs; integrate with your user list later -->\r\n <p-multiSelect [options]=\"underwriterOptions\" optionLabel=\"name\" optionValue=\"id\"\r\n placeholder=\"Select underwriter(s)\" [appendTo]=\"'body'\" [panelStyle]=\"{ zIndex: 1100 }\"\r\n [ngModel]=\"filters.assignedUnderwriter\" (ngModelChange)=\"setAssignedUnderwriter($event)\">\r\n </p-multiSelect>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"filter-actions w-full flex justify-content-between\">\r\n <p-button class=\"pl-3 clear-btn-wrapper\" (onClick)=\"clearAll()\">\r\n <div class=\"flex align-items-center btn-text-wrapper\">\r\n <p class=\"mb-0 mr-2\">Clear All</p>\r\n <i class=\"pi pi-times\"></i>\r\n </div>\r\n </p-button>\r\n\r\n <p-button class=\"apply-btn-wrapper\" (onClick)=\"applyFilters()\">\r\n <div class=\"flex align-items-center\">\r\n <p class=\"mb-0\">Apply Filters</p>\r\n </div>\r\n </p-button>\r\n </div>\r\n </div>\r\n </div>", styles: [".queue-filter-dropdown-wrapper{position:relative;display:inline-block}.filter-dropdown-panel{position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:500%;background:#fff;border:1.5px solid #d1d5db;border-radius:16px;box-shadow:0 8px 32px #101e362e;padding:1.5rem 1.25rem 1rem;z-index:1000}.filter-title{font-weight:600;font-size:16px;margin-bottom:1.25rem}.filter-section{margin-bottom:1.2rem}.filter-label{font-size:1rem;font-weight:500;margin-bottom:.5rem}.filter-options{display:flex;gap:.7rem;flex-wrap:wrap}.filter-options input[type=number],.filter-options input[type=text],.filter-options input[type=date]{width:110px;padding:.45rem .8rem;border:1.5px solid #e0e4ea;border-radius:8px;font-size:1rem;color:#3b4256;background:#fff;transition:border .2s}.filter-options input[type=number]:focus,.filter-options input[type=text]:focus,.filter-options input[type=date]:focus{border:1.5px solid #2563eb;outline:none}.filter-options input[type=number]::-webkit-outer-spin-button,.filter-options input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.filter-options input[type=number]{-moz-appearance:textfield}.filter-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.7rem}::ng-deep .apply-btn-wrapper .p-button{border:none;padding:8px 16px;border-radius:8px;box-shadow:none}::ng-deep .clear-btn-wrapper .p-button{border:none;color:var(--primary-color);background-color:var(--surface-0);padding:0;border-radius:8px;box-shadow:none}::ng-deep .filter-btn-wrapper .p-button{border:1px solid #e0e4ea!important;border-radius:8px!important;border:none;color:var(--text-color);background-color:var(--surface-0);padding:8px 16px;border-radius:8px;box-shadow:none;height:44px}::ng-deep .filter-option-btn-wrapper .p-button{border:1px solid #e0e4ea!important;border-radius:8px!important;border:none;color:var(--text-color);background-color:#f7fafd;padding:4px 18px;border-radius:8px;box-shadow:none}::ng-deep .filter-option-btn-wrapper.selected .p-button{border-radius:8px!important;border:none;color:var(--primary-color);background-color:#e8f0fe;padding:4px 18px;box-shadow:none;border:1.5px solid var(--primary-color)!important}.filter-options input[type=date]{font-family:inherit;color:#3b4256}.filter-options.two-inputs input[type=number]{width:48.5%}.filter-options.one-input input[type=number]{width:100%}.filter-options.one-input ::ng-deep .p-multiselect{width:100%}\n"] }]
|
|
6935
6931
|
}], ctorParameters: () => [{ type: QueueFilterDropdownService }], propDecorators: { dropdownPanel: [{
|
|
6936
6932
|
type: ViewChild,
|
|
6937
6933
|
args: ['dropdownPanel', { static: false }]
|
|
@@ -7078,7 +7074,6 @@ class QueueContainerComponent extends BaseContainerComponent {
|
|
|
7078
7074
|
return this.appliedFilters && Object.values(this.appliedFilters).some(val => val !== null && val !== '' && val !== undefined);
|
|
7079
7075
|
}
|
|
7080
7076
|
onTableRowClick(record) {
|
|
7081
|
-
this.queueBusinessService.storeApplicationData(record);
|
|
7082
7077
|
this.rowClick.emit(record);
|
|
7083
7078
|
this.clearFilters();
|
|
7084
7079
|
this.syncFilterDropdown();
|