cat-qw-lib 0.57.9 → 0.58.1
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 +63 -63
- package/fesm2022/cat-qw-lib.mjs.map +1 -1
- package/lib/shared/shared.module.d.ts +29 -30
- package/lib/widget/components/custom-widget/custom-widget.component.d.ts +13 -0
- package/lib/widget/models/custom-widget.model.d.ts +13 -0
- package/lib/widget/widget.module.d.ts +10 -9
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
package/fesm2022/cat-qw-lib.mjs
CHANGED
|
@@ -1709,60 +1709,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
1709
1709
|
type: Output
|
|
1710
1710
|
}] } });
|
|
1711
1711
|
|
|
1712
|
-
class CustomWidgetService {
|
|
1713
|
-
constructor() { }
|
|
1714
|
-
isLastIndex(event, widgetData) {
|
|
1715
|
-
if (!widgetData.statusList) {
|
|
1716
|
-
return false;
|
|
1717
|
-
}
|
|
1718
|
-
const index = widgetData.statusList.indexOf(event);
|
|
1719
|
-
return index === widgetData.statusList.length - 1;
|
|
1720
|
-
}
|
|
1721
|
-
getNextEventStatus(event, widgetData) {
|
|
1722
|
-
const index = this.getEventIndex(event, widgetData);
|
|
1723
|
-
if (widgetData.statusList && index >= 0 && index + 1 < widgetData.statusList.length) {
|
|
1724
|
-
return widgetData.statusList[index + 1].status;
|
|
1725
|
-
}
|
|
1726
|
-
return null;
|
|
1727
|
-
}
|
|
1728
|
-
getEventIndex(event, widgetData) {
|
|
1729
|
-
return widgetData.statusList ? widgetData.statusList.indexOf(event) : -1;
|
|
1730
|
-
}
|
|
1731
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: CustomWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1732
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: CustomWidgetService, providedIn: 'root' });
|
|
1733
|
-
}
|
|
1734
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: CustomWidgetService, decorators: [{
|
|
1735
|
-
type: Injectable,
|
|
1736
|
-
args: [{
|
|
1737
|
-
providedIn: 'root'
|
|
1738
|
-
}]
|
|
1739
|
-
}], ctorParameters: () => [] });
|
|
1740
|
-
|
|
1741
|
-
class CustomWidgetComponent {
|
|
1742
|
-
widgetUtilService;
|
|
1743
|
-
widgetData;
|
|
1744
|
-
constructor(widgetUtilService) {
|
|
1745
|
-
this.widgetUtilService = widgetUtilService;
|
|
1746
|
-
}
|
|
1747
|
-
isLastIndex(event) {
|
|
1748
|
-
return this.widgetUtilService.isLastIndex(event, this.widgetData);
|
|
1749
|
-
}
|
|
1750
|
-
getNextEventStatus(event) {
|
|
1751
|
-
return this.widgetUtilService.getNextEventStatus(event, this.widgetData);
|
|
1752
|
-
}
|
|
1753
|
-
getEventIndex(event) {
|
|
1754
|
-
return this.widgetUtilService.getEventIndex(event, this.widgetData);
|
|
1755
|
-
}
|
|
1756
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: CustomWidgetComponent, deps: [{ token: CustomWidgetService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1757
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", 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"] }] });
|
|
1758
|
-
}
|
|
1759
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: CustomWidgetComponent, decorators: [{
|
|
1760
|
-
type: Component,
|
|
1761
|
-
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"] }]
|
|
1762
|
-
}], ctorParameters: () => [{ type: CustomWidgetService }], propDecorators: { widgetData: [{
|
|
1763
|
-
type: Input
|
|
1764
|
-
}] } });
|
|
1765
|
-
|
|
1766
1712
|
class SessionService {
|
|
1767
1713
|
router;
|
|
1768
1714
|
constructor(router) {
|
|
@@ -1847,7 +1793,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
1847
1793
|
|
|
1848
1794
|
class SharedModule {
|
|
1849
1795
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1850
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: SharedModule, declarations: [SidebarComponent, QueueSearchCustomerComponent,
|
|
1796
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: SharedModule, declarations: [SidebarComponent, QueueSearchCustomerComponent, HasPermissionDirective], imports: [CommonModule,
|
|
1851
1797
|
FormsModule,
|
|
1852
1798
|
InputTextModule,
|
|
1853
1799
|
ButtonModule,
|
|
@@ -1874,7 +1820,7 @@ class SharedModule {
|
|
|
1874
1820
|
CapitalizeWordsPipe,
|
|
1875
1821
|
TextAreaComponent,
|
|
1876
1822
|
BaseFormComponent,
|
|
1877
|
-
BlockListComponent], exports: [HasPermissionDirective, CapitalizeWordsPipe, TextBoxComponent, FormsModule, ListboxModule, DialogModule,
|
|
1823
|
+
BlockListComponent], exports: [HasPermissionDirective, CapitalizeWordsPipe, TextBoxComponent, FormsModule, ListboxModule, DialogModule, CheckboxModule, DropdownComponent, FormContainerComponent, BaseListComponent, SidebarComponent, DividerModule, CardModule, QueueSearchCustomerComponent, BlockListComponent] });
|
|
1878
1824
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SharedModule, imports: [CommonModule,
|
|
1879
1825
|
FormsModule,
|
|
1880
1826
|
InputTextModule,
|
|
@@ -1903,7 +1849,7 @@ class SharedModule {
|
|
|
1903
1849
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SharedModule, decorators: [{
|
|
1904
1850
|
type: NgModule,
|
|
1905
1851
|
args: [{
|
|
1906
|
-
declarations: [SidebarComponent, QueueSearchCustomerComponent,
|
|
1852
|
+
declarations: [SidebarComponent, QueueSearchCustomerComponent, HasPermissionDirective],
|
|
1907
1853
|
imports: [
|
|
1908
1854
|
CommonModule,
|
|
1909
1855
|
FormsModule,
|
|
@@ -1934,7 +1880,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
1934
1880
|
BaseFormComponent,
|
|
1935
1881
|
BlockListComponent
|
|
1936
1882
|
],
|
|
1937
|
-
exports: [HasPermissionDirective, CapitalizeWordsPipe, TextBoxComponent, FormsModule, ListboxModule, DialogModule,
|
|
1883
|
+
exports: [HasPermissionDirective, CapitalizeWordsPipe, TextBoxComponent, FormsModule, ListboxModule, DialogModule, CheckboxModule, DropdownComponent, FormContainerComponent, BaseListComponent, SidebarComponent, DividerModule, CardModule, QueueSearchCustomerComponent, BlockListComponent]
|
|
1938
1884
|
}]
|
|
1939
1885
|
}] });
|
|
1940
1886
|
|
|
@@ -4440,6 +4386,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
4440
4386
|
type: Input
|
|
4441
4387
|
}] } });
|
|
4442
4388
|
|
|
4389
|
+
class CustomWidgetService {
|
|
4390
|
+
constructor() { }
|
|
4391
|
+
isLastIndex(event, widgetData) {
|
|
4392
|
+
if (!widgetData.statusList) {
|
|
4393
|
+
return false;
|
|
4394
|
+
}
|
|
4395
|
+
const index = widgetData.statusList.indexOf(event);
|
|
4396
|
+
return index === widgetData.statusList.length - 1;
|
|
4397
|
+
}
|
|
4398
|
+
getNextEventStatus(event, widgetData) {
|
|
4399
|
+
const index = this.getEventIndex(event, widgetData);
|
|
4400
|
+
if (widgetData.statusList && index >= 0 && index + 1 < widgetData.statusList.length) {
|
|
4401
|
+
return widgetData.statusList[index + 1].status;
|
|
4402
|
+
}
|
|
4403
|
+
return null;
|
|
4404
|
+
}
|
|
4405
|
+
getEventIndex(event, widgetData) {
|
|
4406
|
+
return widgetData.statusList ? widgetData.statusList.indexOf(event) : -1;
|
|
4407
|
+
}
|
|
4408
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: CustomWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4409
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: CustomWidgetService, providedIn: 'root' });
|
|
4410
|
+
}
|
|
4411
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: CustomWidgetService, decorators: [{
|
|
4412
|
+
type: Injectable,
|
|
4413
|
+
args: [{
|
|
4414
|
+
providedIn: 'root'
|
|
4415
|
+
}]
|
|
4416
|
+
}], ctorParameters: () => [] });
|
|
4417
|
+
|
|
4418
|
+
class CustomWidgetComponent {
|
|
4419
|
+
widgetUtilService;
|
|
4420
|
+
widgetData;
|
|
4421
|
+
constructor(widgetUtilService) {
|
|
4422
|
+
this.widgetUtilService = widgetUtilService;
|
|
4423
|
+
}
|
|
4424
|
+
isLastIndex(event) {
|
|
4425
|
+
return this.widgetUtilService.isLastIndex(event, this.widgetData);
|
|
4426
|
+
}
|
|
4427
|
+
getNextEventStatus(event) {
|
|
4428
|
+
return this.widgetUtilService.getNextEventStatus(event, this.widgetData);
|
|
4429
|
+
}
|
|
4430
|
+
getEventIndex(event) {
|
|
4431
|
+
return this.widgetUtilService.getEventIndex(event, this.widgetData);
|
|
4432
|
+
}
|
|
4433
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: CustomWidgetComponent, deps: [{ token: CustomWidgetService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4434
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", 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"] }] });
|
|
4435
|
+
}
|
|
4436
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: CustomWidgetComponent, decorators: [{
|
|
4437
|
+
type: Component,
|
|
4438
|
+
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"] }]
|
|
4439
|
+
}], ctorParameters: () => [{ type: CustomWidgetService }], propDecorators: { widgetData: [{
|
|
4440
|
+
type: Input
|
|
4441
|
+
}] } });
|
|
4442
|
+
|
|
4443
4443
|
class WidgetMenuComponent {
|
|
4444
4444
|
widgetService;
|
|
4445
4445
|
activatedRoute;
|
|
@@ -4544,7 +4544,7 @@ class WidgetMenuComponent {
|
|
|
4544
4544
|
this.destroy$.complete();
|
|
4545
4545
|
}
|
|
4546
4546
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: WidgetMenuComponent, deps: [{ token: WidgetService }, { token: i3$4.ActivatedRoute }, { token: WidgetQuery }, { token: WidgetStore }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4547
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", 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-content-wrapper{border-top:1px solid rgba(68,72,109,.1)}.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$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type:
|
|
4547
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", 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-content-wrapper{border-top:1px solid rgba(68,72,109,.1)}.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$1.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"] }] });
|
|
4548
4548
|
}
|
|
4549
4549
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: WidgetMenuComponent, decorators: [{
|
|
4550
4550
|
type: Component,
|
|
@@ -4918,14 +4918,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
4918
4918
|
|
|
4919
4919
|
class WidgetModule {
|
|
4920
4920
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: WidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4921
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: WidgetModule, declarations: [WidgetContainerComponent, WidgetMenuComponent, WidgetMainComponent, WidgetHeaderComponent, WidgetFooterComponent, WidgetBodyComponent, WidgetItemComponent, WidgetRowTileComponent, WidgetMenuContainerComponent, WidgetMenuHeaderComponent, WidgetMenuBodyComponent, WidgetMenuItemComponent], imports: [CommonModule,
|
|
4921
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: WidgetModule, declarations: [WidgetContainerComponent, WidgetMenuComponent, WidgetMainComponent, WidgetHeaderComponent, WidgetFooterComponent, WidgetBodyComponent, WidgetItemComponent, WidgetRowTileComponent, WidgetMenuContainerComponent, WidgetMenuHeaderComponent, WidgetMenuBodyComponent, WidgetMenuItemComponent, CustomWidgetComponent], imports: [CommonModule,
|
|
4922
4922
|
ButtonModule,
|
|
4923
4923
|
DividerModule,
|
|
4924
4924
|
CardModule,
|
|
4925
4925
|
SharedModule,
|
|
4926
4926
|
SidebarModule,
|
|
4927
4927
|
TimelineModule,
|
|
4928
|
-
ChartModule], exports: [WidgetContainerComponent, WidgetMenuContainerComponent] });
|
|
4928
|
+
ChartModule], exports: [WidgetContainerComponent, WidgetMenuContainerComponent, CustomWidgetComponent] });
|
|
4929
4929
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: WidgetModule, imports: [CommonModule,
|
|
4930
4930
|
ButtonModule,
|
|
4931
4931
|
DividerModule,
|
|
@@ -4938,7 +4938,7 @@ class WidgetModule {
|
|
|
4938
4938
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: WidgetModule, decorators: [{
|
|
4939
4939
|
type: NgModule,
|
|
4940
4940
|
args: [{
|
|
4941
|
-
declarations: [WidgetContainerComponent, WidgetMenuComponent, WidgetMainComponent, WidgetHeaderComponent, WidgetFooterComponent, WidgetBodyComponent, WidgetItemComponent, WidgetRowTileComponent, WidgetMenuContainerComponent, WidgetMenuHeaderComponent, WidgetMenuBodyComponent, WidgetMenuItemComponent],
|
|
4941
|
+
declarations: [WidgetContainerComponent, WidgetMenuComponent, WidgetMainComponent, WidgetHeaderComponent, WidgetFooterComponent, WidgetBodyComponent, WidgetItemComponent, WidgetRowTileComponent, WidgetMenuContainerComponent, WidgetMenuHeaderComponent, WidgetMenuBodyComponent, WidgetMenuItemComponent, CustomWidgetComponent],
|
|
4942
4942
|
imports: [
|
|
4943
4943
|
CommonModule,
|
|
4944
4944
|
ButtonModule,
|
|
@@ -4949,7 +4949,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImpor
|
|
|
4949
4949
|
TimelineModule,
|
|
4950
4950
|
ChartModule
|
|
4951
4951
|
],
|
|
4952
|
-
exports: [WidgetContainerComponent, WidgetMenuContainerComponent]
|
|
4952
|
+
exports: [WidgetContainerComponent, WidgetMenuContainerComponent, CustomWidgetComponent]
|
|
4953
4953
|
}]
|
|
4954
4954
|
}] });
|
|
4955
4955
|
|