cat-qw-lib 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/cat-qw-lib.mjs +827 -804
- package/fesm2022/cat-qw-lib.mjs.map +1 -1
- package/lib/queue/components/queue-container/queue-container.component.d.ts +55 -52
- package/lib/queue/components/queue-item/queue-item.component.d.ts +11 -17
- package/lib/queue/components/queue-list/queue-list.component.d.ts +11 -3
- package/lib/queue/components/queue-record-table/queue-record-table.component.d.ts +17 -67
- package/lib/queue/components/queue-search/queue-search.component.d.ts +12 -30
- package/lib/queue/services/queue-business.service.d.ts +26 -0
- package/lib/queue/state/queue.service.d.ts +13 -7
- package/lib/shared/constant/DATASOURCES.d.ts +0 -1
- package/lib/shared/table-secondary/components/table-secondary.component.d.ts +11 -3
- package/package.json +1 -1
- package/lib/queue/services/application-assignment.service.d.ts +0 -18
package/fesm2022/cat-qw-lib.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter,
|
|
3
|
-
import * as
|
|
2
|
+
import { EventEmitter, Output, Input, Component, Injectable, ViewChild, ViewEncapsulation, inject, HostListener, Pipe, Directive, NgModule, APP_INITIALIZER, ChangeDetectionStrategy } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i3$1 from '@angular/forms';
|
|
6
6
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
7
|
import * as i2 from 'primeng/inputtext';
|
|
8
8
|
import { InputTextModule } from 'primeng/inputtext';
|
|
9
|
-
import * as i5$
|
|
9
|
+
import * as i5$1 from 'primeng/dropdown';
|
|
10
10
|
import { DropdownModule } from 'primeng/dropdown';
|
|
11
11
|
import { InputGroupModule } from 'primeng/inputgroup';
|
|
12
12
|
import * as i3$3 from 'primeng/button';
|
|
@@ -25,7 +25,7 @@ import { EntityStore, StoreConfig, QueryEntity } from '@datorama/akita';
|
|
|
25
25
|
import { __decorate } from 'tslib';
|
|
26
26
|
import { BehaviorSubject, Subject, takeUntil, firstValueFrom, of, tap as tap$1, map, debounceTime, distinctUntilChanged, catchError, Subscription } from 'rxjs';
|
|
27
27
|
import { DragDropModule } from 'primeng/dragdrop';
|
|
28
|
-
import * as i5
|
|
28
|
+
import * as i5 from 'primeng/confirmdialog';
|
|
29
29
|
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
|
30
30
|
import * as i6 from 'primeng/toast';
|
|
31
31
|
import { ToastModule } from 'primeng/toast';
|
|
@@ -34,13 +34,13 @@ import { MessagesModule } from 'primeng/messages';
|
|
|
34
34
|
import * as i4$2 from 'primeng/tooltip';
|
|
35
35
|
import { TooltipModule } from 'primeng/tooltip';
|
|
36
36
|
import { tap } from 'rxjs/operators';
|
|
37
|
-
import * as i1 from '@angular/common/http';
|
|
37
|
+
import * as i1$1 from '@angular/common/http';
|
|
38
38
|
import { HttpClientModule } from '@angular/common/http';
|
|
39
39
|
import * as i3$4 from '@angular/router';
|
|
40
40
|
import { RouterModule } from '@angular/router';
|
|
41
41
|
import * as i2$2 from 'primeng/inputtextarea';
|
|
42
42
|
import { InputTextareaModule } from 'primeng/inputtextarea';
|
|
43
|
-
import * as i5$
|
|
43
|
+
import * as i5$2 from 'primeng/calendar';
|
|
44
44
|
import { CalendarModule } from 'primeng/calendar';
|
|
45
45
|
import moment from 'moment';
|
|
46
46
|
import { DialogModule } from 'primeng/dialog';
|
|
@@ -61,9 +61,9 @@ import * as i12 from 'primeng/paginator';
|
|
|
61
61
|
import { PaginatorModule } from 'primeng/paginator';
|
|
62
62
|
import * as i11 from '@kerwin612/ngx-query-builder';
|
|
63
63
|
import { QueryBuilderModule } from '@kerwin612/ngx-query-builder';
|
|
64
|
-
import * as i1$
|
|
64
|
+
import * as i1$2 from 'ngx-quill';
|
|
65
65
|
import { QuillModule, QuillConfigModule } from 'ngx-quill';
|
|
66
|
-
import * as i5$
|
|
66
|
+
import * as i5$3 from 'primeng/tabview';
|
|
67
67
|
import { TabViewModule } from 'primeng/tabview';
|
|
68
68
|
import hljs from 'highlight.js';
|
|
69
69
|
import * as i2$3 from 'primeng/chart';
|
|
@@ -479,10 +479,10 @@ class SidebarComponent {
|
|
|
479
479
|
handleSidebarClose() {
|
|
480
480
|
this.onClose.emit(false);
|
|
481
481
|
}
|
|
482
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
483
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
482
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SidebarComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
483
|
+
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"] }] });
|
|
484
484
|
}
|
|
485
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
485
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
486
486
|
type: Component,
|
|
487
487
|
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"] }]
|
|
488
488
|
}], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { isSidebarVisible: [{
|
|
@@ -555,13 +555,13 @@ let BaseStore = class BaseStore extends EntityStore {
|
|
|
555
555
|
setUpdatedData(value) {
|
|
556
556
|
this.update({ updatedData: value });
|
|
557
557
|
}
|
|
558
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
559
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
558
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
559
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseStore, providedIn: 'root' });
|
|
560
560
|
};
|
|
561
561
|
BaseStore = BaseStore_1 = __decorate([
|
|
562
562
|
StoreConfig({ name: 'base' })
|
|
563
563
|
], BaseStore);
|
|
564
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
564
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseStore, decorators: [{
|
|
565
565
|
type: Injectable,
|
|
566
566
|
args: [{ providedIn: 'root' }]
|
|
567
567
|
}], ctorParameters: () => [] });
|
|
@@ -618,10 +618,10 @@ class BaseQuery extends QueryEntity {
|
|
|
618
618
|
selectPage() {
|
|
619
619
|
return this.select(state => state['page']);
|
|
620
620
|
}
|
|
621
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
622
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
621
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseQuery, deps: [{ token: BaseStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
622
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseQuery, providedIn: 'root' });
|
|
623
623
|
}
|
|
624
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
624
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseQuery, decorators: [{
|
|
625
625
|
type: Injectable,
|
|
626
626
|
args: [{ providedIn: 'root' }]
|
|
627
627
|
}], ctorParameters: () => [{ type: BaseStore }] });
|
|
@@ -696,10 +696,10 @@ class BaseControlComponent {
|
|
|
696
696
|
this.destroy$.next();
|
|
697
697
|
this.destroy$.complete();
|
|
698
698
|
}
|
|
699
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
700
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
699
|
+
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 });
|
|
700
|
+
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 }] });
|
|
701
701
|
}
|
|
702
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
702
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseControlComponent, decorators: [{
|
|
703
703
|
type: Component,
|
|
704
704
|
args: [{ selector: 'app-base-control', standalone: true, imports: [CommonModule], providers: [BaseStore], template: "<p>base-control works!</p>\r\n" }]
|
|
705
705
|
}], ctorParameters: () => [{ type: BaseStore }, { type: BaseQuery }], propDecorators: { store: [{
|
|
@@ -731,19 +731,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
731
731
|
* CheckBoxComponent
|
|
732
732
|
*/
|
|
733
733
|
class CheckBoxComponent extends BaseControlComponent {
|
|
734
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
735
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
734
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CheckBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
735
|
+
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"] }] });
|
|
736
736
|
}
|
|
737
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
737
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CheckBoxComponent, decorators: [{
|
|
738
738
|
type: Component,
|
|
739
739
|
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"] }]
|
|
740
740
|
}] });
|
|
741
741
|
|
|
742
742
|
class ButtonComponent extends BaseControlComponent {
|
|
743
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
744
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
743
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
744
|
+
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"] }] });
|
|
745
745
|
}
|
|
746
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
746
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
747
747
|
type: Component,
|
|
748
748
|
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>" }]
|
|
749
749
|
}] });
|
|
@@ -760,10 +760,10 @@ class TextBoxComponent extends BaseControlComponent {
|
|
|
760
760
|
return this.record[this.attributeModel.name] ?? "-";
|
|
761
761
|
}
|
|
762
762
|
}
|
|
763
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
764
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
763
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TextBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
764
|
+
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"] }] });
|
|
765
765
|
}
|
|
766
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
766
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TextBoxComponent, decorators: [{
|
|
767
767
|
type: Component,
|
|
768
768
|
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"] }]
|
|
769
769
|
}] });
|
|
@@ -827,10 +827,10 @@ class FormContainerComponent {
|
|
|
827
827
|
this.destroy$.next();
|
|
828
828
|
this.destroy$.complete();
|
|
829
829
|
}
|
|
830
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
831
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
830
|
+
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 });
|
|
831
|
+
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 });
|
|
832
832
|
}
|
|
833
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
833
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FormContainerComponent, decorators: [{
|
|
834
834
|
type: Component,
|
|
835
835
|
args: [{ selector: "form-container", standalone: true, imports: [
|
|
836
836
|
CommonModule,
|
|
@@ -873,7 +873,6 @@ class DATASOURCES {
|
|
|
873
873
|
static QUEUESAPICONFIG = "ApiConfigurations/getChildParentFields";
|
|
874
874
|
static DELETEDICTIONARYITEM = "DataDictionaries/dictionaryItems";
|
|
875
875
|
static APPLICATION_QUEUE_SEARCH = "Applications/search/";
|
|
876
|
-
static APPLICATION_ASSIGNMENT = "ApplicationAssignments/assignApplication/";
|
|
877
876
|
}
|
|
878
877
|
|
|
879
878
|
/**
|
|
@@ -925,15 +924,15 @@ class AppConfigService {
|
|
|
925
924
|
this.ensureConfigLoaded();
|
|
926
925
|
return this.appConfig?.swaggerUrl;
|
|
927
926
|
}
|
|
928
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
929
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
927
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AppConfigService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
928
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AppConfigService, providedIn: 'root' });
|
|
930
929
|
}
|
|
931
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
930
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AppConfigService, decorators: [{
|
|
932
931
|
type: Injectable,
|
|
933
932
|
args: [{
|
|
934
933
|
providedIn: 'root'
|
|
935
934
|
}]
|
|
936
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
935
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }] });
|
|
937
936
|
|
|
938
937
|
class List {
|
|
939
938
|
dataSource;
|
|
@@ -992,15 +991,15 @@ class ListService {
|
|
|
992
991
|
getbyPathName(data) {
|
|
993
992
|
return this.http.get(this.configService.apiBaseUrl + data);
|
|
994
993
|
}
|
|
995
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
996
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
994
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ListService, deps: [{ token: i1$1.HttpClient }, { token: AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
995
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ListService, providedIn: 'root' });
|
|
997
996
|
}
|
|
998
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
997
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ListService, decorators: [{
|
|
999
998
|
type: Injectable,
|
|
1000
999
|
args: [{
|
|
1001
1000
|
providedIn: 'root',
|
|
1002
1001
|
}]
|
|
1003
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: AppConfigService }] });
|
|
1002
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: AppConfigService }] });
|
|
1004
1003
|
|
|
1005
1004
|
class BaseService {
|
|
1006
1005
|
store;
|
|
@@ -1070,13 +1069,13 @@ class BaseService {
|
|
|
1070
1069
|
const baseUrl = this._pathName === DATASOURCES.Template ? this.interactBaseApi : this.apiUrl;
|
|
1071
1070
|
return this.http.delete(`${baseUrl}${this._pathName}/${id}`).pipe(tap(() => this.store.remove(id)));
|
|
1072
1071
|
}
|
|
1073
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1074
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
1072
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseService, deps: [{ token: i1$1.HttpClient }, { token: BaseStore }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1073
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseService, providedIn: 'root' });
|
|
1075
1074
|
}
|
|
1076
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1075
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseService, decorators: [{
|
|
1077
1076
|
type: Injectable,
|
|
1078
1077
|
args: [{ providedIn: 'root' }]
|
|
1079
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: BaseStore }, { type: AppConfigService }, { type: ListService }] });
|
|
1078
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: BaseStore }, { type: AppConfigService }, { type: ListService }] });
|
|
1080
1079
|
|
|
1081
1080
|
class TablePrimaryModel {
|
|
1082
1081
|
name;
|
|
@@ -1123,10 +1122,10 @@ class TableBuilder {
|
|
|
1123
1122
|
}
|
|
1124
1123
|
return headers;
|
|
1125
1124
|
}
|
|
1126
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1127
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
1125
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TableBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1126
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TableBuilder, providedIn: 'root' });
|
|
1128
1127
|
}
|
|
1129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TableBuilder, decorators: [{
|
|
1130
1129
|
type: Injectable,
|
|
1131
1130
|
args: [{
|
|
1132
1131
|
providedIn: 'root'
|
|
@@ -1165,10 +1164,10 @@ class BaseListComponent {
|
|
|
1165
1164
|
handleRefreshTable() {
|
|
1166
1165
|
this.init();
|
|
1167
1166
|
}
|
|
1168
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1169
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
1167
|
+
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 });
|
|
1168
|
+
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: [""] });
|
|
1170
1169
|
}
|
|
1171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseListComponent, decorators: [{
|
|
1172
1171
|
type: Component,
|
|
1173
1172
|
args: [{ selector: 'lib-base-list', template: "<p>base-list works!</p>\r\n" }]
|
|
1174
1173
|
}], ctorParameters: () => [{ type: BaseService }, { type: TableBuilder }], propDecorators: { refreshTable: [{
|
|
@@ -1232,10 +1231,10 @@ class DropdownComponent extends BaseControlComponent {
|
|
|
1232
1231
|
handleModelChange(event, valid, val) {
|
|
1233
1232
|
super.handleModelChange(event, valid);
|
|
1234
1233
|
}
|
|
1235
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1236
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
1234
|
+
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 });
|
|
1235
|
+
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 });
|
|
1237
1236
|
}
|
|
1238
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
1239
1238
|
type: Component,
|
|
1240
1239
|
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"] }]
|
|
1241
1240
|
}], ctorParameters: () => [{ type: BaseStore }, { type: ListService }, { type: BaseQuery }], propDecorators: { isStaticDropdown: [{
|
|
@@ -1247,10 +1246,10 @@ class ValidatorService {
|
|
|
1247
1246
|
handleValidateRecords(record) {
|
|
1248
1247
|
return true;
|
|
1249
1248
|
}
|
|
1250
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1251
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
1249
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ValidatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1250
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ValidatorService, providedIn: 'root' });
|
|
1252
1251
|
}
|
|
1253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ValidatorService, decorators: [{
|
|
1254
1253
|
type: Injectable,
|
|
1255
1254
|
args: [{
|
|
1256
1255
|
providedIn: 'root'
|
|
@@ -1290,10 +1289,10 @@ class FormStateService {
|
|
|
1290
1289
|
selectShowConfirmation() {
|
|
1291
1290
|
return this.isShowConfirmation$.asObservable();
|
|
1292
1291
|
}
|
|
1293
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1294
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
1292
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FormStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1293
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FormStateService, providedIn: 'root' });
|
|
1295
1294
|
}
|
|
1296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FormStateService, decorators: [{
|
|
1297
1296
|
type: Injectable,
|
|
1298
1297
|
args: [{
|
|
1299
1298
|
providedIn: 'root'
|
|
@@ -1488,10 +1487,10 @@ class BaseFormComponent {
|
|
|
1488
1487
|
this.formStateService.setIsFormNavigating(false);
|
|
1489
1488
|
this.formStateService.setIsFormSaved(false);
|
|
1490
1489
|
}
|
|
1491
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1492
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
1490
|
+
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 });
|
|
1491
|
+
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: [""] });
|
|
1493
1492
|
}
|
|
1494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1493
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseFormComponent, decorators: [{
|
|
1495
1494
|
type: Component,
|
|
1496
1495
|
args: [{ selector: 'base-form', providers: [ValidatorService], template: "<p>base-form works!</p>\r\n" }]
|
|
1497
1496
|
}], ctorParameters: () => [{ type: BaseService }, { type: ValidatorService }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: BaseStore }, { type: BaseQuery }], propDecorators: { onSave: [{
|
|
@@ -1538,10 +1537,10 @@ class DateParserService {
|
|
|
1538
1537
|
}
|
|
1539
1538
|
return SHARED.INVALIDDATE;
|
|
1540
1539
|
}
|
|
1541
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1542
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
1540
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DateParserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1541
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DateParserService, providedIn: 'root' });
|
|
1543
1542
|
}
|
|
1544
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1543
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DateParserService, decorators: [{
|
|
1545
1544
|
type: Injectable,
|
|
1546
1545
|
args: [{
|
|
1547
1546
|
providedIn: 'root'
|
|
@@ -1575,10 +1574,10 @@ class DateComponent extends BaseControlComponent {
|
|
|
1575
1574
|
}
|
|
1576
1575
|
return SHARED.EMPTY;
|
|
1577
1576
|
}
|
|
1578
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1579
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
1577
|
+
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 });
|
|
1578
|
+
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"] }] });
|
|
1580
1579
|
}
|
|
1581
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1580
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DateComponent, decorators: [{
|
|
1582
1581
|
type: Component,
|
|
1583
1582
|
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" }]
|
|
1584
1583
|
}], ctorParameters: () => [{ type: BaseStore }, { type: DateParserService }, { type: BaseQuery }] });
|
|
@@ -1587,10 +1586,10 @@ class FileUploadComponent extends BaseControlComponent {
|
|
|
1587
1586
|
handleSingleUpload(event) {
|
|
1588
1587
|
console.log(event);
|
|
1589
1588
|
}
|
|
1590
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1591
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
1589
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FileUploadComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1590
|
+
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"] }] });
|
|
1592
1591
|
}
|
|
1593
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1592
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
1594
1593
|
type: Component,
|
|
1595
1594
|
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>" }]
|
|
1596
1595
|
}] });
|
|
@@ -1604,10 +1603,10 @@ class CapitalizeWordsPipe {
|
|
|
1604
1603
|
.map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
1605
1604
|
.join(' ');
|
|
1606
1605
|
}
|
|
1607
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1608
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.
|
|
1606
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CapitalizeWordsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
1607
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: CapitalizeWordsPipe, isStandalone: true, name: "capitalizeWords" });
|
|
1609
1608
|
}
|
|
1610
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1609
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CapitalizeWordsPipe, decorators: [{
|
|
1611
1610
|
type: Pipe,
|
|
1612
1611
|
args: [{
|
|
1613
1612
|
name: 'capitalizeWords',
|
|
@@ -1628,10 +1627,10 @@ class TextAreaComponent extends BaseControlComponent {
|
|
|
1628
1627
|
return this.record[this.attributeModel.name] ?? "-";
|
|
1629
1628
|
}
|
|
1630
1629
|
}
|
|
1631
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1632
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
1630
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TextAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1631
|
+
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"] }] });
|
|
1633
1632
|
}
|
|
1634
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1633
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TextAreaComponent, decorators: [{
|
|
1635
1634
|
type: Component,
|
|
1636
1635
|
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"] }]
|
|
1637
1636
|
}], propDecorators: { rowspan: [{
|
|
@@ -1650,10 +1649,10 @@ class QueueSearchCustomerComponent {
|
|
|
1650
1649
|
onSearch() {
|
|
1651
1650
|
console.log(SHARED.SELECTED_QUEUE, this.selectedQueue);
|
|
1652
1651
|
}
|
|
1653
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1654
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
1652
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueSearchCustomerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1653
|
+
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"] }] });
|
|
1655
1654
|
}
|
|
1656
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1655
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueSearchCustomerComponent, decorators: [{
|
|
1657
1656
|
type: Component,
|
|
1658
1657
|
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"] }]
|
|
1659
1658
|
}], ctorParameters: () => [] });
|
|
@@ -1712,10 +1711,10 @@ class BlockListComponent {
|
|
|
1712
1711
|
this.queueDataById.emit(queueId);
|
|
1713
1712
|
}
|
|
1714
1713
|
}
|
|
1715
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1716
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
1714
|
+
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 });
|
|
1715
|
+
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"] }] });
|
|
1717
1716
|
}
|
|
1718
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1717
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BlockListComponent, decorators: [{
|
|
1719
1718
|
type: Component,
|
|
1720
1719
|
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"] }]
|
|
1721
1720
|
}], ctorParameters: () => [{ type: i3$4.Router }], propDecorators: { queueData: [{
|
|
@@ -1754,10 +1753,10 @@ class SessionService {
|
|
|
1754
1753
|
sessionStorage.clear();
|
|
1755
1754
|
localStorage.clear();
|
|
1756
1755
|
}
|
|
1757
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1758
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
1756
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SessionService, deps: [{ token: i3$4.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1757
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SessionService, providedIn: 'root' });
|
|
1759
1758
|
}
|
|
1760
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1759
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SessionService, decorators: [{
|
|
1761
1760
|
type: Injectable,
|
|
1762
1761
|
args: [{
|
|
1763
1762
|
providedIn: 'root'
|
|
@@ -1795,10 +1794,10 @@ class HasPermissionDirective {
|
|
|
1795
1794
|
}
|
|
1796
1795
|
}
|
|
1797
1796
|
}
|
|
1798
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1799
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.
|
|
1797
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: HasPermissionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1798
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.5", type: HasPermissionDirective, isStandalone: false, selector: "[permission]", inputs: { permission: "permission" }, usesOnChanges: true, ngImport: i0 });
|
|
1800
1799
|
}
|
|
1801
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1800
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: HasPermissionDirective, decorators: [{
|
|
1802
1801
|
type: Directive,
|
|
1803
1802
|
args: [{
|
|
1804
1803
|
selector: '[permission]',
|
|
@@ -1809,8 +1808,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
1809
1808
|
}] } });
|
|
1810
1809
|
|
|
1811
1810
|
class SharedModule {
|
|
1812
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1813
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
1811
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1812
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: SharedModule, declarations: [SidebarComponent, QueueSearchCustomerComponent, HasPermissionDirective], imports: [CommonModule,
|
|
1814
1813
|
FormsModule,
|
|
1815
1814
|
InputTextModule,
|
|
1816
1815
|
ButtonModule,
|
|
@@ -1838,7 +1837,7 @@ class SharedModule {
|
|
|
1838
1837
|
TextAreaComponent,
|
|
1839
1838
|
BaseFormComponent,
|
|
1840
1839
|
BlockListComponent], exports: [HasPermissionDirective, CapitalizeWordsPipe, TextBoxComponent, FormsModule, ListboxModule, DialogModule, CheckboxModule, DropdownComponent, FormContainerComponent, BaseListComponent, SidebarComponent, DividerModule, CardModule, QueueSearchCustomerComponent, BlockListComponent] });
|
|
1841
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
1840
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SharedModule, imports: [CommonModule,
|
|
1842
1841
|
FormsModule,
|
|
1843
1842
|
InputTextModule,
|
|
1844
1843
|
ButtonModule,
|
|
@@ -1863,7 +1862,7 @@ class SharedModule {
|
|
|
1863
1862
|
TextAreaComponent,
|
|
1864
1863
|
BlockListComponent, FormsModule, ListboxModule, DialogModule, CheckboxModule, DividerModule, CardModule] });
|
|
1865
1864
|
}
|
|
1866
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1865
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: SharedModule, decorators: [{
|
|
1867
1866
|
type: NgModule,
|
|
1868
1867
|
args: [{
|
|
1869
1868
|
declarations: [SidebarComponent, QueueSearchCustomerComponent, HasPermissionDirective],
|
|
@@ -1907,10 +1906,10 @@ class HEADERS {
|
|
|
1907
1906
|
}
|
|
1908
1907
|
|
|
1909
1908
|
class UsernameComponent extends BaseControlComponent {
|
|
1910
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1911
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
1909
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: UsernameComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1910
|
+
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"] }] });
|
|
1912
1911
|
}
|
|
1913
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1912
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: UsernameComponent, decorators: [{
|
|
1914
1913
|
type: Component,
|
|
1915
1914
|
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>" }]
|
|
1916
1915
|
}] });
|
|
@@ -1923,10 +1922,10 @@ class PasswordComponent extends BaseControlComponent {
|
|
|
1923
1922
|
ngOninit() {
|
|
1924
1923
|
this.invalidPasswordErrorMsg = "Invalid Password";
|
|
1925
1924
|
}
|
|
1926
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1927
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
1925
|
+
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 });
|
|
1926
|
+
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"] }] });
|
|
1928
1927
|
}
|
|
1929
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1928
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: PasswordComponent, decorators: [{
|
|
1930
1929
|
type: Component,
|
|
1931
1930
|
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>" }]
|
|
1932
1931
|
}], ctorParameters: () => [{ type: BaseStore }, { type: BaseQuery }] });
|
|
@@ -2002,10 +2001,10 @@ class AuthGuard {
|
|
|
2002
2001
|
}
|
|
2003
2002
|
}), map((sessionID) => !!sessionID));
|
|
2004
2003
|
}
|
|
2005
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2006
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
2004
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AuthGuard, deps: [{ token: SessionService }, { token: i3$4.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2005
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AuthGuard, providedIn: 'root' });
|
|
2007
2006
|
}
|
|
2008
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2007
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AuthGuard, decorators: [{
|
|
2009
2008
|
type: Injectable,
|
|
2010
2009
|
args: [{
|
|
2011
2010
|
providedIn: 'root',
|
|
@@ -2020,10 +2019,10 @@ class BaseContainerComponent {
|
|
|
2020
2019
|
init() {
|
|
2021
2020
|
this.service.initList();
|
|
2022
2021
|
}
|
|
2023
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2024
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
2022
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseContainerComponent, deps: [{ token: BaseService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2023
|
+
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: [""] });
|
|
2025
2024
|
}
|
|
2026
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2025
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: BaseContainerComponent, decorators: [{
|
|
2027
2026
|
type: Component,
|
|
2028
2027
|
args: [{ selector: 'lib-base-container', template: "<p>base-container works!</p>\r\n" }]
|
|
2029
2028
|
}], ctorParameters: () => [{ type: BaseService }] });
|
|
@@ -2181,10 +2180,10 @@ class TablePrimaryComponent {
|
|
|
2181
2180
|
this.templateDestroy$.next();
|
|
2182
2181
|
this.templateDestroy$.complete();
|
|
2183
2182
|
}
|
|
2184
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2185
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", 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=\"showActions\" [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\">\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=\"showActions\" class=\"action-data-wrapper text-left p-4\">\r\n <div class=\"flex align-items-center\">\r\n <p-button icon=\"pi pi-pencil\" [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 + (showActions ? 1 : 0)\" class=\"text-center text-color font-semibold p-4\">\r\n No records found\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\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}.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{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: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.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: i6$1.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i6$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i6$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: 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$2.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 }] });
|
|
2183
|
+
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 });
|
|
2184
|
+
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=\"showActions\" [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\">\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=\"showActions\" class=\"action-data-wrapper text-left p-4\">\r\n <div class=\"flex align-items-center\">\r\n <p-button icon=\"pi pi-pencil\" [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 + (showActions ? 1 : 0)\" class=\"text-center text-color font-semibold p-4\">\r\n No records found\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\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}.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{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: i6$1.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i6$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i6$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: 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 }] });
|
|
2186
2185
|
}
|
|
2187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TablePrimaryComponent, decorators: [{
|
|
2188
2187
|
type: Component,
|
|
2189
2188
|
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=\"showActions\" [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\">\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=\"showActions\" class=\"action-data-wrapper text-left p-4\">\r\n <div class=\"flex align-items-center\">\r\n <p-button icon=\"pi pi-pencil\" [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 + (showActions ? 1 : 0)\" class=\"text-center text-color font-semibold p-4\">\r\n No records found\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\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}.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{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"] }]
|
|
2190
2189
|
}], ctorParameters: () => [{ type: i3$4.Router }, { type: BaseService }, { type: TableBuilder }, { type: BaseQuery }], propDecorators: { table: [{
|
|
@@ -2224,7 +2223,12 @@ class TableSecondaryComponent {
|
|
|
2224
2223
|
baseQuery;
|
|
2225
2224
|
baseStore;
|
|
2226
2225
|
table;
|
|
2227
|
-
metaData
|
|
2226
|
+
metaData = {
|
|
2227
|
+
totalItems: 0,
|
|
2228
|
+
currentPage: 1,
|
|
2229
|
+
itemsPerPage: 10,
|
|
2230
|
+
totalPages: 0
|
|
2231
|
+
};
|
|
2228
2232
|
title;
|
|
2229
2233
|
builder;
|
|
2230
2234
|
showStatus = true;
|
|
@@ -2239,6 +2243,7 @@ class TableSecondaryComponent {
|
|
|
2239
2243
|
selectionChange = new EventEmitter();
|
|
2240
2244
|
rowSelection;
|
|
2241
2245
|
rowSelectionChange = new EventEmitter();
|
|
2246
|
+
sortChanged = new EventEmitter();
|
|
2242
2247
|
enableSelection = true;
|
|
2243
2248
|
noRecordsMessage = 'No records found';
|
|
2244
2249
|
recordNumber;
|
|
@@ -2246,10 +2251,14 @@ class TableSecondaryComponent {
|
|
|
2246
2251
|
limit = 10;
|
|
2247
2252
|
first = 0;
|
|
2248
2253
|
globalFilter = SHARED.EMPTY;
|
|
2254
|
+
sortField = '';
|
|
2255
|
+
sortOrder = 1;
|
|
2256
|
+
destroy$ = new Subject();
|
|
2249
2257
|
paginator;
|
|
2250
2258
|
onDeleteRow = new EventEmitter();
|
|
2251
2259
|
searchTerm = SHARED.EMPTY;
|
|
2252
2260
|
filterQuery = SHARED.EMPTY;
|
|
2261
|
+
onPage = new EventEmitter();
|
|
2253
2262
|
constructor(_router, service, activatedRoute, baseQuery, baseStore) {
|
|
2254
2263
|
this._router = _router;
|
|
2255
2264
|
this.service = service;
|
|
@@ -2265,19 +2274,29 @@ class TableSecondaryComponent {
|
|
|
2265
2274
|
if (this.table && this.table.headers && this.table.headers.length === 0) {
|
|
2266
2275
|
console.error('Table headers are missing.');
|
|
2267
2276
|
}
|
|
2268
|
-
this.
|
|
2277
|
+
this.updateRecordNumber();
|
|
2278
|
+
this.baseQuery.selectPage().pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
2279
|
+
if (this.paginator) {
|
|
2280
|
+
this.paginator.first = 0;
|
|
2281
|
+
}
|
|
2282
|
+
});
|
|
2269
2283
|
}
|
|
2270
2284
|
/**
|
|
2271
2285
|
* Lifecycle hook called when any data-bound property changes.
|
|
2272
2286
|
* Resets pagination if page is changed.
|
|
2273
2287
|
*/
|
|
2274
2288
|
ngOnChanges() {
|
|
2275
|
-
this.
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2289
|
+
this.updateRecordNumber();
|
|
2290
|
+
}
|
|
2291
|
+
ngOnDestroy() {
|
|
2292
|
+
this.destroy$.next();
|
|
2293
|
+
this.destroy$.complete();
|
|
2294
|
+
}
|
|
2295
|
+
updateRecordNumber() {
|
|
2296
|
+
const currentPage = this.metaData?.currentPage ?? 1;
|
|
2297
|
+
const itemsPerPage = this.metaData?.itemsPerPage ?? 10;
|
|
2298
|
+
const totalItems = this.metaData?.totalItems ?? 0;
|
|
2299
|
+
this.recordNumber = Math.min(currentPage * itemsPerPage, totalItems);
|
|
2281
2300
|
}
|
|
2282
2301
|
/**
|
|
2283
2302
|
* Returns the unique key used to identify each row in the table.
|
|
@@ -2357,24 +2376,29 @@ class TableSecondaryComponent {
|
|
|
2357
2376
|
handleLoadRecords(event) {
|
|
2358
2377
|
this.page = (event.first / event.rows) + 1;
|
|
2359
2378
|
this.limit = event.rows;
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2379
|
+
// Emit the pagination event to parent components
|
|
2380
|
+
this.onPage.emit(event);
|
|
2381
|
+
// If pathName is provided, use the default service method
|
|
2382
|
+
if (this.pathName) {
|
|
2383
|
+
this.service.getPaginatedList(this.searchTerm, this.page, this.limit, SHARED.UPDATEDAT, SHARED.DESC, SHARED.EMPTY, SHARED.EMPTY, this.pathName).subscribe({
|
|
2384
|
+
/**
|
|
2385
|
+
* Handles the successful response from the paginated list API.
|
|
2386
|
+
* @param {any} res - The API response containing data and metadata.
|
|
2387
|
+
*/
|
|
2388
|
+
next: (res) => {
|
|
2389
|
+
this.table = this.builder.buildTable(res.data);
|
|
2390
|
+
this.metaData = res.metadata;
|
|
2391
|
+
this.recordNumber = Math.min(this.metaData.currentPage * this.metaData.itemsPerPage, this.metaData.totalItems);
|
|
2392
|
+
},
|
|
2393
|
+
/**
|
|
2394
|
+
* Handles any error encountered while fetching the paginated list.
|
|
2395
|
+
* @param {any} err - The error object.
|
|
2396
|
+
*/
|
|
2397
|
+
error: (err) => {
|
|
2398
|
+
console.error(ERROR.ERROR_FETCHING_DATA, err);
|
|
2399
|
+
}
|
|
2400
|
+
});
|
|
2401
|
+
}
|
|
2378
2402
|
}
|
|
2379
2403
|
/**
|
|
2380
2404
|
* Emits the updated selection when user changes selection in the table.
|
|
@@ -2412,12 +2436,17 @@ class TableSecondaryComponent {
|
|
|
2412
2436
|
isRowSelected(rowData) {
|
|
2413
2437
|
return this.rowSelection?.[this.validDataKey] === rowData[this.validDataKey];
|
|
2414
2438
|
}
|
|
2415
|
-
|
|
2416
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", 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", pathName: "pathName", selectionMode: "selectionMode", selection: "selection", usePagination: "usePagination", rowSelection: "rowSelection", enableSelection: "enableSelection", noRecordsMessage: "noRecordsMessage", searchTerm: "searchTerm", filterQuery: "filterQuery" }, outputs: { selectionChange: "selectionChange", rowSelectionChange: "rowSelectionChange", onDeleteRow: "onDeleteRow" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: ["paginator"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-table\r\n*ngIf=\"table && table.headers && table.headers.length > 0\"\r\n #dt2\r\n [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 [columns]=\"table.headers\"\r\n class=\"table-secondary-container\"\r\n [value]=\"table.records\"\r\n [sortField]=\"table.sortField\"\r\n [dataKey]=\"table.dataKey\"\r\n [selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selection\"\r\n (selectionChange)=\"onSelectionChange($event)\"\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\"\r\n [pSortableColumn]=\"col.name\"\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]=\"[col.class || '', i === 0 ? 'justify-content-start' : 'justify-content-center']\"\r\n class=\"flex align-items-center table-header-title capitalize font-semibold m-0\">\r\n {{ col.name }}\r\n @if(table.isSortingAllow){\r\n <p-sortIcon [field]=\"col.name\" />\r\n }\r\n </h4>\r\n </th>\r\n\r\n \r\n <th *ngIf=\"selectionMode === 'multiple'\" class=\"table-header-wrapper text-center\" style=\"width: 6rem;\">\r\n <h4 class=\"flex align-items-center justify-content-center gap-2 table-header-title capitalize font-semibold m-0\">\r\n Select <span *ngIf=\"selection?.length\">\r\n ({{ selection.length }})\r\n </span>\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 (click)=\"handleRowClick(rowData)\" [ngClass]=\"{ 'row-selected': isRowSelected(rowData) }\" [ngClass]=\"{\r\n 'row-selected': isRowSelected(rowData),'green-highlight': selection?.includes(rowData)}\">\r\n <td\r\n class=\"table-body-wrapper\"\r\n [ngClass]=\"(j === table.headers.length - 1 && selectionMode !== 'multiple' && !showActions) ? 'header-text-wrapper' : ''\"\r\n *ngFor=\"let col of table.headers; let j = index\"\r\n >\r\n <div class=\"row-wrapprt flex align-items-center justify-content-center\">\r\n <ng-container [ngSwitch]=\"col.customClass\">\r\n\r\n <!-- Required badge -->\r\n <ng-container *ngSwitchCase=\"'required-badge'\">\r\n <span\r\n [ngClass]=\"{\r\n 'px-3 py-1 rounded-2xl text-sm': true,\r\n 'bg-red-100 text-red-800': rowData[col.name] === 'Required',\r\n 'bg-gray-100 text-gray-500': rowData[col.name] !== 'Required'\r\n }\"\r\n >\r\n {{ rowData[col.name] }}\r\n </span>\r\n </ng-container>\r\n\r\n <!-- Default cell rendering -->\r\n <ng-container *ngSwitchDefault>\r\n <div\r\n class=\"table-text-wrapper p-0 flex align-items-center\"\r\n [ngClass]=\"[getRowClass(col, rowData), j === 0 ? 'justify-content-start' : 'justify-content-center']\"\r\n [ngStyle]=\"{ 'font-weight': col.name === table.showDecriptionFor ? 'bold' : 'normal' }\"\r\n style=\"\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n width:100%\r\n \"\r\n >\r\n <i\r\n *ngIf=\"rowData[col.name]?.icon\"\r\n class=\"pi pr-2\"\r\n [ngClass]=\"[rowData[col.name].icon, rowData[col.name].iconClass]\"\r\n ></i>\r\n <p class=\"mb-0\"> {{ rowData[col.name]?.value ?? rowData[col.name] }} </p>\r\n </div>\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 </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n </td>\r\n \r\n <!-- Checkbox at end -->\r\n <td *ngIf=\"selectionMode === 'multiple'\" class=\"text-center table-body-wrapper\" style=\"width: 4rem\" (click)=\"$event.stopPropagation()\">\r\n <p-tableCheckbox [value]=\"rowData\" [disabled]=\"!enableSelection\"></p-tableCheckbox>\r\n </td>\r\n \r\n <!-- Actions -->\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.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}.table-header-title{font-size:12px;font-weight:600;color:var(--text-color-tertiary)!important}.table-header-wrapper{padding:12px 14px}.table-body-wrapper{padding:14px}.table-text-wrapper{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:400%;padding:.5rem;box-sizing:border-box}.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{padding:20px 8px 12px;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;background:#f9f9fa}::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}: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{background-color:var(--color-surface-light)!important;border:1px solid var(--text-black)!important}: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}.table-body-wrapper{padding:8px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i6$1.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i6$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i6$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i6$1.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: "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"] }] });
|
|
2439
|
+
onSort(event) {
|
|
2440
|
+
this.sortField = event.field;
|
|
2441
|
+
this.sortOrder = event.order;
|
|
2442
|
+
this.sortChanged.emit(event);
|
|
2443
|
+
}
|
|
2444
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TableSecondaryComponent, deps: [{ token: i3$4.Router }, { token: BaseService }, { token: i3$4.ActivatedRoute }, { token: BaseQuery }, { token: BaseStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
2445
|
+
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", pathName: "pathName", selectionMode: "selectionMode", selection: "selection", usePagination: "usePagination", rowSelection: "rowSelection", enableSelection: "enableSelection", noRecordsMessage: "noRecordsMessage", 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: "<p-table\r\n*ngIf=\"table && table.headers && table.headers.length > 0\"\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>\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\"\r\n [pSortableColumn]=\"col.name\"\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]=\"[col.class || '', i === 0 ? 'justify-content-start' : 'justify-content-center']\"\r\n class=\"flex align-items-center table-header-title capitalize font-semibold m-0\">\r\n {{ col.name }}\r\n @if(table.isSortingAllow){\r\n <p-sortIcon [field]=\"col.name\" />\r\n }\r\n </h4>\r\n </th>\r\n\r\n \r\n <th *ngIf=\"selectionMode === 'multiple'\" class=\"table-header-wrapper text-center\" style=\"width: 6rem;\">\r\n <h4 class=\"flex align-items-center justify-content-center gap-2 table-header-title capitalize font-semibold m-0\">\r\n Select <span *ngIf=\"selection?.length\">\r\n ({{ selection.length }})\r\n </span>\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 (click)=\"handleRowClick(rowData)\" [ngClass]=\"{ 'row-selected': isRowSelected(rowData) }\" [ngClass]=\"{\r\n 'row-selected': isRowSelected(rowData),'green-highlight': selection?.includes(rowData)}\">\r\n <td\r\n class=\"table-body-wrapper\"\r\n [ngClass]=\"(j === table.headers.length - 1 && selectionMode !== 'multiple' && !showActions) ? 'header-text-wrapper' : ''\"\r\n *ngFor=\"let col of table.headers; let j = index\"\r\n >\r\n <div class=\"row-wrapprt flex align-items-center justify-content-center\">\r\n <ng-container [ngSwitch]=\"col.customClass\">\r\n\r\n <!-- Required badge -->\r\n <ng-container *ngSwitchCase=\"'required-badge'\">\r\n <span\r\n [ngClass]=\"{\r\n 'px-3 py-1 rounded-2xl text-sm': true,\r\n 'bg-red-100 text-red-800': rowData[col.name] === 'Required',\r\n 'bg-gray-100 text-gray-500': rowData[col.name] !== 'Required'\r\n }\"\r\n >\r\n {{ rowData[col.name] }}\r\n </span>\r\n </ng-container>\r\n\r\n <!-- Default cell rendering -->\r\n <ng-container *ngSwitchDefault>\r\n <div\r\n class=\"table-text-wrapper p-0 flex align-items-center\"\r\n [ngClass]=\"[getRowClass(col, rowData), j === 0 ? 'justify-content-start' : 'justify-content-center']\"\r\n [ngStyle]=\"{ 'font-weight': col.name === table.showDecriptionFor ? 'bold' : 'normal' }\"\r\n style=\"\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n width:100%\r\n \"\r\n >\r\n <i\r\n *ngIf=\"rowData[col.name]?.icon\"\r\n class=\"pi pr-2\"\r\n [ngClass]=\"[rowData[col.name].icon, rowData[col.name].iconClass]\"\r\n ></i>\r\n <p class=\"mb-0\"> {{ rowData[col.name]?.value ?? rowData[col.name] }} </p>\r\n </div>\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 </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n </td>\r\n \r\n <!-- Checkbox at end -->\r\n <td *ngIf=\"selectionMode === 'multiple'\" class=\"text-center table-body-wrapper\" style=\"width: 4rem\" (click)=\"$event.stopPropagation()\">\r\n <p-tableCheckbox [value]=\"rowData\" [disabled]=\"!enableSelection\"></p-tableCheckbox>\r\n </td>\r\n \r\n <!-- Actions -->\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 && (metaData?.totalItems ?? 0) > 0\">\r\n <div class=\"pagination-text text-color\">\r\n Showing {{ ((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10) + 1 }} 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}.table-body-wrapper{padding:14px}.table-text-wrapper{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:400%;padding:.5rem;box-sizing:border-box}.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{padding:20px 8px 12px;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;background:#f9f9fa}::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}: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{background-color:var(--color-surface-light)!important;border:1px solid var(--text-black)!important}: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}.table-body-wrapper{padding:8px}}\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.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: "ngmodule", type: TableModule }, { kind: "component", type: i6$1.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i6$1.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i6$1.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i6$1.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: "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"] }] });
|
|
2417
2446
|
}
|
|
2418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2447
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TableSecondaryComponent, decorators: [{
|
|
2419
2448
|
type: Component,
|
|
2420
|
-
args: [{ selector: 'lib-table-secondary', standalone: true, imports: [CommonModule, TableModule, ButtonModule, ToggleButtonModule, FormsModule, InputSwitchModule, InputTextModule, TooltipModule, PaginatorModule], template: "<p-table\r\n*ngIf=\"table && table.headers && table.headers.length > 0\"\r\n #dt2\r\n [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 [columns]=\"table.headers\"\r\n class=\"table-secondary-container\"\r\n [value]=\"table.records\"\r\n [sortField]=\"table.sortField\"\r\n [dataKey]=\"table.dataKey\"\r\n [selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selection\"\r\n (selectionChange)=\"onSelectionChange($event)\"\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\"\r\n [pSortableColumn]=\"col.name\"\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]=\"[col.class || '', i === 0 ? 'justify-content-start' : 'justify-content-center']\"\r\n class=\"flex align-items-center table-header-title capitalize font-semibold m-0\">\r\n {{ col.name }}\r\n @if(table.isSortingAllow){\r\n <p-sortIcon [field]=\"col.name\" />\r\n }\r\n </h4>\r\n </th>\r\n\r\n \r\n <th *ngIf=\"selectionMode === 'multiple'\" class=\"table-header-wrapper text-center\" style=\"width: 6rem;\">\r\n <h4 class=\"flex align-items-center justify-content-center gap-2 table-header-title capitalize font-semibold m-0\">\r\n Select <span *ngIf=\"selection?.length\">\r\n ({{ selection.length }})\r\n </span>\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 (click)=\"handleRowClick(rowData)\" [ngClass]=\"{ 'row-selected': isRowSelected(rowData) }\" [ngClass]=\"{\r\n 'row-selected': isRowSelected(rowData),'green-highlight': selection?.includes(rowData)}\">\r\n <td\r\n class=\"table-body-wrapper\"\r\n [ngClass]=\"(j === table.headers.length - 1 && selectionMode !== 'multiple' && !showActions) ? 'header-text-wrapper' : ''\"\r\n *ngFor=\"let col of table.headers; let j = index\"\r\n >\r\n <div class=\"row-wrapprt flex align-items-center justify-content-center\">\r\n <ng-container [ngSwitch]=\"col.customClass\">\r\n\r\n <!-- Required badge -->\r\n <ng-container *ngSwitchCase=\"'required-badge'\">\r\n <span\r\n [ngClass]=\"{\r\n 'px-3 py-1 rounded-2xl text-sm': true,\r\n 'bg-red-100 text-red-800': rowData[col.name] === 'Required',\r\n 'bg-gray-100 text-gray-500': rowData[col.name] !== 'Required'\r\n }\"\r\n >\r\n {{ rowData[col.name] }}\r\n </span>\r\n </ng-container>\r\n\r\n <!-- Default cell rendering -->\r\n <ng-container *ngSwitchDefault>\r\n <div\r\n class=\"table-text-wrapper p-0 flex align-items-center\"\r\n [ngClass]=\"[getRowClass(col, rowData), j === 0 ? 'justify-content-start' : 'justify-content-center']\"\r\n [ngStyle]=\"{ 'font-weight': col.name === table.showDecriptionFor ? 'bold' : 'normal' }\"\r\n style=\"\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n width:100%\r\n \"\r\n >\r\n <i\r\n *ngIf=\"rowData[col.name]?.icon\"\r\n class=\"pi pr-2\"\r\n [ngClass]=\"[rowData[col.name].icon, rowData[col.name].iconClass]\"\r\n ></i>\r\n <p class=\"mb-0\"> {{ rowData[col.name]?.value ?? rowData[col.name] }} </p>\r\n </div>\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 </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n </td>\r\n \r\n <!-- Checkbox at end -->\r\n <td *ngIf=\"selectionMode === 'multiple'\" class=\"text-center table-body-wrapper\" style=\"width: 4rem\" (click)=\"$event.stopPropagation()\">\r\n <p-tableCheckbox [value]=\"rowData\" [disabled]=\"!enableSelection\"></p-tableCheckbox>\r\n </td>\r\n \r\n <!-- Actions -->\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.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}.table-header-title{font-size:12px;font-weight:600;color:var(--text-color-tertiary)!important}.table-header-wrapper{padding:12px 14px}.table-body-wrapper{padding:14px}.table-text-wrapper{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:400%;padding:.5rem;box-sizing:border-box}.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{padding:20px 8px 12px;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;background:#f9f9fa}::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}: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{background-color:var(--color-surface-light)!important;border:1px solid var(--text-black)!important}: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}.table-body-wrapper{padding:8px}}\n"] }]
|
|
2449
|
+
args: [{ selector: 'lib-table-secondary', standalone: true, imports: [CommonModule, TableModule, ButtonModule, ToggleButtonModule, FormsModule, InputSwitchModule, InputTextModule, TooltipModule, PaginatorModule], template: "<p-table\r\n*ngIf=\"table && table.headers && table.headers.length > 0\"\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>\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\"\r\n [pSortableColumn]=\"col.name\"\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]=\"[col.class || '', i === 0 ? 'justify-content-start' : 'justify-content-center']\"\r\n class=\"flex align-items-center table-header-title capitalize font-semibold m-0\">\r\n {{ col.name }}\r\n @if(table.isSortingAllow){\r\n <p-sortIcon [field]=\"col.name\" />\r\n }\r\n </h4>\r\n </th>\r\n\r\n \r\n <th *ngIf=\"selectionMode === 'multiple'\" class=\"table-header-wrapper text-center\" style=\"width: 6rem;\">\r\n <h4 class=\"flex align-items-center justify-content-center gap-2 table-header-title capitalize font-semibold m-0\">\r\n Select <span *ngIf=\"selection?.length\">\r\n ({{ selection.length }})\r\n </span>\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 (click)=\"handleRowClick(rowData)\" [ngClass]=\"{ 'row-selected': isRowSelected(rowData) }\" [ngClass]=\"{\r\n 'row-selected': isRowSelected(rowData),'green-highlight': selection?.includes(rowData)}\">\r\n <td\r\n class=\"table-body-wrapper\"\r\n [ngClass]=\"(j === table.headers.length - 1 && selectionMode !== 'multiple' && !showActions) ? 'header-text-wrapper' : ''\"\r\n *ngFor=\"let col of table.headers; let j = index\"\r\n >\r\n <div class=\"row-wrapprt flex align-items-center justify-content-center\">\r\n <ng-container [ngSwitch]=\"col.customClass\">\r\n\r\n <!-- Required badge -->\r\n <ng-container *ngSwitchCase=\"'required-badge'\">\r\n <span\r\n [ngClass]=\"{\r\n 'px-3 py-1 rounded-2xl text-sm': true,\r\n 'bg-red-100 text-red-800': rowData[col.name] === 'Required',\r\n 'bg-gray-100 text-gray-500': rowData[col.name] !== 'Required'\r\n }\"\r\n >\r\n {{ rowData[col.name] }}\r\n </span>\r\n </ng-container>\r\n\r\n <!-- Default cell rendering -->\r\n <ng-container *ngSwitchDefault>\r\n <div\r\n class=\"table-text-wrapper p-0 flex align-items-center\"\r\n [ngClass]=\"[getRowClass(col, rowData), j === 0 ? 'justify-content-start' : 'justify-content-center']\"\r\n [ngStyle]=\"{ 'font-weight': col.name === table.showDecriptionFor ? 'bold' : 'normal' }\"\r\n style=\"\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n width:100%\r\n \"\r\n >\r\n <i\r\n *ngIf=\"rowData[col.name]?.icon\"\r\n class=\"pi pr-2\"\r\n [ngClass]=\"[rowData[col.name].icon, rowData[col.name].iconClass]\"\r\n ></i>\r\n <p class=\"mb-0\"> {{ rowData[col.name]?.value ?? rowData[col.name] }} </p>\r\n </div>\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 </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n </td>\r\n \r\n <!-- Checkbox at end -->\r\n <td *ngIf=\"selectionMode === 'multiple'\" class=\"text-center table-body-wrapper\" style=\"width: 4rem\" (click)=\"$event.stopPropagation()\">\r\n <p-tableCheckbox [value]=\"rowData\" [disabled]=\"!enableSelection\"></p-tableCheckbox>\r\n </td>\r\n \r\n <!-- Actions -->\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 && (metaData?.totalItems ?? 0) > 0\">\r\n <div class=\"pagination-text text-color\">\r\n Showing {{ ((metaData?.currentPage ?? 1) - 1) * (metaData?.itemsPerPage ?? 10) + 1 }} 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}.table-body-wrapper{padding:14px}.table-text-wrapper{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;max-width:400%;padding:.5rem;box-sizing:border-box}.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{padding:20px 8px 12px;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;background:#f9f9fa}::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}: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{background-color:var(--color-surface-light)!important;border:1px solid var(--text-black)!important}: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}.table-body-wrapper{padding:8px}}\n"] }]
|
|
2421
2450
|
}], ctorParameters: () => [{ type: i3$4.Router }, { type: BaseService }, { type: i3$4.ActivatedRoute }, { type: BaseQuery }, { type: BaseStore }], propDecorators: { table: [{
|
|
2422
2451
|
type: Input
|
|
2423
2452
|
}], metaData: [{
|
|
@@ -2450,6 +2479,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
2450
2479
|
type: Input
|
|
2451
2480
|
}], rowSelectionChange: [{
|
|
2452
2481
|
type: Output
|
|
2482
|
+
}], sortChanged: [{
|
|
2483
|
+
type: Output
|
|
2453
2484
|
}], enableSelection: [{
|
|
2454
2485
|
type: Input
|
|
2455
2486
|
}], noRecordsMessage: [{
|
|
@@ -2463,6 +2494,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
2463
2494
|
type: Input
|
|
2464
2495
|
}], filterQuery: [{
|
|
2465
2496
|
type: Input
|
|
2497
|
+
}], onPage: [{
|
|
2498
|
+
type: Output
|
|
2466
2499
|
}] } });
|
|
2467
2500
|
|
|
2468
2501
|
class TableSecondaryModel {
|
|
@@ -2537,13 +2570,13 @@ let ApiAdminStore = class ApiAdminStore extends BaseStore {
|
|
|
2537
2570
|
constructor() {
|
|
2538
2571
|
super();
|
|
2539
2572
|
}
|
|
2540
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2541
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
2573
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2574
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminStore, providedIn: 'root' });
|
|
2542
2575
|
};
|
|
2543
2576
|
ApiAdminStore = __decorate([
|
|
2544
2577
|
StoreConfig({ name: 'apiManagementStore' })
|
|
2545
2578
|
], ApiAdminStore);
|
|
2546
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2579
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminStore, decorators: [{
|
|
2547
2580
|
type: Injectable,
|
|
2548
2581
|
args: [{ providedIn: 'root' }]
|
|
2549
2582
|
}], ctorParameters: () => [] });
|
|
@@ -2564,13 +2597,13 @@ class ApiAdminService extends BaseService {
|
|
|
2564
2597
|
checkApiByPathName(name, record) {
|
|
2565
2598
|
return this.http.post(this.apiUrl + name, record).pipe(tap$1((entities) => this.apiManagementStore.set(entities)));
|
|
2566
2599
|
}
|
|
2567
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2568
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
2600
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminService, deps: [{ token: i1$1.HttpClient }, { token: ApiAdminStore }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2601
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminService, providedIn: 'root' });
|
|
2569
2602
|
}
|
|
2570
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2603
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminService, decorators: [{
|
|
2571
2604
|
type: Injectable,
|
|
2572
2605
|
args: [{ providedIn: 'root' }]
|
|
2573
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: ApiAdminStore }, { type: AppConfigService }, { type: ListService }] });
|
|
2606
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: ApiAdminStore }, { type: AppConfigService }, { type: ListService }] });
|
|
2574
2607
|
|
|
2575
2608
|
/**
|
|
2576
2609
|
* Form component for creating and updating API configurations.
|
|
@@ -2671,10 +2704,10 @@ class ApiAdminFormComponent extends BaseFormComponent {
|
|
|
2671
2704
|
this.record = {};
|
|
2672
2705
|
super.ngOnDestroy();
|
|
2673
2706
|
}
|
|
2674
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2675
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
2707
|
+
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 });
|
|
2708
|
+
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 });
|
|
2676
2709
|
}
|
|
2677
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2710
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminFormComponent, decorators: [{
|
|
2678
2711
|
type: Component,
|
|
2679
2712
|
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"] }]
|
|
2680
2713
|
}], ctorParameters: () => [{ type: ApiAdminService }, { type: ValidatorService }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: ApiAdminStore }, { type: BaseStore }, { type: BaseQuery }] });
|
|
@@ -2712,17 +2745,17 @@ class ApiAdminListComponent extends BaseListComponent {
|
|
|
2712
2745
|
ngOnInit() {
|
|
2713
2746
|
this.init();
|
|
2714
2747
|
}
|
|
2715
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2716
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
2748
|
+
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 });
|
|
2749
|
+
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"] }] });
|
|
2717
2750
|
}
|
|
2718
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2751
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminListComponent, decorators: [{
|
|
2719
2752
|
type: Component,
|
|
2720
2753
|
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}" }]
|
|
2721
2754
|
}], ctorParameters: () => [{ type: ApiAdminService }, { type: TableBuilder }] });
|
|
2722
2755
|
|
|
2723
2756
|
class ApiAdminModule {
|
|
2724
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2725
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
2757
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2758
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminModule, declarations: [ApiAdminFormComponent, ApiAdminListComponent], imports: [CommonModule,
|
|
2726
2759
|
FormsModule,
|
|
2727
2760
|
SharedModule,
|
|
2728
2761
|
HttpClientModule,
|
|
@@ -2732,7 +2765,7 @@ class ApiAdminModule {
|
|
|
2732
2765
|
TextAreaComponent,
|
|
2733
2766
|
TablePrimaryComponent,
|
|
2734
2767
|
CheckBoxComponent], exports: [ApiAdminFormComponent, ApiAdminListComponent] });
|
|
2735
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
2768
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminModule, providers: [
|
|
2736
2769
|
{
|
|
2737
2770
|
provide: APP_INITIALIZER,
|
|
2738
2771
|
useFactory: (configService) => () => configService.loadAppConfig(),
|
|
@@ -2750,7 +2783,7 @@ class ApiAdminModule {
|
|
|
2750
2783
|
TablePrimaryComponent,
|
|
2751
2784
|
CheckBoxComponent] });
|
|
2752
2785
|
}
|
|
2753
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2786
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ApiAdminModule, decorators: [{
|
|
2754
2787
|
type: NgModule,
|
|
2755
2788
|
args: [{
|
|
2756
2789
|
declarations: [ApiAdminFormComponent, ApiAdminListComponent],
|
|
@@ -2785,13 +2818,13 @@ let WidgetAdminStore = class WidgetAdminStore extends BaseStore {
|
|
|
2785
2818
|
constructor() {
|
|
2786
2819
|
super();
|
|
2787
2820
|
}
|
|
2788
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2789
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
2821
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2822
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminStore, providedIn: 'root' });
|
|
2790
2823
|
};
|
|
2791
2824
|
WidgetAdminStore = __decorate([
|
|
2792
2825
|
StoreConfig({ name: 'widgetStore' })
|
|
2793
2826
|
], WidgetAdminStore);
|
|
2794
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2827
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminStore, decorators: [{
|
|
2795
2828
|
type: Injectable,
|
|
2796
2829
|
args: [{ providedIn: 'root' }]
|
|
2797
2830
|
}], ctorParameters: () => [] });
|
|
@@ -2853,13 +2886,13 @@ class WidgetAdminService extends BaseService {
|
|
|
2853
2886
|
return null;
|
|
2854
2887
|
}
|
|
2855
2888
|
}
|
|
2856
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2857
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
2889
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminService, deps: [{ token: i1$1.HttpClient }, { token: WidgetAdminStore }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2890
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminService, providedIn: 'root' });
|
|
2858
2891
|
}
|
|
2859
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2892
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminService, decorators: [{
|
|
2860
2893
|
type: Injectable,
|
|
2861
2894
|
args: [{ providedIn: 'root' }]
|
|
2862
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: WidgetAdminStore }, { type: AppConfigService }, { type: ListService }] });
|
|
2895
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: WidgetAdminStore }, { type: AppConfigService }, { type: ListService }] });
|
|
2863
2896
|
|
|
2864
2897
|
/**
|
|
2865
2898
|
* Widget Admin List Component
|
|
@@ -2877,10 +2910,10 @@ class WidgetAdminListComponent extends BaseListComponent {
|
|
|
2877
2910
|
ngOnInit() {
|
|
2878
2911
|
this.init();
|
|
2879
2912
|
}
|
|
2880
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2881
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
2913
|
+
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 });
|
|
2914
|
+
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"] }] });
|
|
2882
2915
|
}
|
|
2883
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2916
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminListComponent, decorators: [{
|
|
2884
2917
|
type: Component,
|
|
2885
2918
|
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}" }]
|
|
2886
2919
|
}], ctorParameters: () => [{ type: WidgetAdminService }, { type: TableBuilder }] });
|
|
@@ -2921,10 +2954,10 @@ class WidgetAdminQuery extends BaseQuery {
|
|
|
2921
2954
|
super(store);
|
|
2922
2955
|
this.store = store;
|
|
2923
2956
|
}
|
|
2924
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
2925
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
2957
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminQuery, deps: [{ token: WidgetAdminStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2958
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminQuery, providedIn: 'root' });
|
|
2926
2959
|
}
|
|
2927
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
2960
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminQuery, decorators: [{
|
|
2928
2961
|
type: Injectable,
|
|
2929
2962
|
args: [{ providedIn: 'root' }]
|
|
2930
2963
|
}], ctorParameters: () => [{ type: WidgetAdminStore }] });
|
|
@@ -3046,10 +3079,10 @@ class WidgetAdminFormComponent extends BaseFormComponent {
|
|
|
3046
3079
|
this.record = {};
|
|
3047
3080
|
super.ngOnDestroy();
|
|
3048
3081
|
}
|
|
3049
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3050
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", 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)=\"handleAPIChange($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-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\r\n </div>\r\n </div>\r\n\r\n <!-- Widget Items -->\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)=\"handleDeleteRecord(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: i5.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: 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"] }] });
|
|
3082
|
+
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 });
|
|
3083
|
+
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)=\"handleAPIChange($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-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\r\n </div>\r\n </div>\r\n\r\n <!-- Widget Items -->\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)=\"handleDeleteRecord(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: "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"] }] });
|
|
3051
3084
|
}
|
|
3052
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3085
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetAdminFormComponent, decorators: [{
|
|
3053
3086
|
type: Component,
|
|
3054
3087
|
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)=\"handleAPIChange($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-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\r\n </div>\r\n </div>\r\n\r\n <!-- Widget Items -->\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)=\"handleDeleteRecord(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"] }]
|
|
3055
3088
|
}], ctorParameters: () => [{ type: WidgetAdminService }, { type: ValidatorService }, { type: WidgetAdminStore }, { type: WidgetAdminQuery }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: BaseStore }, { type: BaseQuery }] });
|
|
@@ -3058,8 +3091,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
3058
3091
|
* Module for managing widgets.
|
|
3059
3092
|
*/
|
|
3060
3093
|
class QWWidgetAdminModule {
|
|
3061
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3062
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
3094
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QWWidgetAdminModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3095
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: QWWidgetAdminModule, declarations: [WidgetAdminListComponent, WidgetAdminFormComponent], imports: [CommonModule,
|
|
3063
3096
|
FormsModule,
|
|
3064
3097
|
SharedModule,
|
|
3065
3098
|
TablePrimaryComponent,
|
|
@@ -3068,7 +3101,7 @@ class QWWidgetAdminModule {
|
|
|
3068
3101
|
ButtonComponent,
|
|
3069
3102
|
ButtonModule,
|
|
3070
3103
|
TextBoxComponent], exports: [WidgetAdminListComponent, WidgetAdminFormComponent] });
|
|
3071
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
3104
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QWWidgetAdminModule, imports: [CommonModule,
|
|
3072
3105
|
FormsModule,
|
|
3073
3106
|
SharedModule,
|
|
3074
3107
|
TablePrimaryComponent,
|
|
@@ -3078,7 +3111,7 @@ class QWWidgetAdminModule {
|
|
|
3078
3111
|
ButtonModule,
|
|
3079
3112
|
TextBoxComponent] });
|
|
3080
3113
|
}
|
|
3081
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QWWidgetAdminModule, decorators: [{
|
|
3082
3115
|
type: NgModule,
|
|
3083
3116
|
args: [{
|
|
3084
3117
|
declarations: [WidgetAdminListComponent, WidgetAdminFormComponent],
|
|
@@ -3115,13 +3148,13 @@ let QueueStore$1 = class QueueStore extends BaseStore {
|
|
|
3115
3148
|
constructor() {
|
|
3116
3149
|
super();
|
|
3117
3150
|
}
|
|
3118
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3119
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
3151
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3152
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueStore, providedIn: "root" });
|
|
3120
3153
|
};
|
|
3121
3154
|
QueueStore$1 = __decorate([
|
|
3122
3155
|
StoreConfig({ name: "queues" })
|
|
3123
3156
|
], QueueStore$1);
|
|
3124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueStore$1, decorators: [{
|
|
3125
3158
|
type: Injectable,
|
|
3126
3159
|
args: [{ providedIn: "root" }]
|
|
3127
3160
|
}], ctorParameters: () => [] });
|
|
@@ -3132,10 +3165,10 @@ class QueueQuery extends BaseQuery {
|
|
|
3132
3165
|
super(store);
|
|
3133
3166
|
this.store = store;
|
|
3134
3167
|
}
|
|
3135
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3136
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
3168
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueQuery, deps: [{ token: QueueStore$1 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3169
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueQuery, providedIn: "root" });
|
|
3137
3170
|
}
|
|
3138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueQuery, decorators: [{
|
|
3139
3172
|
type: Injectable,
|
|
3140
3173
|
args: [{ providedIn: "root" }]
|
|
3141
3174
|
}], ctorParameters: () => [{ type: QueueStore$1 }] });
|
|
@@ -3158,13 +3191,13 @@ let QueueService$1 = class QueueService extends BaseService {
|
|
|
3158
3191
|
.get(url)
|
|
3159
3192
|
.pipe(tap$1((entities) => this.queueStore.set(entities)));
|
|
3160
3193
|
}
|
|
3161
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3162
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
3194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueService, deps: [{ token: QueueStore$1 }, { token: i1$1.HttpClient }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3195
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueService, providedIn: "root" });
|
|
3163
3196
|
};
|
|
3164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueService$1, decorators: [{
|
|
3165
3198
|
type: Injectable,
|
|
3166
3199
|
args: [{ providedIn: "root" }]
|
|
3167
|
-
}], ctorParameters: () => [{ type: QueueStore$1 }, { type: i1.HttpClient }, { type: AppConfigService }, { type: ListService }] });
|
|
3200
|
+
}], ctorParameters: () => [{ type: QueueStore$1 }, { type: i1$1.HttpClient }, { type: AppConfigService }, { type: ListService }] });
|
|
3168
3201
|
|
|
3169
3202
|
class QueueAdminFormComponent extends BaseFormComponent {
|
|
3170
3203
|
queueQuery;
|
|
@@ -3321,10 +3354,10 @@ class QueueAdminFormComponent extends BaseFormComponent {
|
|
|
3321
3354
|
this.record = {};
|
|
3322
3355
|
super.ngOnDestroy();
|
|
3323
3356
|
}
|
|
3324
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3325
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
3357
|
+
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$1 }, { token: ValidatorService }, { token: i3$4.Router }, { token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
|
|
3358
|
+
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 });
|
|
3326
3359
|
}
|
|
3327
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3360
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminFormComponent, decorators: [{
|
|
3328
3361
|
type: Component,
|
|
3329
3362
|
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"] }]
|
|
3330
3363
|
}], ctorParameters: () => [{ type: QueueQuery }, { type: QueueService$1 }, { type: i3$4.ActivatedRoute }, { type: QueueStore$1 }, { type: ValidatorService }, { type: i3$4.Router }, { type: BaseStore }, { type: BaseQuery }] });
|
|
@@ -3337,11 +3370,11 @@ const routes$1 = [
|
|
|
3337
3370
|
},
|
|
3338
3371
|
];
|
|
3339
3372
|
let QueueRoutingModule$1 = class QueueRoutingModule {
|
|
3340
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3341
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
3342
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
3373
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3374
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: QueueRoutingModule, imports: [i3$4.RouterModule], exports: [RouterModule] });
|
|
3375
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRoutingModule, imports: [RouterModule.forChild(routes$1), RouterModule] });
|
|
3343
3376
|
};
|
|
3344
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3377
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRoutingModule$1, decorators: [{
|
|
3345
3378
|
type: NgModule,
|
|
3346
3379
|
args: [{
|
|
3347
3380
|
imports: [RouterModule.forChild(routes$1)],
|
|
@@ -3380,10 +3413,10 @@ class DataTransformerService {
|
|
|
3380
3413
|
transformLabel(key) {
|
|
3381
3414
|
return key.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase());
|
|
3382
3415
|
}
|
|
3383
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3384
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
3416
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DataTransformerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3417
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DataTransformerService, providedIn: 'root' });
|
|
3385
3418
|
}
|
|
3386
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3419
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DataTransformerService, decorators: [{
|
|
3387
3420
|
type: Injectable,
|
|
3388
3421
|
args: [{
|
|
3389
3422
|
providedIn: 'root'
|
|
@@ -3460,10 +3493,10 @@ class QueueApplicationListComponent {
|
|
|
3460
3493
|
onStatusChange(selectedStatus) {
|
|
3461
3494
|
this.selectedStatus = selectedStatus.target.value;
|
|
3462
3495
|
}
|
|
3463
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3464
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
3496
|
+
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$1 }], target: i0.ɵɵFactoryTarget.Component });
|
|
3497
|
+
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" }] });
|
|
3465
3498
|
}
|
|
3466
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3499
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueApplicationListComponent, decorators: [{
|
|
3467
3500
|
type: Component,
|
|
3468
3501
|
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"] }]
|
|
3469
3502
|
}], ctorParameters: () => [{ type: QueueService$1 }, { type: DataTransformerService }, { type: i3$4.Router }, { type: QueueStore$1 }], propDecorators: { queueData: [{
|
|
@@ -3505,24 +3538,24 @@ class QueueAdminListComponent extends BaseContainerComponent {
|
|
|
3505
3538
|
console.warn(ERROR.NO_QUEUE_FOUND_WITH_ID);
|
|
3506
3539
|
}
|
|
3507
3540
|
}
|
|
3508
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3509
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
3541
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminListComponent, deps: [{ token: QueueStore$1 }, { token: QueueService$1 }], target: i0.ɵɵFactoryTarget.Component });
|
|
3542
|
+
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)=\"handleQueueId($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"] }] });
|
|
3510
3543
|
}
|
|
3511
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3544
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminListComponent, decorators: [{
|
|
3512
3545
|
type: Component,
|
|
3513
3546
|
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)=\"handleQueueId($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"] }]
|
|
3514
3547
|
}], ctorParameters: () => [{ type: QueueStore$1 }, { type: QueueService$1 }] });
|
|
3515
3548
|
|
|
3516
3549
|
class QueueAdminModule {
|
|
3517
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3518
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
3550
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3551
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminModule, declarations: [QueueAdminFormComponent, QueueAdminListComponent, QueueApplicationListComponent], imports: [CommonModule,
|
|
3519
3552
|
SharedModule,
|
|
3520
3553
|
QueueRoutingModule$1,
|
|
3521
3554
|
FormsModule,
|
|
3522
3555
|
QueryBuilderModule,
|
|
3523
3556
|
ButtonModule,
|
|
3524
3557
|
CheckBoxComponent], exports: [QueueAdminFormComponent, QueueAdminListComponent, QueueApplicationListComponent] });
|
|
3525
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
3558
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminModule, imports: [CommonModule,
|
|
3526
3559
|
SharedModule,
|
|
3527
3560
|
QueueRoutingModule$1,
|
|
3528
3561
|
FormsModule,
|
|
@@ -3530,7 +3563,7 @@ class QueueAdminModule {
|
|
|
3530
3563
|
ButtonModule,
|
|
3531
3564
|
CheckBoxComponent] });
|
|
3532
3565
|
}
|
|
3533
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3566
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueAdminModule, decorators: [{
|
|
3534
3567
|
type: NgModule,
|
|
3535
3568
|
args: [{
|
|
3536
3569
|
declarations: [QueueAdminFormComponent, QueueAdminListComponent, QueueApplicationListComponent],
|
|
@@ -3551,13 +3584,13 @@ let AdminActionStore = class AdminActionStore extends BaseStore {
|
|
|
3551
3584
|
constructor() {
|
|
3552
3585
|
super();
|
|
3553
3586
|
}
|
|
3554
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3555
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
3587
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3588
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionStore, providedIn: 'root' });
|
|
3556
3589
|
};
|
|
3557
3590
|
AdminActionStore = __decorate([
|
|
3558
3591
|
StoreConfig({ name: 'action' })
|
|
3559
3592
|
], AdminActionStore);
|
|
3560
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3593
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionStore, decorators: [{
|
|
3561
3594
|
type: Injectable,
|
|
3562
3595
|
args: [{ providedIn: 'root' }]
|
|
3563
3596
|
}], ctorParameters: () => [] });
|
|
@@ -3574,13 +3607,13 @@ class AdminActionService extends BaseService {
|
|
|
3574
3607
|
const apiUrl = `${this.apiUrl}${name}/${encodeURIComponent(id)}`;
|
|
3575
3608
|
return this.http.post(`${apiUrl}`, record).pipe(tap$1((entities) => this.actionStore.set(entities)));
|
|
3576
3609
|
}
|
|
3577
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3578
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
3610
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionService, deps: [{ token: AdminActionStore }, { token: i1$1.HttpClient }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3611
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionService, providedIn: 'root' });
|
|
3579
3612
|
}
|
|
3580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3613
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionService, decorators: [{
|
|
3581
3614
|
type: Injectable,
|
|
3582
3615
|
args: [{ providedIn: 'root' }]
|
|
3583
|
-
}], ctorParameters: () => [{ type: AdminActionStore }, { type: i1.HttpClient }, { type: AppConfigService }, { type: ListService }] });
|
|
3616
|
+
}], ctorParameters: () => [{ type: AdminActionStore }, { type: i1$1.HttpClient }, { type: AppConfigService }, { type: ListService }] });
|
|
3584
3617
|
|
|
3585
3618
|
/**
|
|
3586
3619
|
* Admin Action List Component
|
|
@@ -3598,10 +3631,10 @@ class AdminActionListComponent extends BaseListComponent {
|
|
|
3598
3631
|
ngOnInit() {
|
|
3599
3632
|
this.init(actionTableColumnWidthList);
|
|
3600
3633
|
}
|
|
3601
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3602
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
3634
|
+
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 });
|
|
3635
|
+
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"] }] });
|
|
3603
3636
|
}
|
|
3604
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3637
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionListComponent, decorators: [{
|
|
3605
3638
|
type: Component,
|
|
3606
3639
|
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>" }]
|
|
3607
3640
|
}], ctorParameters: () => [{ type: AdminActionService }, { type: TableBuilder }] });
|
|
@@ -3689,24 +3722,24 @@ class AdminActionFormComponent extends BaseFormComponent {
|
|
|
3689
3722
|
this.record = {};
|
|
3690
3723
|
super.ngOnDestroy();
|
|
3691
3724
|
}
|
|
3692
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3693
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
3725
|
+
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 });
|
|
3726
|
+
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" }] });
|
|
3694
3727
|
}
|
|
3695
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3728
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AdminActionFormComponent, decorators: [{
|
|
3696
3729
|
type: Component,
|
|
3697
3730
|
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"] }]
|
|
3698
3731
|
}], ctorParameters: () => [{ type: AdminActionService }, { type: ValidatorService }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: AdminActionStore }, { type: AppConfigService }, { type: BaseStore }, { type: BaseQuery }] });
|
|
3699
3732
|
|
|
3700
3733
|
class ActionAdminModule {
|
|
3701
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3702
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
3734
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ActionAdminModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3735
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: ActionAdminModule, declarations: [AdminActionListComponent, AdminActionFormComponent], imports: [CommonModule,
|
|
3703
3736
|
FormsModule,
|
|
3704
3737
|
SharedModule,
|
|
3705
3738
|
TablePrimaryComponent,
|
|
3706
3739
|
TextAreaComponent,
|
|
3707
3740
|
ButtonModule,
|
|
3708
3741
|
CheckBoxComponent], exports: [AdminActionListComponent, AdminActionFormComponent] });
|
|
3709
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
3742
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ActionAdminModule, imports: [CommonModule,
|
|
3710
3743
|
FormsModule,
|
|
3711
3744
|
SharedModule,
|
|
3712
3745
|
TablePrimaryComponent,
|
|
@@ -3714,7 +3747,7 @@ class ActionAdminModule {
|
|
|
3714
3747
|
ButtonModule,
|
|
3715
3748
|
CheckBoxComponent] });
|
|
3716
3749
|
}
|
|
3717
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3750
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ActionAdminModule, decorators: [{
|
|
3718
3751
|
type: NgModule,
|
|
3719
3752
|
args: [{
|
|
3720
3753
|
declarations: [AdminActionListComponent, AdminActionFormComponent],
|
|
@@ -3756,13 +3789,13 @@ let DictionaryStore = class DictionaryStore extends BaseStore {
|
|
|
3756
3789
|
setSidebarVisible(value) {
|
|
3757
3790
|
this.update({ isSideBarVisible: value });
|
|
3758
3791
|
}
|
|
3759
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3760
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
3792
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DictionaryStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
3793
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DictionaryStore, providedIn: 'root' });
|
|
3761
3794
|
};
|
|
3762
3795
|
DictionaryStore = __decorate([
|
|
3763
3796
|
StoreConfig({ name: 'dictionary' })
|
|
3764
3797
|
], DictionaryStore);
|
|
3765
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3798
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DictionaryStore, decorators: [{
|
|
3766
3799
|
type: Injectable,
|
|
3767
3800
|
args: [{ providedIn: 'root' }]
|
|
3768
3801
|
}] });
|
|
@@ -3785,13 +3818,13 @@ class DictionaryService extends BaseService {
|
|
|
3785
3818
|
return of({ error: true, message: ERROR.ERROR_DELETE_DICTIONARY_ITEM });
|
|
3786
3819
|
}));
|
|
3787
3820
|
}
|
|
3788
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3789
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
3821
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DictionaryService, deps: [{ token: DictionaryStore }, { token: i1$1.HttpClient }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3822
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DictionaryService, providedIn: 'root' });
|
|
3790
3823
|
}
|
|
3791
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3824
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DictionaryService, decorators: [{
|
|
3792
3825
|
type: Injectable,
|
|
3793
3826
|
args: [{ providedIn: 'root' }]
|
|
3794
|
-
}], ctorParameters: () => [{ type: DictionaryStore }, { type: i1.HttpClient }, { type: AppConfigService }, { type: ListService }] });
|
|
3827
|
+
}], ctorParameters: () => [{ type: DictionaryStore }, { type: i1$1.HttpClient }, { type: AppConfigService }, { type: ListService }] });
|
|
3795
3828
|
|
|
3796
3829
|
/**
|
|
3797
3830
|
* DictionaryQuery
|
|
@@ -3815,10 +3848,10 @@ class DictionaryQuery extends BaseQuery {
|
|
|
3815
3848
|
getSidebarVisible() {
|
|
3816
3849
|
return this.getValue()['isSideBarVisible'];
|
|
3817
3850
|
}
|
|
3818
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3819
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
3851
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DictionaryQuery, deps: [{ token: DictionaryStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3852
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DictionaryQuery, providedIn: 'root' });
|
|
3820
3853
|
}
|
|
3821
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3854
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DictionaryQuery, decorators: [{
|
|
3822
3855
|
type: Injectable,
|
|
3823
3856
|
args: [{ providedIn: 'root' }]
|
|
3824
3857
|
}], ctorParameters: () => [{ type: DictionaryStore }] });
|
|
@@ -3908,10 +3941,10 @@ class DdAdminItemFormComponent {
|
|
|
3908
3941
|
this.propertyOptions = [];
|
|
3909
3942
|
this.attributeRecord = new DdAttributeSidebarViewModel();
|
|
3910
3943
|
}
|
|
3911
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
3912
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
3944
|
+
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 });
|
|
3945
|
+
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"] }] });
|
|
3913
3946
|
}
|
|
3914
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
3947
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminItemFormComponent, decorators: [{
|
|
3915
3948
|
type: Component,
|
|
3916
3949
|
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>" }]
|
|
3917
3950
|
}], ctorParameters: () => [{ type: DictionaryStore }, { type: DictionaryQuery }, { type: BaseStore }], propDecorators: { ddItemRecord: [{
|
|
@@ -4020,10 +4053,10 @@ class DdAdminFormComponent extends BaseFormComponent {
|
|
|
4020
4053
|
this.record = {};
|
|
4021
4054
|
super.ngOnDestroy();
|
|
4022
4055
|
}
|
|
4023
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4024
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
4056
|
+
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 });
|
|
4057
|
+
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"] }] });
|
|
4025
4058
|
}
|
|
4026
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4059
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminFormComponent, decorators: [{
|
|
4027
4060
|
type: Component,
|
|
4028
4061
|
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"] }]
|
|
4029
4062
|
}], ctorParameters: () => [{ type: DictionaryService }, { type: DictionaryQuery }, { type: ValidatorService }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: DictionaryStore }, { type: BaseStore }, { type: BaseQuery }] });
|
|
@@ -4041,17 +4074,17 @@ class DdAdminListComponent extends BaseListComponent {
|
|
|
4041
4074
|
ngOnInit() {
|
|
4042
4075
|
this.init();
|
|
4043
4076
|
}
|
|
4044
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4045
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
4077
|
+
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 });
|
|
4078
|
+
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"] }] });
|
|
4046
4079
|
}
|
|
4047
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4080
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminListComponent, decorators: [{
|
|
4048
4081
|
type: Component,
|
|
4049
4082
|
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>" }]
|
|
4050
4083
|
}], ctorParameters: () => [{ type: DictionaryService }, { type: TableBuilder }] });
|
|
4051
4084
|
|
|
4052
4085
|
class DdAdminModule {
|
|
4053
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4054
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
4086
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4087
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: DdAdminModule, declarations: [DdAdminFormComponent, DdAdminListComponent, DdAdminItemFormComponent], imports: [CommonModule,
|
|
4055
4088
|
SharedModule,
|
|
4056
4089
|
DropdownModule,
|
|
4057
4090
|
ButtonComponent,
|
|
@@ -4063,7 +4096,7 @@ class DdAdminModule {
|
|
|
4063
4096
|
ButtonModule,
|
|
4064
4097
|
TextAreaComponent,
|
|
4065
4098
|
FormContainerComponent], exports: [DdAdminFormComponent, DdAdminListComponent] });
|
|
4066
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
4099
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminModule, imports: [CommonModule,
|
|
4067
4100
|
SharedModule,
|
|
4068
4101
|
DropdownModule,
|
|
4069
4102
|
ButtonComponent,
|
|
@@ -4076,7 +4109,7 @@ class DdAdminModule {
|
|
|
4076
4109
|
TextAreaComponent,
|
|
4077
4110
|
FormContainerComponent] });
|
|
4078
4111
|
}
|
|
4079
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DdAdminModule, decorators: [{
|
|
4080
4113
|
type: NgModule,
|
|
4081
4114
|
args: [{
|
|
4082
4115
|
declarations: [DdAdminFormComponent, DdAdminListComponent, DdAdminItemFormComponent],
|
|
@@ -4116,13 +4149,13 @@ let TemplateAdminStore = class TemplateAdminStore extends BaseStore {
|
|
|
4116
4149
|
constructor() {
|
|
4117
4150
|
super();
|
|
4118
4151
|
}
|
|
4119
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4120
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
4152
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4153
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminStore, providedIn: 'root' });
|
|
4121
4154
|
};
|
|
4122
4155
|
TemplateAdminStore = __decorate([
|
|
4123
4156
|
StoreConfig({ name: 'templateStore' })
|
|
4124
4157
|
], TemplateAdminStore);
|
|
4125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminStore, decorators: [{
|
|
4126
4159
|
type: Injectable,
|
|
4127
4160
|
args: [{ providedIn: 'root' }]
|
|
4128
4161
|
}], ctorParameters: () => [] });
|
|
@@ -4159,13 +4192,13 @@ class TemplateAdminService extends BaseService {
|
|
|
4159
4192
|
listLabelProperty: "key",
|
|
4160
4193
|
}
|
|
4161
4194
|
];
|
|
4162
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4163
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
4195
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminService, deps: [{ token: i1$1.HttpClient }, { token: TemplateAdminStore }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4196
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminService, providedIn: 'root' });
|
|
4164
4197
|
}
|
|
4165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminService, decorators: [{
|
|
4166
4199
|
type: Injectable,
|
|
4167
4200
|
args: [{ providedIn: 'root' }]
|
|
4168
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: TemplateAdminStore }, { type: AppConfigService }, { type: ListService }] });
|
|
4201
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: TemplateAdminStore }, { type: AppConfigService }, { type: ListService }] });
|
|
4169
4202
|
|
|
4170
4203
|
/**
|
|
4171
4204
|
* Template Admin Query
|
|
@@ -4176,10 +4209,10 @@ class TemplateAdminQuery extends BaseQuery {
|
|
|
4176
4209
|
super(store);
|
|
4177
4210
|
this.store = store;
|
|
4178
4211
|
}
|
|
4179
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4180
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
4212
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminQuery, deps: [{ token: TemplateAdminStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4213
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminQuery, providedIn: 'root' });
|
|
4181
4214
|
}
|
|
4182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4215
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminQuery, decorators: [{
|
|
4183
4216
|
type: Injectable,
|
|
4184
4217
|
args: [{ providedIn: 'root' }]
|
|
4185
4218
|
}], ctorParameters: () => [{ type: TemplateAdminStore }] });
|
|
@@ -4250,10 +4283,10 @@ class TemplateAdminFormComponent extends BaseFormComponent {
|
|
|
4250
4283
|
this.record = {};
|
|
4251
4284
|
super.ngOnDestroy();
|
|
4252
4285
|
}
|
|
4253
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4254
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
4286
|
+
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 });
|
|
4287
|
+
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" }] });
|
|
4255
4288
|
}
|
|
4256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4289
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminFormComponent, decorators: [{
|
|
4257
4290
|
type: Component,
|
|
4258
4291
|
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"] }]
|
|
4259
4292
|
}], ctorParameters: () => [{ type: TemplateAdminService }, { type: ValidatorService }, { type: i3$4.Router }, { type: i3$4.ActivatedRoute }, { type: TemplateAdminQuery }, { type: TemplateAdminStore }, { type: BaseStore }, { type: BaseQuery }] });
|
|
@@ -4280,17 +4313,17 @@ class TemplateAdminListComponent extends BaseListComponent {
|
|
|
4280
4313
|
this.selectedType = TemplateTabType[this.activeTabIndex] ?? SHARED.EMPTY;
|
|
4281
4314
|
this.baseStore.setSelectedTemplate(this.activeTabIndex === 0 ? SHARED.EMPTY : this.selectedType);
|
|
4282
4315
|
}
|
|
4283
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4284
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
4316
|
+
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 });
|
|
4317
|
+
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"] }] });
|
|
4285
4318
|
}
|
|
4286
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4319
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminListComponent, decorators: [{
|
|
4287
4320
|
type: Component,
|
|
4288
4321
|
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"] }]
|
|
4289
4322
|
}], ctorParameters: () => [{ type: TemplateAdminService }, { type: TableBuilder }, { type: BaseStore }] });
|
|
4290
4323
|
|
|
4291
4324
|
class TemplateAdminModule {
|
|
4292
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4293
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
4325
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4326
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminModule, declarations: [TemplateAdminFormComponent,
|
|
4294
4327
|
TemplateAdminListComponent], imports: [CommonModule,
|
|
4295
4328
|
TablePrimaryComponent,
|
|
4296
4329
|
TextBoxComponent,
|
|
@@ -4298,8 +4331,8 @@ class TemplateAdminModule {
|
|
|
4298
4331
|
SharedModule,
|
|
4299
4332
|
FormsModule,
|
|
4300
4333
|
TabViewModule,
|
|
4301
|
-
CheckBoxComponent, i1$
|
|
4302
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
4334
|
+
CheckBoxComponent, i1$2.QuillModule, i1$2.QuillConfigModule], exports: [TemplateAdminFormComponent, TemplateAdminListComponent] });
|
|
4335
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminModule, imports: [CommonModule,
|
|
4303
4336
|
TablePrimaryComponent,
|
|
4304
4337
|
TextBoxComponent,
|
|
4305
4338
|
DropdownComponent,
|
|
@@ -4317,7 +4350,7 @@ class TemplateAdminModule {
|
|
|
4317
4350
|
}
|
|
4318
4351
|
})] });
|
|
4319
4352
|
}
|
|
4320
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TemplateAdminModule, decorators: [{
|
|
4321
4354
|
type: NgModule,
|
|
4322
4355
|
args: [{
|
|
4323
4356
|
declarations: [
|
|
@@ -4390,13 +4423,13 @@ let WidgetStore = class WidgetStore extends BaseStore {
|
|
|
4390
4423
|
setWidgetData(value) {
|
|
4391
4424
|
this.getWidgetData$.next(value);
|
|
4392
4425
|
}
|
|
4393
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4394
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
4426
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4427
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetStore, providedIn: 'root' });
|
|
4395
4428
|
};
|
|
4396
4429
|
WidgetStore = __decorate([
|
|
4397
4430
|
StoreConfig({ name: 'widgetStore' })
|
|
4398
4431
|
], WidgetStore);
|
|
4399
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4432
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetStore, decorators: [{
|
|
4400
4433
|
type: Injectable,
|
|
4401
4434
|
args: [{ providedIn: 'root' }]
|
|
4402
4435
|
}], ctorParameters: () => [] });
|
|
@@ -4425,13 +4458,13 @@ class WidgetService extends BaseService {
|
|
|
4425
4458
|
const url = `${this.apiUrl}${ROUTES.EVALUATE_BY_WIDGETNAME}${SHARED.QUESTION_MARK}${SHARED.RECORDID}${SHARED.EQUALS}${recordId}${SHARED.AMPERSAND}${SHARED.WIDGET_NAME}${SHARED.EQUALS}${widgetName}`;
|
|
4426
4459
|
return this.http.get(url).pipe(tap$1((entities) => this.widgetStore.set(entities)));
|
|
4427
4460
|
}
|
|
4428
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4429
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
4461
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetService, deps: [{ token: i1$1.HttpClient }, { token: WidgetStore }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4462
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetService, providedIn: 'root' });
|
|
4430
4463
|
}
|
|
4431
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4464
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetService, decorators: [{
|
|
4432
4465
|
type: Injectable,
|
|
4433
4466
|
args: [{ providedIn: 'root' }]
|
|
4434
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: WidgetStore }, { type: AppConfigService }, { type: ListService }] });
|
|
4467
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: WidgetStore }, { type: AppConfigService }, { type: ListService }] });
|
|
4435
4468
|
|
|
4436
4469
|
/**
|
|
4437
4470
|
* Widget Admin Query
|
|
@@ -4465,10 +4498,10 @@ class WidgetQuery extends BaseQuery {
|
|
|
4465
4498
|
getWidgetData() {
|
|
4466
4499
|
return this.widgetStore.getWidgetData$.asObservable();
|
|
4467
4500
|
}
|
|
4468
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4469
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
4501
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetQuery, deps: [{ token: WidgetStore }, { token: WidgetStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4502
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetQuery, providedIn: 'root' });
|
|
4470
4503
|
}
|
|
4471
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4504
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetQuery, decorators: [{
|
|
4472
4505
|
type: Injectable,
|
|
4473
4506
|
args: [{ providedIn: 'root' }]
|
|
4474
4507
|
}], ctorParameters: () => [{ type: WidgetStore }, { type: WidgetStore }] });
|
|
@@ -4521,10 +4554,10 @@ class StyleBuilderService {
|
|
|
4521
4554
|
return acc;
|
|
4522
4555
|
}, {});
|
|
4523
4556
|
}
|
|
4524
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4525
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
4557
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: StyleBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4558
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: StyleBuilderService, providedIn: 'root' });
|
|
4526
4559
|
}
|
|
4527
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4560
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: StyleBuilderService, decorators: [{
|
|
4528
4561
|
type: Injectable,
|
|
4529
4562
|
args: [{
|
|
4530
4563
|
providedIn: 'root'
|
|
@@ -4552,10 +4585,10 @@ class WidgetHeaderComponent {
|
|
|
4552
4585
|
this.headerIconClass = this.widget.style.headerIconClass;
|
|
4553
4586
|
}
|
|
4554
4587
|
}
|
|
4555
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4556
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
4588
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetHeaderComponent, deps: [{ token: StyleBuilderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4589
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetHeaderComponent, isStandalone: false, selector: "lib-widget-header", inputs: { widget: "widget" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"widget.header || widget.subHeader\" class=\"grid m-0 align-items-center justify-content-between px-3\">\r\n <div class=\"col-12 p-0\">\r\n <div class=\"flex align-items-center\">\r\n <i classs=\"headerIconClass\" [ngStyle]=\"headerIconStyle\"></i>\r\n <h3 [ngStyle]=\"headerStyle\" class=\"mb-0 application-title-wrapper font-bold\">\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 [ngStyle]=\"subHeaderStyle\" class=\"mr-3 font-semibold\">{{ widget.subHeader }}</span>\r\n </div>\r\n </div>\r\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}.application-title-wrapper{font-size:18px;font-weight:700}.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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
4557
4590
|
}
|
|
4558
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4591
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetHeaderComponent, decorators: [{
|
|
4559
4592
|
type: Component,
|
|
4560
4593
|
args: [{ selector: 'lib-widget-header', standalone: false, template: "<div *ngIf=\"widget.header || widget.subHeader\" class=\"grid m-0 align-items-center justify-content-between px-3\">\r\n <div class=\"col-12 p-0\">\r\n <div class=\"flex align-items-center\">\r\n <i classs=\"headerIconClass\" [ngStyle]=\"headerIconStyle\"></i>\r\n <h3 [ngStyle]=\"headerStyle\" class=\"mb-0 application-title-wrapper font-bold\">\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 [ngStyle]=\"subHeaderStyle\" class=\"mr-3 font-semibold\">{{ widget.subHeader }}</span>\r\n </div>\r\n </div>\r\n</div>", styles: ["::ng-deep .badge-wrapper .p-button{padding:4px 8px}.application-title-wrapper{font-size:18px;font-weight:700}.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"] }]
|
|
4561
4594
|
}], ctorParameters: () => [{ type: StyleBuilderService }], propDecorators: { widget: [{
|
|
@@ -4577,10 +4610,10 @@ class WidgetFooterComponent {
|
|
|
4577
4610
|
this.widgetStore.setOnViewAllDetails(this.widget);
|
|
4578
4611
|
}
|
|
4579
4612
|
}
|
|
4580
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4581
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
4613
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetFooterComponent, deps: [{ token: WidgetStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
4614
|
+
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"] }] });
|
|
4582
4615
|
}
|
|
4583
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4616
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetFooterComponent, decorators: [{
|
|
4584
4617
|
type: Component,
|
|
4585
4618
|
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>" }]
|
|
4586
4619
|
}], ctorParameters: () => [{ type: WidgetStore }], propDecorators: { widget: [{
|
|
@@ -4690,10 +4723,10 @@ class WidgetItemComponent {
|
|
|
4690
4723
|
this.widgetStore.setWidgetData(this.widget);
|
|
4691
4724
|
this.widgetStore.setOnWidgetItemClick(updatedItem);
|
|
4692
4725
|
}
|
|
4693
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4694
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
4726
|
+
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 });
|
|
4727
|
+
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 overflow-hidden\" [class.border-bottom]=\"hasSeparator\">\r\n <div class=\"widget-content\"\r\n [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\" [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\" [ngStyle]=\"fieldKeyStyle\" class=\"mb-0 mr-3 key-field-wrapper\">{{ widgetKey }}</p>\r\n <p *ngIf=\"isMenu\" [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=\"check-icon-container flex justify-content-end\" *ngIf=\"isConfirmed\">\r\n <i class=\"pi pi-check check-icon-wrapper\"></i>\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 <p class=\"key-field-wrapper\">\r\n <ng-container *ngIf=\"widgetItem.isEvent; else notEvent\">\r\n <a\r\n class=\"cursor-pointer\"\r\n [ngStyle]=\"mergedValueStyle\"\r\n (click)=\"handleDynamicEvent(widget.recordId)\"\r\n >\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\r\n class=\"cursor-pointer\"\r\n [ngStyle]=\"mergedValueStyle\"\r\n (click)=\"handleWidgetItemClick(widgetItem)\"\r\n >\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) {\r\n <div [innerHTML]=\"widgetItem.value !== 'null' ? widgetItem.value : ''\"></div>\r\n }\r\n @else {\r\n <span [ngStyle]=\"fieldValueStyle\">\r\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\r\n </span>\r\n }\r\n\r\n </ng-template>\r\n </p>\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{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;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-bottom{border-bottom:1px solid rgba(76,98,146,.1)}.check-icon-wrapper{border-radius:50%;background:#22c55e;color:#fff;padding:4px}.key-title-wrapper{width:100%}.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}@media screen and (min-width: 1200px) and (max-width: 1800px){.key-title-wrapper{width:66.6667%!important}.check-icon-container{width:33.3333%!important;margin-right:4px}}\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"] }] });
|
|
4695
4728
|
}
|
|
4696
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4729
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetItemComponent, decorators: [{
|
|
4697
4730
|
type: Component,
|
|
4698
4731
|
args: [{ selector: 'lib-widget-item', standalone: false, template: "<div class=\"widget-container overflow-hidden\" [class.border-bottom]=\"hasSeparator\">\r\n <div class=\"widget-content\"\r\n [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\" [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\" [ngStyle]=\"fieldKeyStyle\" class=\"mb-0 mr-3 key-field-wrapper\">{{ widgetKey }}</p>\r\n <p *ngIf=\"isMenu\" [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=\"check-icon-container flex justify-content-end\" *ngIf=\"isConfirmed\">\r\n <i class=\"pi pi-check check-icon-wrapper\"></i>\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 <p class=\"key-field-wrapper\">\r\n <ng-container *ngIf=\"widgetItem.isEvent; else notEvent\">\r\n <a\r\n class=\"cursor-pointer\"\r\n [ngStyle]=\"mergedValueStyle\"\r\n (click)=\"handleDynamicEvent(widget.recordId)\"\r\n >\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\r\n class=\"cursor-pointer\"\r\n [ngStyle]=\"mergedValueStyle\"\r\n (click)=\"handleWidgetItemClick(widgetItem)\"\r\n >\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) {\r\n <div [innerHTML]=\"widgetItem.value !== 'null' ? widgetItem.value : ''\"></div>\r\n }\r\n @else {\r\n <span [ngStyle]=\"fieldValueStyle\">\r\n {{ widgetItem.value !== 'null' ? widgetItem.value : '' }}\r\n </span>\r\n }\r\n\r\n </ng-template>\r\n </p>\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{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;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-bottom{border-bottom:1px solid rgba(76,98,146,.1)}.check-icon-wrapper{border-radius:50%;background:#22c55e;color:#fff;padding:4px}.key-title-wrapper{width:100%}.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}@media screen and (min-width: 1200px) and (max-width: 1800px){.key-title-wrapper{width:66.6667%!important}.check-icon-container{width:33.3333%!important;margin-right:4px}}\n"] }]
|
|
4699
4732
|
}], ctorParameters: () => [{ type: StyleBuilderService }, { type: WidgetStore }, { type: WidgetQuery }], propDecorators: { widgetItem: [{
|
|
@@ -4728,10 +4761,10 @@ class WidgetBodyComponent {
|
|
|
4728
4761
|
.map(item => item.style.isConfirmed === 'true' ? true : false) || [];
|
|
4729
4762
|
}
|
|
4730
4763
|
}
|
|
4731
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4732
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
4764
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetBodyComponent, deps: [{ token: StyleBuilderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4765
|
+
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 class=\"px-3 widget-wrapper\">\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-wrapper{padding:6px 0}.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"] }] });
|
|
4733
4766
|
}
|
|
4734
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4767
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetBodyComponent, decorators: [{
|
|
4735
4768
|
type: Component,
|
|
4736
4769
|
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 class=\"px-3 widget-wrapper\">\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-wrapper{padding:6px 0}.widget-confirm-wrapper{background-color:#e8fbee!important;border:1px solid #22C55E!important}.vulnerability-title-wrapper{background:#fb392d36}\n"] }]
|
|
4737
4770
|
}], ctorParameters: () => [{ type: StyleBuilderService }], propDecorators: { widget: [{
|
|
@@ -4758,10 +4791,10 @@ class WidgetMainComponent {
|
|
|
4758
4791
|
this.widgetCombinedStyle = { ...this.widgetStyle, ...this.styleExpression };
|
|
4759
4792
|
}
|
|
4760
4793
|
}
|
|
4761
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4762
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
4794
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMainComponent, deps: [{ token: StyleBuilderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4795
|
+
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" }, usesOnChanges: true, ngImport: i0, template: "<div [ngStyle]=\"widgetCombinedStyle\" class=\"widget-container-wrapper\" [ngClass]=\"index !== 0 ? 'mt-4' : ''\">\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 mt-3' : '', 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:transparent;border-radius:0;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%}.custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}.widget-menu-container{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.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"] }] });
|
|
4763
4796
|
}
|
|
4764
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4797
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMainComponent, decorators: [{
|
|
4765
4798
|
type: Component,
|
|
4766
4799
|
args: [{ selector: 'lib-widget-main', standalone: false, template: "<div [ngStyle]=\"widgetCombinedStyle\" class=\"widget-container-wrapper\" [ngClass]=\"index !== 0 ? 'mt-4' : ''\">\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 mt-3' : '', 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:transparent;border-radius:0;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%}.custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
|
|
4767
4800
|
}], ctorParameters: () => [{ type: StyleBuilderService }], propDecorators: { widget: [{
|
|
@@ -4789,10 +4822,10 @@ class CustomWidgetService {
|
|
|
4789
4822
|
getEventIndex(event, widgetData) {
|
|
4790
4823
|
return widgetData.statusList ? widgetData.statusList.indexOf(event) : -1;
|
|
4791
4824
|
}
|
|
4792
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4793
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
4825
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CustomWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4826
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CustomWidgetService, providedIn: 'root' });
|
|
4794
4827
|
}
|
|
4795
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4828
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CustomWidgetService, decorators: [{
|
|
4796
4829
|
type: Injectable,
|
|
4797
4830
|
args: [{
|
|
4798
4831
|
providedIn: 'root'
|
|
@@ -4814,10 +4847,10 @@ class CustomWidgetComponent {
|
|
|
4814
4847
|
getEventIndex(event) {
|
|
4815
4848
|
return this.widgetUtilService.getEventIndex(event, this.widgetData);
|
|
4816
4849
|
}
|
|
4817
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4818
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
4850
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CustomWidgetComponent, deps: [{ token: CustomWidgetService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4851
|
+
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"] }] });
|
|
4819
4852
|
}
|
|
4820
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4853
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: CustomWidgetComponent, decorators: [{
|
|
4821
4854
|
type: Component,
|
|
4822
4855
|
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"] }]
|
|
4823
4856
|
}], ctorParameters: () => [{ type: CustomWidgetService }], propDecorators: { widgetData: [{
|
|
@@ -4927,10 +4960,10 @@ class WidgetMenuComponent {
|
|
|
4927
4960
|
this.destroy$.next();
|
|
4928
4961
|
this.destroy$.complete();
|
|
4929
4962
|
}
|
|
4930
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4931
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
4963
|
+
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 });
|
|
4964
|
+
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:transparent;border-radius:0;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%}.custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}.widget-menu-container{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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: WidgetMainComponent, selector: "lib-widget-main", inputs: ["widget", "index"] }, { kind: "component", type: CustomWidgetComponent, selector: "lib-custom-widget", inputs: ["widgetData"] }] });
|
|
4932
4965
|
}
|
|
4933
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
4966
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuComponent, decorators: [{
|
|
4934
4967
|
type: Component,
|
|
4935
4968
|
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:transparent;border-radius:0;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%}.custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
|
|
4936
4969
|
}], ctorParameters: () => [{ type: WidgetService }, { type: i3$4.ActivatedRoute }, { type: WidgetQuery }, { type: WidgetStore }, { type: i0.ChangeDetectorRef }], propDecorators: { onViewAllDetails: [{
|
|
@@ -4984,10 +5017,10 @@ class WidgetRowTileComponent {
|
|
|
4984
5017
|
this.destroy$.next();
|
|
4985
5018
|
this.destroy$.complete();
|
|
4986
5019
|
}
|
|
4987
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
4988
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
5020
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetRowTileComponent, deps: [{ token: WidgetService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5021
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: WidgetRowTileComponent, isStandalone: false, selector: "lib-widget-row-tile", inputs: { recordId: "recordId", widgetName: "widgetName", onWidgetUpdate: "onWidgetUpdate" }, usesOnChanges: true, ngImport: i0, template: "<p-card class=\"widget-block-wrapper block\">\r\n <div class=\"widget-section-wrapper\">\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); 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>\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:transparent;border-radius:0;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%}.custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}.widget-menu-container{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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: WidgetMainComponent, selector: "lib-widget-main", inputs: ["widget", "index"] }] });
|
|
4989
5022
|
}
|
|
4990
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5023
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetRowTileComponent, decorators: [{
|
|
4991
5024
|
type: Component,
|
|
4992
5025
|
args: [{ selector: 'lib-widget-row-tile', standalone: false, template: "<p-card class=\"widget-block-wrapper block\">\r\n <div class=\"widget-section-wrapper\">\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); 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>\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:transparent;border-radius:0;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%}.custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
|
|
4993
5026
|
}], ctorParameters: () => [{ type: WidgetService }], propDecorators: { recordId: [{
|
|
@@ -5030,10 +5063,10 @@ class WidgetContainerComponent {
|
|
|
5030
5063
|
handleWidgetItemClick(event) {
|
|
5031
5064
|
this.onWidgetItemClick.emit(event);
|
|
5032
5065
|
}
|
|
5033
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
5034
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
5066
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetContainerComponent, deps: [{ token: WidgetStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
5067
|
+
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" }, outputs: { onViewAllDetails: "onViewAllDetails", onWidgetEventClick: "onWidgetEventClick", onWidgetItemClick: "onWidgetItemClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"widget-container-wrapper\">\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\">\r\n <lib-widget-row-tile\r\n [recordId]=\"recordId\"\r\n [widgetName]=\"widgetName\"\r\n [onWidgetUpdate]=\"onWidgetUpdate\"\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:transparent;border-radius:0;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%}.custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}.widget-menu-container{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: "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"] }] });
|
|
5035
5068
|
}
|
|
5036
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5069
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetContainerComponent, decorators: [{
|
|
5037
5070
|
type: Component,
|
|
5038
5071
|
args: [{ selector: 'lib-widget-container', standalone: false, template: "<div class=\"widget-container-wrapper\">\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\">\r\n <lib-widget-row-tile\r\n [recordId]=\"recordId\"\r\n [widgetName]=\"widgetName\"\r\n [onWidgetUpdate]=\"onWidgetUpdate\"\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:transparent;border-radius:0;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%}.custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}.widget-menu-container{border-radius:10px}:host ::-webkit-scrollbar{width:6px}:host ::-webkit-scrollbar-track{background:transparent}:host ::-webkit-scrollbar-thumb{background:#d1d5db94;border-radius:20px}\n"] }]
|
|
5039
5072
|
}], ctorParameters: () => [{ type: WidgetStore }], propDecorators: { isMenu: [{
|
|
@@ -5059,10 +5092,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
5059
5092
|
class WidgetMenuHeaderComponent {
|
|
5060
5093
|
widget;
|
|
5061
5094
|
progressChartData;
|
|
5062
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
5063
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
5095
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5096
|
+
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:700}.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$3.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }] });
|
|
5064
5097
|
}
|
|
5065
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5098
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuHeaderComponent, decorators: [{
|
|
5066
5099
|
type: Component,
|
|
5067
5100
|
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:700}.chart-container{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"] }]
|
|
5068
5101
|
}], propDecorators: { widget: [{
|
|
@@ -5127,10 +5160,10 @@ class WidgetMenuItemComponent {
|
|
|
5127
5160
|
this.widgetStore.setWidgetData(this.widget);
|
|
5128
5161
|
this.widgetStore.setOnWidgetItemClick(updatedItem);
|
|
5129
5162
|
}
|
|
5130
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
5131
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
5163
|
+
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 });
|
|
5164
|
+
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"] }] });
|
|
5132
5165
|
}
|
|
5133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuItemComponent, decorators: [{
|
|
5134
5167
|
type: Component,
|
|
5135
5168
|
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"] }]
|
|
5136
5169
|
}], ctorParameters: () => [{ type: StyleBuilderService }, { type: WidgetStore }], propDecorators: { widgetItem: [{
|
|
@@ -5143,10 +5176,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
5143
5176
|
|
|
5144
5177
|
class WidgetMenuBodyComponent {
|
|
5145
5178
|
widget;
|
|
5146
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
5147
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
5179
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5180
|
+
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"] }] });
|
|
5148
5181
|
}
|
|
5149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuBodyComponent, decorators: [{
|
|
5150
5183
|
type: Component,
|
|
5151
5184
|
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"] }]
|
|
5152
5185
|
}], propDecorators: { widget: [{
|
|
@@ -5283,10 +5316,10 @@ class WidgetMenuContainerComponent {
|
|
|
5283
5316
|
this.destroy$.next();
|
|
5284
5317
|
this.destroy$.complete();
|
|
5285
5318
|
}
|
|
5286
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
5287
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
5319
|
+
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 });
|
|
5320
|
+
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}::ng-deep .widget-block-wrapper .p-card{box-shadow:none;background:transparent!important;border-radius:0;box-shadow:none!important}::ng-deep .widget-block-wrapper .p-card-body{padding:0}::ng-deep .widget-block-wrapper .p-card-content{padding-bottom:0}.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$2.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"] }] });
|
|
5288
5321
|
}
|
|
5289
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5322
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetMenuContainerComponent, decorators: [{
|
|
5290
5323
|
type: Component,
|
|
5291
5324
|
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}::ng-deep .widget-block-wrapper .p-card{box-shadow:none;background:transparent!important;border-radius:0;box-shadow:none!important}::ng-deep .widget-block-wrapper .p-card-body{padding:0}::ng-deep .widget-block-wrapper .p-card-content{padding-bottom:0}.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"] }]
|
|
5292
5325
|
}], ctorParameters: () => [{ type: WidgetService }, { type: i3$4.ActivatedRoute }, { type: WidgetQuery }, { type: WidgetStore }, { type: i0.ChangeDetectorRef }], propDecorators: { widgetName: [{
|
|
@@ -5318,8 +5351,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
5318
5351
|
}] } });
|
|
5319
5352
|
|
|
5320
5353
|
class WidgetModule {
|
|
5321
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
5322
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
5354
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5355
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: WidgetModule, declarations: [WidgetContainerComponent, WidgetMenuComponent, WidgetMainComponent, WidgetHeaderComponent, WidgetFooterComponent, WidgetBodyComponent, WidgetItemComponent, WidgetRowTileComponent, WidgetMenuContainerComponent, WidgetMenuHeaderComponent, WidgetMenuBodyComponent, WidgetMenuItemComponent, CustomWidgetComponent], imports: [CommonModule,
|
|
5323
5356
|
ButtonModule,
|
|
5324
5357
|
DividerModule,
|
|
5325
5358
|
CardModule,
|
|
@@ -5327,7 +5360,7 @@ class WidgetModule {
|
|
|
5327
5360
|
SidebarModule,
|
|
5328
5361
|
TimelineModule,
|
|
5329
5362
|
ChartModule], exports: [WidgetContainerComponent, WidgetMenuContainerComponent, CustomWidgetComponent] });
|
|
5330
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
5363
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetModule, imports: [CommonModule,
|
|
5331
5364
|
ButtonModule,
|
|
5332
5365
|
DividerModule,
|
|
5333
5366
|
CardModule,
|
|
@@ -5336,7 +5369,7 @@ class WidgetModule {
|
|
|
5336
5369
|
TimelineModule,
|
|
5337
5370
|
ChartModule] });
|
|
5338
5371
|
}
|
|
5339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: WidgetModule, decorators: [{
|
|
5340
5373
|
type: NgModule,
|
|
5341
5374
|
args: [{
|
|
5342
5375
|
declarations: [WidgetContainerComponent, WidgetMenuComponent, WidgetMainComponent, WidgetHeaderComponent, WidgetFooterComponent, WidgetBodyComponent, WidgetItemComponent, WidgetRowTileComponent, WidgetMenuContainerComponent, WidgetMenuHeaderComponent, WidgetMenuBodyComponent, WidgetMenuItemComponent, CustomWidgetComponent],
|
|
@@ -5358,13 +5391,13 @@ let QueueStore = class QueueStore extends BaseStore {
|
|
|
5358
5391
|
constructor() {
|
|
5359
5392
|
super();
|
|
5360
5393
|
}
|
|
5361
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
5362
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
5394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5395
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueStore, providedIn: "root" });
|
|
5363
5396
|
};
|
|
5364
5397
|
QueueStore = __decorate([
|
|
5365
5398
|
StoreConfig({ name: "queues" })
|
|
5366
5399
|
], QueueStore);
|
|
5367
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5400
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueStore, decorators: [{
|
|
5368
5401
|
type: Injectable,
|
|
5369
5402
|
args: [{ providedIn: "root" }]
|
|
5370
5403
|
}], ctorParameters: () => [] });
|
|
@@ -5410,6 +5443,45 @@ class QueueService extends BaseService {
|
|
|
5410
5443
|
}
|
|
5411
5444
|
}));
|
|
5412
5445
|
}
|
|
5446
|
+
/**
|
|
5447
|
+
* Fetches paginated queue records using the provided apiConfig URL with search and pagination support.
|
|
5448
|
+
* This is the unified method used for both initial data loading and search functionality.
|
|
5449
|
+
* @param {string} apiConfig - The full API endpoint to fetch records for the selected queue
|
|
5450
|
+
* @param {string} [searchKey] - Optional search term
|
|
5451
|
+
* @param {number} [page] - Page number (default: 1)
|
|
5452
|
+
* @param {number} [limit] - Number of records per page (default: 10)
|
|
5453
|
+
* @param {string} [query] - Optional query string for filtering
|
|
5454
|
+
* @param {string} [sortBy] - Optional sort field
|
|
5455
|
+
* @param {string} [sortOrder] - Optional sort order ('asc' or 'desc')
|
|
5456
|
+
* @returns {Observable<any>} Observable emitting the paginated queue records
|
|
5457
|
+
*/
|
|
5458
|
+
getPaginatedQueueRecords(apiConfig, searchKey, page = 1, limit = 10, query, sortBy, sortOrder) {
|
|
5459
|
+
let url = apiConfig;
|
|
5460
|
+
const params = {
|
|
5461
|
+
page: page.toString(),
|
|
5462
|
+
limit: limit.toString(),
|
|
5463
|
+
...(searchKey ? { searchKey } : {}),
|
|
5464
|
+
...(sortBy ? { sortBy } : {}),
|
|
5465
|
+
...(sortOrder ? { sortOrder } : {})
|
|
5466
|
+
};
|
|
5467
|
+
// Add query parameters if they exist
|
|
5468
|
+
if (query) {
|
|
5469
|
+
const queryParams = new URLSearchParams(query);
|
|
5470
|
+
queryParams.forEach((value, key) => {
|
|
5471
|
+
params[key] = value;
|
|
5472
|
+
});
|
|
5473
|
+
}
|
|
5474
|
+
const paramsString = new URLSearchParams(params).toString();
|
|
5475
|
+
url += (url.includes('?') ? '&' : '?') + paramsString;
|
|
5476
|
+
return this.http.get(url).pipe(tap$1((response) => {
|
|
5477
|
+
if (response && response.data) {
|
|
5478
|
+
this.queueStore.set(response.data);
|
|
5479
|
+
}
|
|
5480
|
+
else if (Array.isArray(response)) {
|
|
5481
|
+
this.queueStore.set(response);
|
|
5482
|
+
}
|
|
5483
|
+
}));
|
|
5484
|
+
}
|
|
5413
5485
|
/**
|
|
5414
5486
|
* Fetches all queue entities from the configured data source.
|
|
5415
5487
|
* The entities are stored in the queueStore upon retrieval.
|
|
@@ -5418,184 +5490,97 @@ class QueueService extends BaseService {
|
|
|
5418
5490
|
getAllQueue() {
|
|
5419
5491
|
return this.http.get(this.apiUrl + this._pathName).pipe(tap$1((entities) => { this.queueStore.set(entities); }));
|
|
5420
5492
|
}
|
|
5421
|
-
|
|
5422
|
-
|
|
5423
|
-
* Results are stored in the queueStore.
|
|
5424
|
-
* @param {any} searchItem - The search parameter or query string used to filter queues
|
|
5425
|
-
* @returns {Observable<any[]>} Observable emitting the search results as an array
|
|
5426
|
-
*/
|
|
5427
|
-
getQueuesData(searchItem) {
|
|
5428
|
-
return this.http
|
|
5429
|
-
.get(`${this.apiUrl}${DATASOURCES.APPLICATION_QUEUE_SEARCH}${searchItem}`)
|
|
5430
|
-
.pipe(tap$1((entities) => this.queueStore.set(entities)) // optional: only if storing
|
|
5431
|
-
);
|
|
5432
|
-
}
|
|
5433
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: QueueService, deps: [{ token: QueueStore }, { token: i1.HttpClient }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5434
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: QueueService, providedIn: "root" });
|
|
5493
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueService, deps: [{ token: QueueStore }, { token: i1$1.HttpClient }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5494
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueService, providedIn: "root" });
|
|
5435
5495
|
}
|
|
5436
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5496
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueService, decorators: [{
|
|
5437
5497
|
type: Injectable,
|
|
5438
5498
|
args: [{ providedIn: "root" }]
|
|
5439
|
-
}], ctorParameters: () => [{ type: QueueStore }, { type: i1.HttpClient }, { type: AppConfigService }, { type: ListService }] });
|
|
5440
|
-
|
|
5441
|
-
/**
|
|
5442
|
-
* `QueueSearchComponent` is responsible for displaying a search input and interacting with
|
|
5443
|
-
* queue-related data. It emits filtered results when a search is performed.
|
|
5444
|
-
* Selector: `queue-search`
|
|
5445
|
-
* Template: `./queue-search.component.html`
|
|
5446
|
-
* Styles: `./queue-search.component.scss`
|
|
5447
|
-
*/
|
|
5448
|
-
class QueueSearchComponent {
|
|
5449
|
-
QueueService;
|
|
5450
|
-
searchText = SHARED.EMPTY;
|
|
5451
|
-
queueFilteredData = new EventEmitter();
|
|
5452
|
-
destroy$ = new Subject();
|
|
5453
|
-
/**
|
|
5454
|
-
* Constructs the QueueSearchComponent with required services.
|
|
5455
|
-
* @param {QueueService} QueueService - Service to perform queue data search.
|
|
5456
|
-
*/
|
|
5457
|
-
constructor(QueueService) {
|
|
5458
|
-
this.QueueService = QueueService;
|
|
5459
|
-
}
|
|
5460
|
-
/**
|
|
5461
|
-
* Lifecycle hook called on component initialization.
|
|
5462
|
-
* @returns {void}
|
|
5463
|
-
*/
|
|
5464
|
-
ngOnInit() {
|
|
5465
|
-
// Component initialization - no additional setup needed
|
|
5466
|
-
}
|
|
5467
|
-
/**
|
|
5468
|
-
* Handles the search functionality and emits filtered results.
|
|
5469
|
-
* If the search text is empty, it emits an empty array and empty string.
|
|
5470
|
-
* @returns {void}
|
|
5471
|
-
*/
|
|
5472
|
-
onSearch() {
|
|
5473
|
-
const searchItem = this.searchText?.trim();
|
|
5474
|
-
if (searchItem?.length > 0) {
|
|
5475
|
-
this.QueueService.getQueuesData(searchItem)
|
|
5476
|
-
.pipe(takeUntil(this.destroy$))
|
|
5477
|
-
.subscribe({
|
|
5478
|
-
next: (data) => {
|
|
5479
|
-
if (data) {
|
|
5480
|
-
this.queueFilteredData.emit([data, searchItem]);
|
|
5481
|
-
}
|
|
5482
|
-
else {
|
|
5483
|
-
this.queueFilteredData.emit([[], searchItem]);
|
|
5484
|
-
}
|
|
5485
|
-
},
|
|
5486
|
-
error: (err) => {
|
|
5487
|
-
console.error('Search failed:', err);
|
|
5488
|
-
this.queueFilteredData.emit([[], searchItem]);
|
|
5489
|
-
},
|
|
5490
|
-
});
|
|
5491
|
-
}
|
|
5492
|
-
else {
|
|
5493
|
-
this.queueFilteredData.emit([[], '']);
|
|
5494
|
-
}
|
|
5495
|
-
}
|
|
5496
|
-
/**
|
|
5497
|
-
* Lifecycle hook called when the component is destroyed.
|
|
5498
|
-
* It completes all subscriptions to avoid memory leaks.
|
|
5499
|
-
* @returns {void}
|
|
5500
|
-
*/
|
|
5501
|
-
ngOnDestroy() {
|
|
5502
|
-
this.destroy$.next();
|
|
5503
|
-
this.destroy$.complete();
|
|
5504
|
-
}
|
|
5505
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: QueueSearchComponent, deps: [{ token: QueueService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5506
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", type: QueueSearchComponent, isStandalone: false, selector: "queue-search", outputs: { queueFilteredData: "queueFilteredData" }, ngImport: i0, template: "<div class=\"flex mt-5 xl:mt-0 xl:justify-content-between\">\r\n <div class=\"p-field m-0 p-0 w-full bg-white border-round py-1\">\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\" [(ngModel)]=\"searchText\" class=\"border-none h-44 border-noround-right bg-white w-full outline-none\" pInputText placeholder=\"Search with Applicaiton no. or Name\" (keydown.enter)=\"onSearch()\" />\r\n </div>\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.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"] }] });
|
|
5507
|
-
}
|
|
5508
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: QueueSearchComponent, decorators: [{
|
|
5509
|
-
type: Component,
|
|
5510
|
-
args: [{ selector: 'queue-search', standalone: false, template: "<div class=\"flex mt-5 xl:mt-0 xl:justify-content-between\">\r\n <div class=\"p-field m-0 p-0 w-full bg-white border-round py-1\">\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\" [(ngModel)]=\"searchText\" class=\"border-none h-44 border-noround-right bg-white w-full outline-none\" pInputText placeholder=\"Search with Applicaiton no. or Name\" (keydown.enter)=\"onSearch()\" />\r\n </div>\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"] }]
|
|
5511
|
-
}], ctorParameters: () => [{ type: QueueService }], propDecorators: { queueFilteredData: [{
|
|
5512
|
-
type: Output
|
|
5513
|
-
}] } });
|
|
5499
|
+
}], ctorParameters: () => [{ type: QueueStore }, { type: i1$1.HttpClient }, { type: AppConfigService }, { type: ListService }] });
|
|
5514
5500
|
|
|
5515
|
-
class
|
|
5501
|
+
class QueueBusinessService {
|
|
5516
5502
|
router;
|
|
5517
5503
|
sessionService;
|
|
5518
|
-
|
|
5519
|
-
showQueueDataForm = true;
|
|
5520
|
-
queueDataById = new EventEmitter();
|
|
5521
|
-
userRole;
|
|
5522
|
-
selectedQueueId;
|
|
5523
|
-
filteredQueueData = []; // Store filtered queues
|
|
5524
|
-
selectedStatus = 'active'; // Default to 'active'
|
|
5525
|
-
PERMISSION = PERMISSION;
|
|
5504
|
+
destroy$ = new Subject();
|
|
5526
5505
|
constructor(router, sessionService) {
|
|
5527
5506
|
this.router = router;
|
|
5528
5507
|
this.sessionService = sessionService;
|
|
5529
5508
|
}
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5533
|
-
|
|
5534
|
-
|
|
5509
|
+
filterQueuesByStatus(queues, status) {
|
|
5510
|
+
if (!queues)
|
|
5511
|
+
return [];
|
|
5512
|
+
switch (status) {
|
|
5513
|
+
case 'inactive':
|
|
5514
|
+
return queues.filter(queue => !queue.isActive);
|
|
5515
|
+
case 'active':
|
|
5516
|
+
return queues.filter(queue => queue.isActive);
|
|
5517
|
+
default:
|
|
5518
|
+
return [...queues];
|
|
5519
|
+
}
|
|
5535
5520
|
}
|
|
5536
|
-
|
|
5537
|
-
|
|
5521
|
+
getFirstQueueId(filteredQueues) {
|
|
5522
|
+
return filteredQueues.length > 0 ? filteredQueues[0]._id : null;
|
|
5538
5523
|
}
|
|
5539
|
-
|
|
5540
|
-
this.selectedQueueId = queueId;
|
|
5524
|
+
navigateToQueue(queueId, showQueueDataForm) {
|
|
5541
5525
|
if (showQueueDataForm) {
|
|
5542
5526
|
this.router.navigateByUrl(ROUTES.QUEUE_FORM + queueId);
|
|
5543
5527
|
}
|
|
5544
|
-
else {
|
|
5545
|
-
this.queueDataById.emit(queueId);
|
|
5546
|
-
}
|
|
5547
5528
|
}
|
|
5548
|
-
|
|
5549
|
-
this.
|
|
5550
|
-
this.filterQueues();
|
|
5529
|
+
navigateToInsertQueue() {
|
|
5530
|
+
this.router.navigate([ROUTES.QUEUE_FORM + SHARED.ZERO]);
|
|
5551
5531
|
}
|
|
5552
|
-
|
|
5553
|
-
|
|
5554
|
-
|
|
5555
|
-
}
|
|
5556
|
-
else if (this.selectedStatus === 'active') {
|
|
5557
|
-
this.filteredQueueData = this.queueData?.filter(queue => queue.isActive) || [];
|
|
5558
|
-
}
|
|
5559
|
-
else {
|
|
5560
|
-
this.filteredQueueData = [...this.queueData];
|
|
5561
|
-
}
|
|
5562
|
-
if (this.filteredQueueData.length) {
|
|
5563
|
-
this.selectedQueueId = this.filteredQueueData[0]._id;
|
|
5564
|
-
this.queueDataById.emit(this.selectedQueueId);
|
|
5565
|
-
}
|
|
5532
|
+
getUserRole() {
|
|
5533
|
+
const userSession = this.sessionService.getUserSession();
|
|
5534
|
+
return userSession?.roles?.includes('EnterpriseAdmins') || false;
|
|
5566
5535
|
}
|
|
5567
|
-
|
|
5568
|
-
|
|
5569
|
-
}
|
|
5570
|
-
|
|
5571
|
-
|
|
5572
|
-
|
|
5573
|
-
|
|
5574
|
-
|
|
5575
|
-
|
|
5576
|
-
|
|
5577
|
-
|
|
5578
|
-
type: Output
|
|
5579
|
-
}] } });
|
|
5580
|
-
|
|
5581
|
-
class QueueListComponent {
|
|
5582
|
-
queueData = [];
|
|
5583
|
-
queueDataById = new EventEmitter();
|
|
5584
|
-
handleQueueId(event) {
|
|
5585
|
-
localStorage.setItem(SHARED.SELECTED_QUEUE_ID, event);
|
|
5586
|
-
this.queueDataById.emit(event);
|
|
5536
|
+
storeSelectedQueue(queueId) {
|
|
5537
|
+
localStorage.setItem(SHARED.SELECTED_QUEUE_ID, queueId);
|
|
5538
|
+
}
|
|
5539
|
+
storeApplicationData(record) {
|
|
5540
|
+
localStorage.setItem(SHARED.selectedApplication, record._id);
|
|
5541
|
+
localStorage.setItem(SHARED.selectedApplicationNumber, record.applicationNumber);
|
|
5542
|
+
localStorage.setItem(SHARED.selectedApplicationType, record.applicationType);
|
|
5543
|
+
}
|
|
5544
|
+
createDebouncedSearch(delay = 500) {
|
|
5545
|
+
const searchSubject = new Subject();
|
|
5546
|
+
return searchSubject.pipe(debounceTime(delay), distinctUntilChanged(), takeUntil(this.destroy$));
|
|
5587
5547
|
}
|
|
5588
|
-
|
|
5589
|
-
|
|
5548
|
+
buildQueryString(record) {
|
|
5549
|
+
const queryParams = {
|
|
5550
|
+
type: record.type ?? SHARED.EMPTY,
|
|
5551
|
+
status: record.status ?? SHARED.EMPTY
|
|
5552
|
+
};
|
|
5553
|
+
const filteredQueryParams = Object.fromEntries(Object.entries(queryParams).filter(([_, value]) => value));
|
|
5554
|
+
return new URLSearchParams(filteredQueryParams).toString();
|
|
5555
|
+
}
|
|
5556
|
+
calculatePagination(event) {
|
|
5557
|
+
return {
|
|
5558
|
+
page: (event.first / event.rows) + 1,
|
|
5559
|
+
limit: event.rows
|
|
5560
|
+
};
|
|
5561
|
+
}
|
|
5562
|
+
mapApiMetadata(res, targetPage, targetLimit) {
|
|
5563
|
+
return {
|
|
5564
|
+
totalItems: res?.metadata?.total || res?.data?.length || 0,
|
|
5565
|
+
currentPage: res?.metadata?.page || targetPage,
|
|
5566
|
+
itemsPerPage: res?.metadata?.limit || targetLimit,
|
|
5567
|
+
totalPages: res?.metadata?.totalPages ||
|
|
5568
|
+
Math.ceil((res?.metadata?.total || res?.data?.length || 0) / targetLimit)
|
|
5569
|
+
};
|
|
5570
|
+
}
|
|
5571
|
+
ngOnDestroy() {
|
|
5572
|
+
this.destroy$.next();
|
|
5573
|
+
this.destroy$.complete();
|
|
5574
|
+
}
|
|
5575
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueBusinessService, deps: [{ token: i3$4.Router }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5576
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueBusinessService, providedIn: 'root' });
|
|
5590
5577
|
}
|
|
5591
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5592
|
-
type:
|
|
5593
|
-
args: [{
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
type: Output
|
|
5598
|
-
}] } });
|
|
5578
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueBusinessService, decorators: [{
|
|
5579
|
+
type: Injectable,
|
|
5580
|
+
args: [{
|
|
5581
|
+
providedIn: 'root'
|
|
5582
|
+
}]
|
|
5583
|
+
}], ctorParameters: () => [{ type: i3$4.Router }, { type: SessionService }] });
|
|
5599
5584
|
|
|
5600
5585
|
class QueueRecordTableBuilderService extends TableBuilder {
|
|
5601
5586
|
buildSecondaryTable(records, headerWidths, editPermission, deletePermission) {
|
|
@@ -5645,244 +5630,211 @@ class QueueRecordTableBuilderService extends TableBuilder {
|
|
|
5645
5630
|
table.showDecriptionFor = 'applicants';
|
|
5646
5631
|
return table;
|
|
5647
5632
|
}
|
|
5648
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
5649
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
5633
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRecordTableBuilderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
5634
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRecordTableBuilderService, providedIn: 'root' });
|
|
5650
5635
|
}
|
|
5651
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5636
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRecordTableBuilderService, decorators: [{
|
|
5652
5637
|
type: Injectable,
|
|
5653
5638
|
args: [{
|
|
5654
5639
|
providedIn: 'root'
|
|
5655
5640
|
}]
|
|
5656
5641
|
}] });
|
|
5657
5642
|
|
|
5658
|
-
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
|
|
5665
|
-
|
|
5666
|
-
|
|
5667
|
-
|
|
5668
|
-
|
|
5669
|
-
|
|
5670
|
-
|
|
5671
|
-
|
|
5672
|
-
|
|
5673
|
-
itemsPerPage: 10,
|
|
5674
|
-
totalItems: 0,
|
|
5675
|
-
totalPages: 1
|
|
5676
|
-
};
|
|
5677
|
-
apiData = [];
|
|
5678
|
-
destroy$ = new Subject();
|
|
5679
|
-
filterSubject = new Subject();
|
|
5680
|
-
currentPage = 1;
|
|
5681
|
-
itemsPerPage = 10;
|
|
5682
|
-
selectedRows = [];
|
|
5683
|
-
Math = Math;
|
|
5684
|
-
constructor(builder, queueService, cd) {
|
|
5685
|
-
this.builder = builder;
|
|
5686
|
-
this.queueService = queueService;
|
|
5687
|
-
this.cd = cd;
|
|
5643
|
+
/**
|
|
5644
|
+
* `QueueSearchComponent` is responsible for displaying a search input and emitting
|
|
5645
|
+
* search terms to parent components for handling API calls with proper pagination.
|
|
5646
|
+
* Selector: `queue-search`
|
|
5647
|
+
* Template: `./queue-search.component.html`
|
|
5648
|
+
* Styles: `./queue-search.component.scss`
|
|
5649
|
+
*/
|
|
5650
|
+
class QueueSearchComponent {
|
|
5651
|
+
searchText = '';
|
|
5652
|
+
placeholder = 'Search with Application no. or Name';
|
|
5653
|
+
searchInputChanged = new EventEmitter();
|
|
5654
|
+
searchRequested = new EventEmitter();
|
|
5655
|
+
searchCleared = new EventEmitter();
|
|
5656
|
+
onSearchInputChange() {
|
|
5657
|
+
this.searchInputChanged.emit(this.searchText);
|
|
5688
5658
|
}
|
|
5689
|
-
|
|
5690
|
-
this.
|
|
5691
|
-
this.setupFilterDebounce();
|
|
5659
|
+
onSearch() {
|
|
5660
|
+
this.searchRequested.emit(this.searchText);
|
|
5692
5661
|
}
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
// Reset pagination when queue changes
|
|
5696
|
-
this.resetPagination();
|
|
5697
|
-
this.loadAssociatedList();
|
|
5698
|
-
this.clearSelection();
|
|
5699
|
-
}
|
|
5700
|
-
if (changes['filteredSearchResult'] && this.filteredSearchResult) {
|
|
5701
|
-
const [filteredData, searchTerm] = this.filteredSearchResult;
|
|
5702
|
-
if (searchTerm && filteredData) {
|
|
5703
|
-
this.table = this.builder.buildSecondaryTable(filteredData || []);
|
|
5704
|
-
}
|
|
5705
|
-
else if (!searchTerm) {
|
|
5706
|
-
this.table = this.builder.buildSecondaryTable(this.apiData || []);
|
|
5707
|
-
}
|
|
5708
|
-
this.clearSelection();
|
|
5709
|
-
}
|
|
5662
|
+
onClearSearch() {
|
|
5663
|
+
this.searchCleared.emit();
|
|
5710
5664
|
}
|
|
5711
|
-
|
|
5712
|
-
this.
|
|
5713
|
-
this.getQueueRecordsData(search, query);
|
|
5714
|
-
});
|
|
5665
|
+
get hasSearchText() {
|
|
5666
|
+
return !!this.searchText;
|
|
5715
5667
|
}
|
|
5716
|
-
|
|
5717
|
-
|
|
5718
|
-
|
|
5719
|
-
|
|
5720
|
-
|
|
5721
|
-
|
|
5722
|
-
|
|
5723
|
-
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
|
|
5727
|
-
|
|
5728
|
-
|
|
5668
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5669
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueSearchComponent, isStandalone: false, selector: "queue-search", inputs: { searchText: "searchText", placeholder: "placeholder" }, outputs: { searchInputChanged: "searchInputChanged", searchRequested: "searchRequested", searchCleared: "searchCleared" }, ngImport: i0, template: "<div class=\"flex mt-5 xl:mt-0 xl:justify-content-between\">\r\n <div class=\"p-field m-0 p-0 w-full bg-white border-round py-1\">\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 \r\n type=\"text\" \r\n [(ngModel)]=\"searchText\" \r\n class=\"border-none h-44 border-noround-right bg-white w-full outline-none\" \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 ></button>\r\n </div>\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: 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 });
|
|
5670
|
+
}
|
|
5671
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueSearchComponent, decorators: [{
|
|
5672
|
+
type: Component,
|
|
5673
|
+
args: [{ selector: 'queue-search', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex mt-5 xl:mt-0 xl:justify-content-between\">\r\n <div class=\"p-field m-0 p-0 w-full bg-white border-round py-1\">\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 \r\n type=\"text\" \r\n [(ngModel)]=\"searchText\" \r\n class=\"border-none h-44 border-noround-right bg-white w-full outline-none\" \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 ></button>\r\n </div>\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"] }]
|
|
5674
|
+
}], propDecorators: { searchText: [{
|
|
5675
|
+
type: Input
|
|
5676
|
+
}], placeholder: [{
|
|
5677
|
+
type: Input
|
|
5678
|
+
}], searchInputChanged: [{
|
|
5679
|
+
type: Output
|
|
5680
|
+
}], searchRequested: [{
|
|
5681
|
+
type: Output
|
|
5682
|
+
}], searchCleared: [{
|
|
5683
|
+
type: Output
|
|
5684
|
+
}] } });
|
|
5685
|
+
|
|
5686
|
+
class QueueItemComponent {
|
|
5687
|
+
filteredQueueData = [];
|
|
5688
|
+
selectedQueueId = null;
|
|
5689
|
+
selectedStatus = 'active';
|
|
5690
|
+
userRole = false;
|
|
5691
|
+
showQueueDataForm = true;
|
|
5692
|
+
queueSelected = new EventEmitter();
|
|
5693
|
+
statusChanged = new EventEmitter();
|
|
5694
|
+
insertQueueRequested = new EventEmitter();
|
|
5695
|
+
onQueueClick(queueId) {
|
|
5696
|
+
this.queueSelected.emit(queueId);
|
|
5729
5697
|
}
|
|
5730
|
-
|
|
5731
|
-
|
|
5732
|
-
this.getQueueRecordsData();
|
|
5733
|
-
}
|
|
5734
|
-
else {
|
|
5735
|
-
this.apiData = [];
|
|
5736
|
-
this.table = this.builder.buildSecondaryTable([]);
|
|
5737
|
-
}
|
|
5698
|
+
onStatusChange(event) {
|
|
5699
|
+
this.statusChanged.emit(event.target.value);
|
|
5738
5700
|
}
|
|
5739
|
-
|
|
5740
|
-
|
|
5741
|
-
* @param {string} [search] - Optional search term
|
|
5742
|
-
* @param {any} [query] - Optional query string for filtering
|
|
5743
|
-
*/
|
|
5744
|
-
getQueueRecordsData(search, query) {
|
|
5745
|
-
if (this.queueData && this.queueData.apiConfig) {
|
|
5746
|
-
const params = {
|
|
5747
|
-
...(search ? { searchKey: search } : {}),
|
|
5748
|
-
...(query ? query : {}),
|
|
5749
|
-
page: this.currentPage,
|
|
5750
|
-
limit: this.itemsPerPage
|
|
5751
|
-
};
|
|
5752
|
-
this.queueService.getQueueRecordsByApiConfig(this.queueData.apiConfig, params).subscribe({
|
|
5753
|
-
next: (res) => {
|
|
5754
|
-
this.apiData = res?.data || res?.paginatedResults || res || [];
|
|
5755
|
-
this.table = this.builder.buildSecondaryTable(this.apiData || []);
|
|
5756
|
-
// Update metadata with current pagination state
|
|
5757
|
-
this.metaData = res?.metadata || {
|
|
5758
|
-
currentPage: this.currentPage,
|
|
5759
|
-
itemsPerPage: this.itemsPerPage,
|
|
5760
|
-
totalItems: this.apiData.length,
|
|
5761
|
-
totalPages: Math.ceil(this.apiData.length / this.itemsPerPage)
|
|
5762
|
-
};
|
|
5763
|
-
// If current page is greater than total pages, reset to page 1
|
|
5764
|
-
if (this.currentPage > this.metaData.totalPages) {
|
|
5765
|
-
this.resetPagination();
|
|
5766
|
-
// Fetch first page data if needed
|
|
5767
|
-
if (this.currentPage !== 1) {
|
|
5768
|
-
this.getQueueRecordsData(search, query);
|
|
5769
|
-
return;
|
|
5770
|
-
}
|
|
5771
|
-
}
|
|
5772
|
-
this.metaData.currentPage = this.currentPage;
|
|
5773
|
-
this.metaData.itemsPerPage = this.itemsPerPage;
|
|
5774
|
-
setTimeout(() => {
|
|
5775
|
-
if (this.paginator) {
|
|
5776
|
-
this.paginator.first = (this.currentPage - 1) * this.itemsPerPage;
|
|
5777
|
-
}
|
|
5778
|
-
});
|
|
5779
|
-
this.cd.detectChanges();
|
|
5780
|
-
},
|
|
5781
|
-
error: (error) => {
|
|
5782
|
-
console.error("Error fetching data:", error);
|
|
5783
|
-
this.apiData = [];
|
|
5784
|
-
this.table = this.builder.buildSecondaryTable([]);
|
|
5785
|
-
this.metaData = { currentPage: 1, itemsPerPage: 10, totalItems: 0, totalPages: 1 };
|
|
5786
|
-
this.cd.detectChanges();
|
|
5787
|
-
}
|
|
5788
|
-
});
|
|
5789
|
-
}
|
|
5790
|
-
else {
|
|
5791
|
-
console.log("Queue data or apiConfig not available");
|
|
5792
|
-
}
|
|
5701
|
+
onInsertQueue() {
|
|
5702
|
+
this.insertQueueRequested.emit();
|
|
5793
5703
|
}
|
|
5794
|
-
|
|
5795
|
-
|
|
5796
|
-
* @param {any} record - The filter model containing search and query parameters
|
|
5797
|
-
*/
|
|
5798
|
-
getFilteredQueueRecords(record) {
|
|
5799
|
-
this.resetPagination();
|
|
5800
|
-
const queryParams = {
|
|
5801
|
-
type: record.type ?? SHARED.EMPTY,
|
|
5802
|
-
status: record.status ?? SHARED.EMPTY
|
|
5803
|
-
};
|
|
5804
|
-
const filteredQueryParams = Object.fromEntries(Object.entries(queryParams).filter(([_, value]) => value));
|
|
5805
|
-
const queryString = new URLSearchParams(filteredQueryParams).toString();
|
|
5806
|
-
const currentSearchTerm = record.search || SHARED.EMPTY;
|
|
5807
|
-
this.filterSubject.next({ search: currentSearchTerm, query: queryString });
|
|
5808
|
-
this.clearSelection();
|
|
5704
|
+
isQueueActive(queue) {
|
|
5705
|
+
return queue.isActive;
|
|
5809
5706
|
}
|
|
5810
|
-
|
|
5811
|
-
|
|
5812
|
-
* @param {any} event - The PrimeNG paginator event
|
|
5813
|
-
*/
|
|
5814
|
-
onPageChange(event) {
|
|
5815
|
-
this.currentPage = Math.floor(event.first / event.rows) + 1;
|
|
5816
|
-
this.itemsPerPage = event.rows;
|
|
5817
|
-
this.getQueueRecordsData();
|
|
5818
|
-
this.clearSelection();
|
|
5707
|
+
isQueueSelected(queueId) {
|
|
5708
|
+
return queueId === this.selectedQueueId;
|
|
5819
5709
|
}
|
|
5820
|
-
|
|
5821
|
-
|
|
5822
|
-
|
|
5823
|
-
|
|
5824
|
-
|
|
5710
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5711
|
+
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=\"card p-4 pt-3 mb-0\">\r\n <div class=\"filterContainer\">\r\n <select class=\"filter-dropdown left-filter\" (change)=\"onStatusChange($event)\">\r\n <option value=\"All\">All</option>\r\n <option value=\"inactive\">In-active</option>\r\n <option value=\"active\" selected>Active</option>\r\n </select>\r\n </div>\r\n <div class=\"queues overflow-x-hidden queue-item-wrapper\">\r\n @for(queue of filteredQueueData; let i = $index; track queue){\r\n\r\n <div class=\"flex m-0 kanban-list\" [ngClass]=\"{'mt-2 pt-1': i !== 0}\" #listEl style=\"min-height:2rem\" (click)=\"onQueueClick(queue._id)\" >\r\n <div class=\"flex align-items-center p-0 w-full\">\r\n <div class=\"py-4 px-3 cursor-pointer w-full\" [ngClass]=\"{\r\n 'active-queue-wrapper': isQueueSelected(queue._id),\r\n 'inActiveQueue': !isQueueActive(queue),\r\n 'queue-list-wrapper': isQueueActive(queue)\r\n }\"\r\n >\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <span class=\"text-color queue-name font-semibold\"\r\n [ngClass]=\"{'active-title-wrapper': isQueueSelected(queue._id)}\"\r\n >{{queue.name}}</span>\r\n <div class=\"elipsesWithCount flex align-items-center\">\r\n <p-badge [value]=\"queue.itemCount\" severity=\"primary\" [ngClass]=\"{\r\n 'inActiveBadgeColor': !isQueueActive(queue),\r\n }\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <button *ngIf=\"userRole\" (click)=\"onInsertQueue()\" class=\"btn btn-primary mt-3\">\r\n Add Queue\r\n </button>\r\n </div> ", styles: [".card{height:100%}.custom-scroll{height:calc(100% - 112px);overflow-y:hidden}.custom-scroll:hover{overflow-y:auto;scroll-behavior:smooth}.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}.ellipsis-icon-wrapper{width:6px}.queue-name{max-width:70%;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal}.inactive-queue-wrapper{margin-left:20px}.create-button{border-radius:8px!important;border:2px solid transparent;border-image:repeating-linear-gradient(45deg,#676b89,#676b89 10px,transparent 10px,transparent 20px) 1;background:linear-gradient(0deg,#7f899e30 0% 100%),#fff;color:#0a061a;gap:8px;font-family:inherit;font-size:14px;font-weight:400;-webkit-mask:linear-gradient(#fff 0 0)}.create-button:hover{background-color:var(--blue-100)}.filter-dropdown{padding:.4rem .6rem;border:1px solid rgba(15,139,253,.1);border-radius:4px;background-color:#f0f8ff;color:var(--text-color);cursor:pointer}.filterContainer{display:flex;justify-content:end;margin-bottom:15px}.inActiveQueue{background-color:#7f899e30;border:2px solid #676b89;border-radius:8px;color:#0a061a;font-family:inherit;font-size:14px;font-weight:400}.inActiveBadgeColor ::ng-deep .p-badge{background:#0a061a!important}\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: i3$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i3$5.Badge, selector: "p-badge", inputs: ["styleClass", "style", "badgeSize", "severity", "value", "badgeDisabled", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5712
|
+
}
|
|
5713
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueItemComponent, decorators: [{
|
|
5714
|
+
type: Component,
|
|
5715
|
+
args: [{ selector: 'app-queue-item', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card p-4 pt-3 mb-0\">\r\n <div class=\"filterContainer\">\r\n <select class=\"filter-dropdown left-filter\" (change)=\"onStatusChange($event)\">\r\n <option value=\"All\">All</option>\r\n <option value=\"inactive\">In-active</option>\r\n <option value=\"active\" selected>Active</option>\r\n </select>\r\n </div>\r\n <div class=\"queues overflow-x-hidden queue-item-wrapper\">\r\n @for(queue of filteredQueueData; let i = $index; track queue){\r\n\r\n <div class=\"flex m-0 kanban-list\" [ngClass]=\"{'mt-2 pt-1': i !== 0}\" #listEl style=\"min-height:2rem\" (click)=\"onQueueClick(queue._id)\" >\r\n <div class=\"flex align-items-center p-0 w-full\">\r\n <div class=\"py-4 px-3 cursor-pointer w-full\" [ngClass]=\"{\r\n 'active-queue-wrapper': isQueueSelected(queue._id),\r\n 'inActiveQueue': !isQueueActive(queue),\r\n 'queue-list-wrapper': isQueueActive(queue)\r\n }\"\r\n >\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <span class=\"text-color queue-name font-semibold\"\r\n [ngClass]=\"{'active-title-wrapper': isQueueSelected(queue._id)}\"\r\n >{{queue.name}}</span>\r\n <div class=\"elipsesWithCount flex align-items-center\">\r\n <p-badge [value]=\"queue.itemCount\" severity=\"primary\" [ngClass]=\"{\r\n 'inActiveBadgeColor': !isQueueActive(queue),\r\n }\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <button *ngIf=\"userRole\" (click)=\"onInsertQueue()\" class=\"btn btn-primary mt-3\">\r\n Add Queue\r\n </button>\r\n </div> ", styles: [".card{height:100%}.custom-scroll{height:calc(100% - 112px);overflow-y:hidden}.custom-scroll:hover{overflow-y:auto;scroll-behavior:smooth}.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}.ellipsis-icon-wrapper{width:6px}.queue-name{max-width:70%;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal}.inactive-queue-wrapper{margin-left:20px}.create-button{border-radius:8px!important;border:2px solid transparent;border-image:repeating-linear-gradient(45deg,#676b89,#676b89 10px,transparent 10px,transparent 20px) 1;background:linear-gradient(0deg,#7f899e30 0% 100%),#fff;color:#0a061a;gap:8px;font-family:inherit;font-size:14px;font-weight:400;-webkit-mask:linear-gradient(#fff 0 0)}.create-button:hover{background-color:var(--blue-100)}.filter-dropdown{padding:.4rem .6rem;border:1px solid rgba(15,139,253,.1);border-radius:4px;background-color:#f0f8ff;color:var(--text-color);cursor:pointer}.filterContainer{display:flex;justify-content:end;margin-bottom:15px}.inActiveQueue{background-color:#7f899e30;border:2px solid #676b89;border-radius:8px;color:#0a061a;font-family:inherit;font-size:14px;font-weight:400}.inActiveBadgeColor ::ng-deep .p-badge{background:#0a061a!important}\n"] }]
|
|
5716
|
+
}], propDecorators: { filteredQueueData: [{
|
|
5717
|
+
type: Input
|
|
5718
|
+
}], selectedQueueId: [{
|
|
5719
|
+
type: Input
|
|
5720
|
+
}], selectedStatus: [{
|
|
5721
|
+
type: Input
|
|
5722
|
+
}], userRole: [{
|
|
5723
|
+
type: Input
|
|
5724
|
+
}], showQueueDataForm: [{
|
|
5725
|
+
type: Input
|
|
5726
|
+
}], queueSelected: [{
|
|
5727
|
+
type: Output
|
|
5728
|
+
}], statusChanged: [{
|
|
5729
|
+
type: Output
|
|
5730
|
+
}], insertQueueRequested: [{
|
|
5731
|
+
type: Output
|
|
5732
|
+
}] } });
|
|
5733
|
+
|
|
5734
|
+
class QueueListComponent {
|
|
5735
|
+
queueData = [];
|
|
5736
|
+
selectedQueueId = null;
|
|
5737
|
+
selectedStatus = 'active';
|
|
5738
|
+
userRole = false;
|
|
5739
|
+
showQueueDataForm = true;
|
|
5740
|
+
queueSelected = new EventEmitter();
|
|
5741
|
+
statusChanged = new EventEmitter();
|
|
5742
|
+
insertQueueRequested = new EventEmitter();
|
|
5743
|
+
onQueueSelected(queueId) {
|
|
5744
|
+
this.queueSelected.emit(queueId);
|
|
5825
5745
|
}
|
|
5826
|
-
|
|
5827
|
-
|
|
5828
|
-
|
|
5829
|
-
|
|
5746
|
+
onStatusChanged(status) {
|
|
5747
|
+
this.statusChanged.emit(status);
|
|
5748
|
+
}
|
|
5749
|
+
onInsertQueue() {
|
|
5750
|
+
this.insertQueueRequested.emit();
|
|
5751
|
+
}
|
|
5752
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5753
|
+
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 });
|
|
5754
|
+
}
|
|
5755
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueListComponent, decorators: [{
|
|
5756
|
+
type: Component,
|
|
5757
|
+
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" }]
|
|
5758
|
+
}], propDecorators: { queueData: [{
|
|
5759
|
+
type: Input
|
|
5760
|
+
}], selectedQueueId: [{
|
|
5761
|
+
type: Input
|
|
5762
|
+
}], selectedStatus: [{
|
|
5763
|
+
type: Input
|
|
5764
|
+
}], userRole: [{
|
|
5765
|
+
type: Input
|
|
5766
|
+
}], showQueueDataForm: [{
|
|
5767
|
+
type: Input
|
|
5768
|
+
}], queueSelected: [{
|
|
5769
|
+
type: Output
|
|
5770
|
+
}], statusChanged: [{
|
|
5771
|
+
type: Output
|
|
5772
|
+
}], insertQueueRequested: [{
|
|
5773
|
+
type: Output
|
|
5774
|
+
}] } });
|
|
5775
|
+
|
|
5776
|
+
class QueueRecordTableComponent {
|
|
5777
|
+
table;
|
|
5778
|
+
metaData;
|
|
5779
|
+
loading = false;
|
|
5780
|
+
selectedRows = [];
|
|
5781
|
+
selectionChange = new EventEmitter();
|
|
5782
|
+
selectedRowsData = new EventEmitter();
|
|
5783
|
+
assignmentDataReady = new EventEmitter();
|
|
5784
|
+
rowClick = new EventEmitter();
|
|
5785
|
+
paginationChanged = new EventEmitter();
|
|
5786
|
+
filterApplied = new EventEmitter();
|
|
5787
|
+
sortApplied = new EventEmitter();
|
|
5830
5788
|
onSelectionChange(selection) {
|
|
5831
|
-
this.
|
|
5832
|
-
this.
|
|
5833
|
-
this.selectedRowsData.emit(this.selectedRows);
|
|
5834
|
-
this.assignmentDataReady.emit({
|
|
5835
|
-
selectedRows: this.selectedRows,
|
|
5836
|
-
queueData: this.queueData
|
|
5837
|
-
});
|
|
5789
|
+
this.selectionChange.emit(selection);
|
|
5790
|
+
this.selectedRowsData.emit(selection);
|
|
5838
5791
|
}
|
|
5839
|
-
|
|
5840
|
-
|
|
5841
|
-
* @param {any} rowData - The row data that was selected/deselected
|
|
5842
|
-
* @param {boolean} isSelected - Whether the row is selected or deselected
|
|
5843
|
-
*/
|
|
5844
|
-
onRowSelectionChange(rowData, isSelected) {
|
|
5845
|
-
this.rowSelected.emit({ row: rowData, isSelected: isSelected });
|
|
5792
|
+
onRowClick(record) {
|
|
5793
|
+
this.rowClick.emit(record);
|
|
5846
5794
|
}
|
|
5847
|
-
|
|
5848
|
-
|
|
5849
|
-
*/
|
|
5850
|
-
clearSelection() {
|
|
5851
|
-
this.selectedRows = [];
|
|
5852
|
-
this.selectionChange.emit(this.selectedRows);
|
|
5853
|
-
this.selectedRowsData.emit(this.selectedRows);
|
|
5854
|
-
this.assignmentDataReady.emit({
|
|
5855
|
-
selectedRows: this.selectedRows,
|
|
5856
|
-
queueData: this.queueData
|
|
5857
|
-
});
|
|
5795
|
+
onPaginationChange(event) {
|
|
5796
|
+
this.paginationChanged.emit(event);
|
|
5858
5797
|
}
|
|
5859
|
-
|
|
5860
|
-
this.
|
|
5861
|
-
|
|
5798
|
+
onFilterApplied(record) {
|
|
5799
|
+
this.filterApplied.emit(record);
|
|
5800
|
+
}
|
|
5801
|
+
onSort(event) {
|
|
5802
|
+
this.sortApplied.emit(event);
|
|
5862
5803
|
}
|
|
5863
|
-
|
|
5864
|
-
|
|
5804
|
+
get hasData() {
|
|
5805
|
+
return this.table?.records && this.table.records.length > 0;
|
|
5806
|
+
}
|
|
5807
|
+
get selectedCount() {
|
|
5808
|
+
return this.selectedRows?.length || 0;
|
|
5809
|
+
}
|
|
5810
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRecordTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5811
|
+
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" }, outputs: { selectionChange: "selectionChange", selectedRowsData: "selectedRowsData", assignmentDataReady: "assignmentDataReady", rowClick: "rowClick", paginationChanged: "paginationChanged", filterApplied: "filterApplied", sortApplied: "sortApplied" }, ngImport: i0, template: "<lib-table-secondary \r\n *ngIf=\"table && table.headers && table.headers.length && metaData\"\r\n [table]=\"table\" \r\n [metaData]=\"metaData\"\r\n [enableSelection]=\"true\"\r\n [selectionMode]=\"'multiple'\"\r\n [selection]=\"selectedRows\"\r\n [showActions]=\"false\"\r\n (onPage)=\"onPaginationChange($event)\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (sortChanged)=\"onSort($event)\"\r\n>\r\n</lib-table-secondary>\r\n", 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}.custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}@media screen and (max-width: 768px){.queue-record-table-wrapper .pagination-container{flex-direction:column;gap:.5rem}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TableSecondaryComponent, selector: "lib-table-secondary", inputs: ["table", "metaData", "title", "builder", "showStatus", "showActions", "showSearchBar", "showNewRecordButton", "showRefreshButton", "pathName", "selectionMode", "selection", "usePagination", "rowSelection", "enableSelection", "noRecordsMessage", "searchTerm", "filterQuery"], outputs: ["selectionChange", "rowSelectionChange", "sortChanged", "onDeleteRow", "onPage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5865
5812
|
}
|
|
5866
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
5813
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRecordTableComponent, decorators: [{
|
|
5867
5814
|
type: Component,
|
|
5868
|
-
args: [{ selector: 'app-queue-record-table', standalone: false, template: "<lib-table-secondary \r\n *ngIf=\"table && table.headers && table.headers.length && metaData\"\r\n [table]=\"table\" \r\n [metaData]=\"metaData\"\r\n [enableSelection]=\"true\"\r\n [
|
|
5869
|
-
}],
|
|
5815
|
+
args: [{ selector: 'app-queue-record-table', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<lib-table-secondary \r\n *ngIf=\"table && table.headers && table.headers.length && metaData\"\r\n [table]=\"table\" \r\n [metaData]=\"metaData\"\r\n [enableSelection]=\"true\"\r\n [selectionMode]=\"'multiple'\"\r\n [selection]=\"selectedRows\"\r\n [showActions]=\"false\"\r\n (onPage)=\"onPaginationChange($event)\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (sortChanged)=\"onSort($event)\"\r\n>\r\n</lib-table-secondary>\r\n", 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}.custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}@media screen and (max-width: 768px){.queue-record-table-wrapper .pagination-container{flex-direction:column;gap:.5rem}}\n"] }]
|
|
5816
|
+
}], propDecorators: { table: [{
|
|
5870
5817
|
type: Input
|
|
5871
|
-
}],
|
|
5818
|
+
}], metaData: [{
|
|
5819
|
+
type: Input
|
|
5820
|
+
}], loading: [{
|
|
5821
|
+
type: Input
|
|
5822
|
+
}], selectedRows: [{
|
|
5872
5823
|
type: Input
|
|
5873
5824
|
}], selectionChange: [{
|
|
5874
5825
|
type: Output
|
|
5875
|
-
}], rowSelected: [{
|
|
5876
|
-
type: Output
|
|
5877
5826
|
}], selectedRowsData: [{
|
|
5878
5827
|
type: Output
|
|
5879
5828
|
}], assignmentDataReady: [{
|
|
5880
5829
|
type: Output
|
|
5881
5830
|
}], rowClick: [{
|
|
5882
5831
|
type: Output
|
|
5883
|
-
}],
|
|
5884
|
-
type:
|
|
5885
|
-
|
|
5832
|
+
}], paginationChanged: [{
|
|
5833
|
+
type: Output
|
|
5834
|
+
}], filterApplied: [{
|
|
5835
|
+
type: Output
|
|
5836
|
+
}], sortApplied: [{
|
|
5837
|
+
type: Output
|
|
5886
5838
|
}] } });
|
|
5887
5839
|
|
|
5888
5840
|
/**
|
|
@@ -5893,16 +5845,28 @@ class QueueContainerComponent extends BaseContainerComponent {
|
|
|
5893
5845
|
queueStore;
|
|
5894
5846
|
queueService;
|
|
5895
5847
|
baseStore;
|
|
5896
|
-
|
|
5897
|
-
|
|
5898
|
-
|
|
5899
|
-
|
|
5900
|
-
this.baseStore = baseStore;
|
|
5901
|
-
}
|
|
5848
|
+
queueBusinessService;
|
|
5849
|
+
tableBuilder;
|
|
5850
|
+
destroy$ = new Subject();
|
|
5851
|
+
searchSubject = new Subject();
|
|
5902
5852
|
queueList = [];
|
|
5903
5853
|
selectedQueue;
|
|
5904
|
-
|
|
5854
|
+
currentSearchTerm = '';
|
|
5905
5855
|
selectedRows = [];
|
|
5856
|
+
loading = false;
|
|
5857
|
+
error = null;
|
|
5858
|
+
filteredQueueData = [];
|
|
5859
|
+
selectedStatus = 'active';
|
|
5860
|
+
userRole = false;
|
|
5861
|
+
selectedQueueId = null;
|
|
5862
|
+
table;
|
|
5863
|
+
metaData;
|
|
5864
|
+
currentPage = 1;
|
|
5865
|
+
currentLimit = 10;
|
|
5866
|
+
queryString = SHARED.EMPTY;
|
|
5867
|
+
searchText = SHARED.EMPTY;
|
|
5868
|
+
sortBy = SHARED.EMPTY;
|
|
5869
|
+
sortOrder = SHARED.EMPTY;
|
|
5906
5870
|
// Input properties for content projection
|
|
5907
5871
|
set selectedRowsInput(rows) {
|
|
5908
5872
|
this.selectedRows = rows || [];
|
|
@@ -5913,126 +5877,217 @@ class QueueContainerComponent extends BaseContainerComponent {
|
|
|
5913
5877
|
// Output events for content projection
|
|
5914
5878
|
assignmentComplete = new EventEmitter();
|
|
5915
5879
|
userAssigned = new EventEmitter();
|
|
5916
|
-
// New output events for gb-ng assignment logic
|
|
5917
|
-
rowSelected = new EventEmitter();
|
|
5918
5880
|
selectedRowsData = new EventEmitter();
|
|
5919
5881
|
assignmentDataReady = new EventEmitter();
|
|
5920
|
-
// New output event for row click navigation
|
|
5921
5882
|
rowClick = new EventEmitter();
|
|
5883
|
+
selectionChange = new EventEmitter();
|
|
5884
|
+
constructor(queueStore, queueService, baseStore, queueBusinessService, tableBuilder) {
|
|
5885
|
+
super(queueService);
|
|
5886
|
+
this.queueStore = queueStore;
|
|
5887
|
+
this.queueService = queueService;
|
|
5888
|
+
this.baseStore = baseStore;
|
|
5889
|
+
this.queueBusinessService = queueBusinessService;
|
|
5890
|
+
this.tableBuilder = tableBuilder;
|
|
5891
|
+
}
|
|
5922
5892
|
ngOnInit() {
|
|
5893
|
+
this.initializeComponent();
|
|
5894
|
+
this.setupSearchDebounce();
|
|
5895
|
+
}
|
|
5896
|
+
ngOnDestroy() {
|
|
5897
|
+
this.destroy$.next();
|
|
5898
|
+
this.destroy$.complete();
|
|
5899
|
+
}
|
|
5900
|
+
onQueueSelected(queueId) {
|
|
5901
|
+
this.handleQueueId(queueId);
|
|
5902
|
+
}
|
|
5903
|
+
onStatusChanged(status) {
|
|
5904
|
+
this.selectedStatus = status;
|
|
5905
|
+
this.filterQueues();
|
|
5906
|
+
}
|
|
5907
|
+
onInsertQueueRequested() {
|
|
5908
|
+
this.queueBusinessService.navigateToInsertQueue();
|
|
5909
|
+
}
|
|
5910
|
+
onSearchInputChanged(searchTerm) {
|
|
5911
|
+
this.searchText = searchTerm;
|
|
5912
|
+
this.searchSubject.next(searchTerm);
|
|
5913
|
+
}
|
|
5914
|
+
onSearchRequested(searchTerm) {
|
|
5915
|
+
this.currentSearchTerm = searchTerm;
|
|
5916
|
+
this.resetPage();
|
|
5917
|
+
this.getQueueRecordsData();
|
|
5918
|
+
}
|
|
5919
|
+
onSearchCleared() {
|
|
5920
|
+
this.searchText = SHARED.EMPTY;
|
|
5921
|
+
this.currentSearchTerm = SHARED.EMPTY;
|
|
5922
|
+
this.resetPage();
|
|
5923
|
+
this.getQueueRecordsData();
|
|
5924
|
+
}
|
|
5925
|
+
onPaginationChanged(event) {
|
|
5926
|
+
const { page, limit } = this.queueBusinessService.calculatePagination(event);
|
|
5927
|
+
this.getQueueRecordsData(page, limit);
|
|
5928
|
+
}
|
|
5929
|
+
onFilterApplied(record) {
|
|
5930
|
+
this.queryString = this.queueBusinessService.buildQueryString(record);
|
|
5931
|
+
this.resetPage();
|
|
5932
|
+
this.getQueueRecordsData();
|
|
5933
|
+
this.clearSelection();
|
|
5934
|
+
}
|
|
5935
|
+
onTableRowClick(record) {
|
|
5936
|
+
this.queueBusinessService.storeApplicationData(record);
|
|
5937
|
+
this.rowClick.emit(record);
|
|
5938
|
+
}
|
|
5939
|
+
onTableSelectionChange(selection) {
|
|
5940
|
+
this.selectedRows = selection;
|
|
5941
|
+
this.selectionChange.emit(this.selectedRows);
|
|
5942
|
+
this.selectedRowsData.emit(this.selectedRows);
|
|
5943
|
+
this.assignmentDataReady.emit({
|
|
5944
|
+
selectedRows: this.selectedRows,
|
|
5945
|
+
queueData: this.selectedQueue
|
|
5946
|
+
});
|
|
5947
|
+
}
|
|
5948
|
+
onAssignmentDataReady(event) {
|
|
5949
|
+
this.assignmentDataReady.emit(event);
|
|
5950
|
+
}
|
|
5951
|
+
onSortApplied(event) {
|
|
5952
|
+
this.sortBy = event.field;
|
|
5953
|
+
this.sortOrder = event.order === 1 ? 'asc' : event.order === -1 ? 'desc' : '';
|
|
5954
|
+
this.getQueueRecordsData();
|
|
5955
|
+
}
|
|
5956
|
+
initializeComponent() {
|
|
5923
5957
|
this.getAllQueueList();
|
|
5958
|
+
this.userRole = this.queueBusinessService.getUserRole();
|
|
5959
|
+
}
|
|
5960
|
+
setupSearchDebounce() {
|
|
5961
|
+
const debouncedSearch = this.queueBusinessService.createDebouncedSearch(300);
|
|
5962
|
+
debouncedSearch.pipe(takeUntil(this.destroy$)).subscribe(searchTerm => {
|
|
5963
|
+
if (this.selectedQueue) {
|
|
5964
|
+
this.currentSearchTerm = searchTerm;
|
|
5965
|
+
this.resetPage();
|
|
5966
|
+
this.getQueueRecordsData();
|
|
5967
|
+
}
|
|
5968
|
+
});
|
|
5924
5969
|
}
|
|
5925
5970
|
getAllQueueList() {
|
|
5971
|
+
this.loading = true;
|
|
5972
|
+
this.error = null;
|
|
5926
5973
|
this.queueService.getAllQueue().subscribe({
|
|
5927
5974
|
next: (res) => {
|
|
5928
5975
|
this.queueList = Array.isArray(res) ? res : (res.data || res);
|
|
5929
5976
|
this.baseStore.setQueueList(this.queueList);
|
|
5977
|
+
this.filterQueues();
|
|
5978
|
+
this.loading = false;
|
|
5930
5979
|
},
|
|
5931
5980
|
error: (err) => {
|
|
5981
|
+
this.error = ERROR.UNABLE_TO_FETCH_QUEUE_LIST;
|
|
5982
|
+
this.loading = false;
|
|
5932
5983
|
console.error(ERROR.UNABLE_TO_FETCH_QUEUE_LIST, err);
|
|
5933
5984
|
}
|
|
5934
5985
|
});
|
|
5935
5986
|
}
|
|
5936
|
-
handleQueueId(
|
|
5937
|
-
|
|
5938
|
-
if (
|
|
5987
|
+
handleQueueId(queueId) {
|
|
5988
|
+
const newQueue = this.queueList.find((i) => i._id == queueId);
|
|
5989
|
+
if (newQueue) {
|
|
5990
|
+
this.resetSearchState();
|
|
5991
|
+
this.selectedQueue = Object.assign({}, newQueue);
|
|
5992
|
+
this.selectedQueueId = queueId;
|
|
5993
|
+
this.queueBusinessService.storeSelectedQueue(queueId);
|
|
5939
5994
|
sessionStorage.setItem(SHARED.selectedQueue, JSON.stringify(this.selectedQueue));
|
|
5940
5995
|
this.clearSelection();
|
|
5996
|
+
this.resetPaginationState();
|
|
5997
|
+
this.getQueueRecordsData();
|
|
5941
5998
|
}
|
|
5942
5999
|
else {
|
|
5943
6000
|
console.warn(ERROR.NO_QUEUE_FOUND_WITH_ID);
|
|
5944
6001
|
}
|
|
5945
6002
|
}
|
|
5946
|
-
|
|
5947
|
-
this.
|
|
5948
|
-
this.
|
|
6003
|
+
filterQueues() {
|
|
6004
|
+
this.filteredQueueData = this.queueBusinessService.filterQueuesByStatus(this.queueList, this.selectedStatus);
|
|
6005
|
+
if (this.filteredQueueData.length > 0) {
|
|
6006
|
+
this.selectedQueueId = this.queueBusinessService.getFirstQueueId(this.filteredQueueData);
|
|
6007
|
+
if (this.selectedQueueId) {
|
|
6008
|
+
this.handleQueueId(this.selectedQueueId);
|
|
6009
|
+
}
|
|
6010
|
+
}
|
|
5949
6011
|
}
|
|
5950
|
-
|
|
5951
|
-
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5955
|
-
|
|
6012
|
+
getQueueRecordsData(page, limit) {
|
|
6013
|
+
if (!this.selectedQueue?.apiConfig) {
|
|
6014
|
+
console.log("Queue data or apiConfig not available");
|
|
6015
|
+
return;
|
|
6016
|
+
}
|
|
6017
|
+
const targetPage = page || this.currentPage;
|
|
6018
|
+
const targetLimit = limit || this.currentLimit;
|
|
6019
|
+
this.queueService.getPaginatedQueueRecords(this.selectedQueue.apiConfig, this.currentSearchTerm, targetPage, targetLimit, this.queryString, this.sortBy, this.sortOrder).subscribe({
|
|
6020
|
+
next: (res) => {
|
|
6021
|
+
const apiData = res?.data || res?.paginatedResults || res || [];
|
|
6022
|
+
this.table = this.tableBuilder.buildSecondaryTable(apiData);
|
|
6023
|
+
this.currentPage = targetPage;
|
|
6024
|
+
this.currentLimit = targetLimit;
|
|
6025
|
+
this.metaData = this.queueBusinessService.mapApiMetadata(res, targetPage, targetLimit);
|
|
6026
|
+
},
|
|
6027
|
+
error: (error) => {
|
|
6028
|
+
console.error("Error fetching data:", error);
|
|
6029
|
+
this.table = this.tableBuilder.buildSecondaryTable([]);
|
|
6030
|
+
this.metaData = {
|
|
6031
|
+
totalItems: 0,
|
|
6032
|
+
currentPage: targetPage,
|
|
6033
|
+
itemsPerPage: targetLimit,
|
|
6034
|
+
totalPages: 0
|
|
6035
|
+
};
|
|
6036
|
+
}
|
|
6037
|
+
});
|
|
6038
|
+
}
|
|
6039
|
+
resetPaginationState() {
|
|
6040
|
+
this.currentPage = 1;
|
|
6041
|
+
this.currentLimit = 10;
|
|
6042
|
+
}
|
|
6043
|
+
resetPage() {
|
|
6044
|
+
this.currentPage = 1;
|
|
6045
|
+
}
|
|
6046
|
+
resetSearchState() {
|
|
6047
|
+
this.currentSearchTerm = '';
|
|
6048
|
+
this.searchText = '';
|
|
5956
6049
|
}
|
|
5957
|
-
/**
|
|
5958
|
-
* Clears the current selection
|
|
5959
|
-
*/
|
|
5960
6050
|
clearSelection() {
|
|
5961
6051
|
this.selectedRows = [];
|
|
5962
6052
|
}
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
6053
|
+
onSearchTermChanged(searchTerm) {
|
|
6054
|
+
this.onSearchRequested(searchTerm);
|
|
6055
|
+
}
|
|
6056
|
+
onSelectionChange(selection) {
|
|
6057
|
+
this.onTableSelectionChange(selection);
|
|
6058
|
+
}
|
|
5966
6059
|
onAssignmentComplete(event) {
|
|
5967
6060
|
if (event.success) {
|
|
5968
|
-
// Refresh the queue data to reflect the changes
|
|
5969
6061
|
this.getAllQueueList();
|
|
5970
6062
|
}
|
|
5971
|
-
// Emit the event for parent components
|
|
5972
6063
|
this.assignmentComplete.emit(event);
|
|
5973
6064
|
}
|
|
5974
|
-
/**
|
|
5975
|
-
* Handles user assignment events from the projected user-dropdown component
|
|
5976
|
-
*/
|
|
5977
6065
|
onUserAssigned(event) {
|
|
5978
|
-
// Emit the event for parent components
|
|
5979
6066
|
this.userAssigned.emit(event);
|
|
5980
6067
|
}
|
|
5981
|
-
/**
|
|
5982
|
-
* Handles individual row selection events from the queue record table
|
|
5983
|
-
* @param {any} event - Object containing row data and selection state
|
|
5984
|
-
*/
|
|
5985
|
-
onRowSelected(event) {
|
|
5986
|
-
// Forward the event to gb-ng
|
|
5987
|
-
this.rowSelected.emit(event);
|
|
5988
|
-
}
|
|
5989
|
-
/**
|
|
5990
|
-
* Handles selected rows data events from the queue record table
|
|
5991
|
-
* @param {any[]} selectedRows - Array of selected row data
|
|
5992
|
-
*/
|
|
5993
|
-
onSelectedRowsData(selectedRows) {
|
|
5994
|
-
// Forward the event to gb-ng
|
|
5995
|
-
this.selectedRowsData.emit(selectedRows);
|
|
5996
|
-
}
|
|
5997
|
-
/**
|
|
5998
|
-
* Handles assignment data ready events from the queue record table
|
|
5999
|
-
* @param {any} event - Object containing selected rows and queue data
|
|
6000
|
-
*/
|
|
6001
|
-
onAssignmentDataReady(event) {
|
|
6002
|
-
// Forward the event to gb-ng
|
|
6003
|
-
this.assignmentDataReady.emit(event);
|
|
6004
|
-
}
|
|
6005
|
-
/**
|
|
6006
|
-
* Handles row click events from the queue record table
|
|
6007
|
-
* @param {any} record - The record data that was clicked
|
|
6008
|
-
*/
|
|
6009
|
-
onRowClick(record) {
|
|
6010
|
-
// Forward the event to gb-ng for navigation handling
|
|
6011
|
-
this.rowClick.emit(record);
|
|
6012
|
-
}
|
|
6013
6068
|
isAssignButtonEnabled() {
|
|
6014
6069
|
return this.selectedRows && this.selectedRows.length > 0;
|
|
6015
6070
|
}
|
|
6016
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
6017
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.
|
|
6071
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueContainerComponent, deps: [{ token: QueueStore }, { token: QueueService }, { token: BaseStore }, { token: QueueBusinessService }, { token: QueueRecordTableBuilderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6072
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueContainerComponent, isStandalone: false, selector: "lib-queue-container", inputs: { selectedRowsInput: "selectedRowsInput" }, outputs: { assignmentComplete: "assignmentComplete", userAssigned: "userAssigned", selectedRowsData: "selectedRowsData", assignmentDataReady: "assignmentDataReady", rowClick: "rowClick", selectionChange: "selectionChange" }, 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 h-full\">\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 <div class=\"col-12 xl:col-10 md:col-12 py-0 h-full\">\r\n \r\n @if(selectedQueue){\r\n <div class=\"flex justify-content-between align-items-center mb-3\">\r\n <div class=\"col-6 p-0\">\r\n <div class=\"searchbar-wrapper\">\r\n <queue-search \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 <div class=\"d-flex 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 h-full card mb-0 p-0\">\r\n <app-queue-record-table\r\n [table]=\"table\"\r\n [metaData]=\"metaData\"\r\n [loading]=\"loading\"\r\n [selectedRows]=\"selectedRows\"\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\r\n }\r\n </div>\r\n\r\n </div>", styles: [".custom-scroll{overflow-y:hidden}.custom-scroll:hover{overflow-y:auto}\n"], dependencies: [{ kind: "component", type: QueueSearchComponent, selector: "queue-search", inputs: ["searchText", "placeholder"], 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"], outputs: ["selectionChange", "selectedRowsData", "assignmentDataReady", "rowClick", "paginationChanged", "filterApplied", "sortApplied"] }] });
|
|
6018
6073
|
}
|
|
6019
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
6074
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueContainerComponent, decorators: [{
|
|
6020
6075
|
type: Component,
|
|
6021
|
-
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 h-full\">\r\n <app-queue-list\r\n [queueData]=\"
|
|
6022
|
-
}], ctorParameters: () => [{ type: QueueStore }, { type: QueueService }, { type: BaseStore }], propDecorators: { selectedRowsInput: [{
|
|
6076
|
+
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 h-full\">\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 <div class=\"col-12 xl:col-10 md:col-12 py-0 h-full\">\r\n \r\n @if(selectedQueue){\r\n <div class=\"flex justify-content-between align-items-center mb-3\">\r\n <div class=\"col-6 p-0\">\r\n <div class=\"searchbar-wrapper\">\r\n <queue-search \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 <div class=\"d-flex 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 h-full card mb-0 p-0\">\r\n <app-queue-record-table\r\n [table]=\"table\"\r\n [metaData]=\"metaData\"\r\n [loading]=\"loading\"\r\n [selectedRows]=\"selectedRows\"\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\r\n }\r\n </div>\r\n\r\n </div>", styles: [".custom-scroll{overflow-y:hidden}.custom-scroll:hover{overflow-y:auto}\n"] }]
|
|
6077
|
+
}], ctorParameters: () => [{ type: QueueStore }, { type: QueueService }, { type: BaseStore }, { type: QueueBusinessService }, { type: QueueRecordTableBuilderService }], propDecorators: { selectedRowsInput: [{
|
|
6023
6078
|
type: Input
|
|
6024
6079
|
}], assignmentComplete: [{
|
|
6025
6080
|
type: Output
|
|
6026
6081
|
}], userAssigned: [{
|
|
6027
6082
|
type: Output
|
|
6028
|
-
}], rowSelected: [{
|
|
6029
|
-
type: Output
|
|
6030
6083
|
}], selectedRowsData: [{
|
|
6031
6084
|
type: Output
|
|
6032
6085
|
}], assignmentDataReady: [{
|
|
6033
6086
|
type: Output
|
|
6034
6087
|
}], rowClick: [{
|
|
6035
6088
|
type: Output
|
|
6089
|
+
}], selectionChange: [{
|
|
6090
|
+
type: Output
|
|
6036
6091
|
}] } });
|
|
6037
6092
|
|
|
6038
6093
|
const routes = [
|
|
@@ -6044,11 +6099,11 @@ const routes = [
|
|
|
6044
6099
|
},
|
|
6045
6100
|
];
|
|
6046
6101
|
class QueueRoutingModule {
|
|
6047
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
6048
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
6049
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
6102
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6103
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: QueueRoutingModule, imports: [i3$4.RouterModule], exports: [RouterModule] });
|
|
6104
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
|
6050
6105
|
}
|
|
6051
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
6106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueRoutingModule, decorators: [{
|
|
6052
6107
|
type: NgModule,
|
|
6053
6108
|
args: [{
|
|
6054
6109
|
imports: [RouterModule.forChild(routes)],
|
|
@@ -6056,36 +6111,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
6056
6111
|
}]
|
|
6057
6112
|
}] });
|
|
6058
6113
|
|
|
6059
|
-
class ApplicationAssignmentService {
|
|
6060
|
-
http;
|
|
6061
|
-
appConfigService;
|
|
6062
|
-
constructor(http, appConfigService) {
|
|
6063
|
-
this.http = http;
|
|
6064
|
-
this.appConfigService = appConfigService;
|
|
6065
|
-
}
|
|
6066
|
-
/**
|
|
6067
|
-
* Assign an application to a user
|
|
6068
|
-
* @param applicationId - The ID of the application to assign
|
|
6069
|
-
* @param underWriterId - The ID of the user to assign the application to
|
|
6070
|
-
* @returns Observable of the assignment response
|
|
6071
|
-
*/
|
|
6072
|
-
assignApplication(applicationId, underWriterId) {
|
|
6073
|
-
const url = `${this.appConfigService.apiBaseUrl}${DATASOURCES.APPLICATION_ASSIGNMENT}${applicationId}/${underWriterId}`;
|
|
6074
|
-
return this.http.post(url, {});
|
|
6075
|
-
}
|
|
6076
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ApplicationAssignmentService, deps: [{ token: i1.HttpClient }, { token: AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6077
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ApplicationAssignmentService, providedIn: 'root' });
|
|
6078
|
-
}
|
|
6079
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ApplicationAssignmentService, decorators: [{
|
|
6080
|
-
type: Injectable,
|
|
6081
|
-
args: [{
|
|
6082
|
-
providedIn: 'root'
|
|
6083
|
-
}]
|
|
6084
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: AppConfigService }] });
|
|
6085
|
-
|
|
6086
6114
|
class QueueModule {
|
|
6087
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
6088
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
6115
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6116
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: QueueModule, declarations: [QueueContainerComponent,
|
|
6089
6117
|
QueueSearchComponent,
|
|
6090
6118
|
QueueItemComponent,
|
|
6091
6119
|
QueueListComponent,
|
|
@@ -6098,9 +6126,7 @@ class QueueModule {
|
|
|
6098
6126
|
SharedModule,
|
|
6099
6127
|
TagModule,
|
|
6100
6128
|
TableSecondaryComponent], exports: [QueueContainerComponent] });
|
|
6101
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
6102
|
-
ApplicationAssignmentService
|
|
6103
|
-
], imports: [CommonModule,
|
|
6129
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueModule, imports: [CommonModule,
|
|
6104
6130
|
QueueRoutingModule,
|
|
6105
6131
|
FormsModule,
|
|
6106
6132
|
DropdownModule,
|
|
@@ -6110,7 +6136,7 @@ class QueueModule {
|
|
|
6110
6136
|
TagModule,
|
|
6111
6137
|
TableSecondaryComponent] });
|
|
6112
6138
|
}
|
|
6113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
6139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueModule, decorators: [{
|
|
6114
6140
|
type: NgModule,
|
|
6115
6141
|
args: [{
|
|
6116
6142
|
declarations: [
|
|
@@ -6133,9 +6159,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
6133
6159
|
],
|
|
6134
6160
|
exports: [
|
|
6135
6161
|
QueueContainerComponent
|
|
6136
|
-
],
|
|
6137
|
-
providers: [
|
|
6138
|
-
ApplicationAssignmentService
|
|
6139
6162
|
]
|
|
6140
6163
|
}]
|
|
6141
6164
|
}] });
|