tango-app-ui-shared 3.0.3 → 3.0.4
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/esm2022/lib/modules/common/common-shared.module.mjs +30 -0
- package/esm2022/lib/modules/common/custom-select/custom-select.component.mjs +134 -0
- package/esm2022/lib/modules/common/filters/filters.component.mjs +154 -0
- package/esm2022/lib/modules/common/pagination/pagination.component.mjs +48 -0
- package/esm2022/lib/modules/layout/header/header-menu/header-menu.component.mjs +3 -3
- package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +2 -2
- package/esm2022/lib/modules/layout/layout/layout.component.mjs +3 -3
- package/esm2022/lib/modules/layout/layout.module.mjs +22 -5
- package/esm2022/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.mjs +11 -5
- package/esm2022/lib/modules/layout/sidebar/sidebar.component.mjs +3 -3
- package/esm2022/lib/modules/layout/toolbar/accounting/accounting.component.mjs +4 -3
- package/esm2022/lib/modules/layout/toolbar/classic/classic.component.mjs +252 -48
- package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +38 -0
- package/esm2022/lib/modules/layout/toolbar/extended/extended.component.mjs +4 -3
- package/esm2022/lib/modules/layout/toolbar/reports/reports.component.mjs +4 -3
- package/esm2022/lib/modules/layout/toolbar/saas/saas.component.mjs +4 -3
- package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +4 -8
- package/esm2022/lib/routes/route-wraper-modules/ticket-wrapper.module.mjs +18 -0
- package/esm2022/lib/routes/routing.mjs +5 -1
- package/esm2022/lib/services/auth.service.mjs +24 -4
- package/esm2022/lib/services/global-state.service.mjs +3 -1
- package/esm2022/lib/services/toast.service.mjs +66 -0
- package/esm2022/public-api.mjs +7 -1
- package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-BLrWsK0B.mjs +21 -0
- package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-BLrWsK0B.mjs.map +1 -0
- package/fesm2022/tango-app-ui-shared.mjs +832 -141
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/lib/modules/common/common-shared.module.d.ts +12 -0
- package/lib/modules/common/custom-select/custom-select.component.d.ts +29 -0
- package/lib/modules/common/filters/filters.component.d.ts +32 -0
- package/lib/modules/common/pagination/pagination.component.d.ts +17 -0
- package/lib/modules/layout/layout.module.d.ts +11 -7
- package/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.d.ts +2 -0
- package/lib/modules/layout/toolbar/classic/classic.component.d.ts +36 -17
- package/lib/modules/layout/toolbar/client-settings/client-settings.component.d.ts +15 -0
- package/lib/routes/route-wraper-modules/ticket-wrapper.module.d.ts +7 -0
- package/lib/services/auth.service.d.ts +8 -1
- package/lib/services/global-state.service.d.ts +2 -0
- package/lib/services/toast.service.d.ts +9 -0
- package/package.json +1 -1
- package/public-api.d.ts +6 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, HostBinding,
|
|
2
|
+
import { Component, Input, HostBinding, HostListener, ViewChild, Injectable, EventEmitter, ChangeDetectionStrategy, Output, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/router';
|
|
4
4
|
import { NavigationEnd, NavigationCancel, ResolveEnd, RouterModule } from '@angular/router';
|
|
5
5
|
import * as i1 from 'tango-app-ui-metronics';
|
|
@@ -8,11 +8,25 @@ import * as i2 from '@angular/common';
|
|
|
8
8
|
import { CommonModule } from '@angular/common';
|
|
9
9
|
import { filter } from 'rxjs/operators';
|
|
10
10
|
import * as i3 from '@angular/platform-browser';
|
|
11
|
+
import * as dayjs from 'dayjs';
|
|
12
|
+
import 'dayjs/locale/en';
|
|
13
|
+
import utc from 'dayjs/plugin/utc';
|
|
14
|
+
import timezone from 'dayjs/plugin/timezone';
|
|
15
|
+
import * as i2$1 from 'projects/tango-app-shared/src/lib/services/global-state.service';
|
|
16
|
+
import * as i3$1 from 'projects/tango-app-shared/src/lib/services/auth.service';
|
|
17
|
+
import * as i2$2 from '@angular/forms';
|
|
18
|
+
import { FormsModule } from '@angular/forms';
|
|
19
|
+
import * as i6 from 'ngx-daterangepicker-material';
|
|
20
|
+
import { NgxDaterangepickerMd } from 'ngx-daterangepicker-material';
|
|
21
|
+
import { BehaviorSubject, throwError, map, catchError } from 'rxjs';
|
|
22
|
+
import * as i3$2 from '@angular/common/http';
|
|
23
|
+
import * as i3$3 from 'ngx-pagination';
|
|
24
|
+
import { NgxPaginationModule } from 'ngx-pagination';
|
|
11
25
|
import * as i1$2 from '@ngx-translate/core';
|
|
12
26
|
import { TranslateModule } from '@ngx-translate/core';
|
|
13
27
|
import { InlineSVGModule } from 'ng-inline-svg-2';
|
|
14
28
|
import { NgbDropdownModule, NgbProgressbarModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
15
|
-
import
|
|
29
|
+
import Swal from 'sweetalert2';
|
|
16
30
|
|
|
17
31
|
class HeaderMenuComponent {
|
|
18
32
|
pageInfo;
|
|
@@ -40,11 +54,11 @@ class HeaderMenuComponent {
|
|
|
40
54
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
41
55
|
}
|
|
42
56
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HeaderMenuComponent, deps: [{ token: i1.PageInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: HeaderMenuComponent, selector: "lib-header-menu", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n <!-- begin::Title -->\r\n <h1 class=\"page-heading d-flex text-gray-900 fw-bold fs-3 my-0 flex-column justify-content-center\">\r\n {{ title }}\r\n <ng-container *ngIf=\"appPageTitleDescription\">\r\n <ng-container *ngIf=\"description$ | async as description\">\r\n\r\n\r\n <!--begin::Description-->\r\n <span class=\"page-desc text-muted fs-7 fw-semibold\" [ngClass]=\"{'pt-2': appPageTitleDirection === 'column'}\">\r\n <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <!--begin::Separator-->\r\n <span class=\"h-20px border-1 border-gray-300 border-start ms-3 mx-2\"></span>\r\n <!--end::Separator-->\r\n </ng-container>\r\n\r\n {{description}}\r\n </span>\r\n <!--end::Description-->\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </h1>\r\n <!-- end::Title -->\r\n\r\n</ng-container>\r\n", styles: [":host{height:inherit;width:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
57
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: HeaderMenuComponent, selector: "lib-header-menu", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n <!-- begin::Title -->\r\n <h1 class=\"page-heading d-flex text-gray-900 fw-bold fs-3 my-0 flex-column justify-content-center\">\r\n {{ title }}\r\n <ng-container *ngIf=\"appPageTitleDescription\">\r\n <ng-container *ngIf=\"description$ | async as description\">\r\n\r\n\r\n <!--begin::Description-->\r\n <span class=\"page-desc text-muted fs-7 fw-semibold mt-2\" [ngClass]=\"{'pt-2': appPageTitleDirection === 'column'}\">\r\n <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <!--begin::Separator-->\r\n <span class=\"h-20px border-1 border-gray-300 border-start ms-3 mx-2\"></span>\r\n <!--end::Separator-->\r\n </ng-container>\r\n\r\n {{description}}\r\n </span>\r\n <!--end::Description-->\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </h1>\r\n <!-- end::Title -->\r\n\r\n</ng-container>\r\n", styles: [":host{height:inherit;width:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
44
58
|
}
|
|
45
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HeaderMenuComponent, decorators: [{
|
|
46
60
|
type: Component,
|
|
47
|
-
args: [{ selector: 'lib-header-menu', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n <!-- begin::Title -->\r\n <h1 class=\"page-heading d-flex text-gray-900 fw-bold fs-3 my-0 flex-column justify-content-center\">\r\n {{ title }}\r\n <ng-container *ngIf=\"appPageTitleDescription\">\r\n <ng-container *ngIf=\"description$ | async as description\">\r\n\r\n\r\n <!--begin::Description-->\r\n <span class=\"page-desc text-muted fs-7 fw-semibold\" [ngClass]=\"{'pt-2': appPageTitleDirection === 'column'}\">\r\n <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <!--begin::Separator-->\r\n <span class=\"h-20px border-1 border-gray-300 border-start ms-3 mx-2\"></span>\r\n <!--end::Separator-->\r\n </ng-container>\r\n\r\n {{description}}\r\n </span>\r\n <!--end::Description-->\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </h1>\r\n <!-- end::Title -->\r\n\r\n</ng-container>\r\n", styles: [":host{height:inherit;width:inherit}\n"] }]
|
|
61
|
+
args: [{ selector: 'lib-header-menu', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n <!-- begin::Title -->\r\n <h1 class=\"page-heading d-flex text-gray-900 fw-bold fs-3 my-0 flex-column justify-content-center\">\r\n {{ title }}\r\n <ng-container *ngIf=\"appPageTitleDescription\">\r\n <ng-container *ngIf=\"description$ | async as description\">\r\n\r\n\r\n <!--begin::Description-->\r\n <span class=\"page-desc text-muted fs-7 fw-semibold mt-2\" [ngClass]=\"{'pt-2': appPageTitleDirection === 'column'}\">\r\n <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <!--begin::Separator-->\r\n <span class=\"h-20px border-1 border-gray-300 border-start ms-3 mx-2\"></span>\r\n <!--end::Separator-->\r\n </ng-container>\r\n\r\n {{description}}\r\n </span>\r\n <!--end::Description-->\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n </h1>\r\n <!-- end::Title -->\r\n\r\n</ng-container>\r\n", styles: [":host{height:inherit;width:inherit}\n"] }]
|
|
48
62
|
}], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i0.ChangeDetectorRef }], propDecorators: { appPageTitleDirection: [{
|
|
49
63
|
type: Input
|
|
50
64
|
}], appPageTitleDescription: [{
|
|
@@ -1559,11 +1573,11 @@ class PageTitleComponent {
|
|
|
1559
1573
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
1560
1574
|
}
|
|
1561
1575
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1.PageInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1562
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PageTitleComponent, selector: "lib-page-title", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleBreadcrumb: "appPageTitleBreadcrumb", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color
|
|
1576
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PageTitleComponent, selector: "lib-page-title", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleBreadcrumb: "appPageTitleBreadcrumb", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
1563
1577
|
}
|
|
1564
1578
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PageTitleComponent, decorators: [{
|
|
1565
1579
|
type: Component,
|
|
1566
|
-
args: [{ selector: 'lib-page-title', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color
|
|
1580
|
+
args: [{ selector: 'lib-page-title', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\n"] }]
|
|
1567
1581
|
}], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i0.ChangeDetectorRef }], propDecorators: { appPageTitleDirection: [{
|
|
1568
1582
|
type: Input
|
|
1569
1583
|
}], appPageTitleBreadcrumb: [{
|
|
@@ -1572,117 +1586,263 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
1572
1586
|
type: Input
|
|
1573
1587
|
}] } });
|
|
1574
1588
|
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
ngOnInit() {
|
|
1578
|
-
}
|
|
1579
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccountingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1580
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AccountingComponent, selector: "lib-accounting", ngImport: i0, template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
1581
|
-
}
|
|
1582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccountingComponent, decorators: [{
|
|
1583
|
-
type: Component,
|
|
1584
|
-
args: [{ selector: 'lib-accounting', template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n" }]
|
|
1585
|
-
}], ctorParameters: () => [] });
|
|
1586
|
-
|
|
1589
|
+
dayjs.extend(utc);
|
|
1590
|
+
dayjs.extend(timezone);
|
|
1587
1591
|
class ClassicComponent {
|
|
1588
1592
|
layout;
|
|
1593
|
+
globalService;
|
|
1594
|
+
service;
|
|
1589
1595
|
unsubscribe = [];
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
appToolbarDaterangepickerButton;
|
|
1601
|
-
secondaryButtonClass = '';
|
|
1602
|
-
filterButtonClass = '';
|
|
1603
|
-
daterangepickerButtonClass = '';
|
|
1604
|
-
constructor(layout) {
|
|
1596
|
+
dataObject = [
|
|
1597
|
+
{ Description: 'Clients', Issues: [] }
|
|
1598
|
+
];
|
|
1599
|
+
isCustomDate;
|
|
1600
|
+
dummyArray = [];
|
|
1601
|
+
noFilter = false;
|
|
1602
|
+
searchValue;
|
|
1603
|
+
responseArray = [];
|
|
1604
|
+
getClientList;
|
|
1605
|
+
constructor(layout, globalService, service) {
|
|
1605
1606
|
this.layout = layout;
|
|
1607
|
+
this.globalService = globalService;
|
|
1608
|
+
this.service = service;
|
|
1609
|
+
}
|
|
1610
|
+
ngOnDestroy() {
|
|
1611
|
+
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
1606
1612
|
}
|
|
1613
|
+
// @Input() dataObject: any[] = [];
|
|
1614
|
+
Opendropdown = false;
|
|
1615
|
+
permission = [
|
|
1616
|
+
{ group: 'Super Admin', description: 'Lorem ipsum dolor sit amet, consectetur ' },
|
|
1617
|
+
{ group: 'Admin', description: 'Lorem ipsum dolor sit amet, consectetur ' },
|
|
1618
|
+
{ group: 'User', description: 'Lorem ipsum dolor sit amet, consectetur ' },
|
|
1619
|
+
];
|
|
1620
|
+
showdropdown;
|
|
1621
|
+
selectedValues = [];
|
|
1622
|
+
selectedValuesArray = [];
|
|
1623
|
+
selectedDateRange = {};
|
|
1624
|
+
selectedFilters = {
|
|
1625
|
+
store: null,
|
|
1626
|
+
stores: [],
|
|
1627
|
+
date: null,
|
|
1628
|
+
};
|
|
1607
1629
|
ngOnInit() {
|
|
1608
|
-
this.
|
|
1630
|
+
this.service.getClients().subscribe({
|
|
1631
|
+
next: (res) => {
|
|
1632
|
+
this.getClientList = res?.data?.result;
|
|
1633
|
+
this.dataObject[0].Issues = this.getClientList;
|
|
1634
|
+
}
|
|
1635
|
+
});
|
|
1636
|
+
console.log(this.dataObject);
|
|
1637
|
+
this.dummyArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1638
|
+
this.responseArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1639
|
+
// this.updateProps();
|
|
1609
1640
|
const subscr = this.layout.layoutConfigSubject
|
|
1610
1641
|
.asObservable()
|
|
1611
1642
|
.subscribe(() => {
|
|
1612
|
-
this.updateProps();
|
|
1643
|
+
// this.updateProps();
|
|
1613
1644
|
});
|
|
1614
1645
|
this.unsubscribe.push(subscr);
|
|
1646
|
+
try {
|
|
1647
|
+
// Parse dates from localStorage and format them
|
|
1648
|
+
const headerFilters = JSON.parse(localStorage.getItem('header-filters') || '{}');
|
|
1649
|
+
if (headerFilters.stores) {
|
|
1650
|
+
this.selectedValuesArray = [headerFilters.stores];
|
|
1651
|
+
}
|
|
1652
|
+
if (headerFilters.date) {
|
|
1653
|
+
this.globalService.dataRangeValue.next(this.selectedFilters);
|
|
1654
|
+
this.selectedDateRange.startDate = headerFilters.date.startDate;
|
|
1655
|
+
this.selectedDateRange.endDate = headerFilters.date.endDate;
|
|
1656
|
+
}
|
|
1657
|
+
}
|
|
1658
|
+
catch (error) {
|
|
1659
|
+
console.error('Error parsing dates from localStorage:', error);
|
|
1660
|
+
// Handle parsing error, e.g., set default dates
|
|
1661
|
+
// Example:
|
|
1662
|
+
this.selectedDateRange.startDate = dayjs().format('MM-DD-YYYY');
|
|
1663
|
+
this.selectedDateRange.endDate = dayjs().format('MM-DD-YYYY');
|
|
1664
|
+
}
|
|
1665
|
+
}
|
|
1666
|
+
onClick(event) {
|
|
1667
|
+
const target = event.target;
|
|
1668
|
+
if (!target.closest('.dropdown1')) {
|
|
1669
|
+
this.Opendropdown = false;
|
|
1670
|
+
}
|
|
1671
|
+
if (!target.closest('.dropdown-content')) {
|
|
1672
|
+
this.dataObject.forEach((item, i) => {
|
|
1673
|
+
item.isOpen = false;
|
|
1674
|
+
});
|
|
1675
|
+
}
|
|
1615
1676
|
}
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
this.
|
|
1623
|
-
? 'btn-light'
|
|
1624
|
-
: 'bg-body btn-color-gray-700 btn-active-color-primary';
|
|
1625
|
-
this.appToolbarFixedDesktop = this.layout.getProp('appToolbarFixedDesktop');
|
|
1626
|
-
this.appToolbarSecondaryButtonLabel = this.layout.getProp('appToolbarSecondaryButtonLabel');
|
|
1627
|
-
this.appToolbarSecondaryButtonUrl = this.layout.getProp('appToolbarSecondaryButtonUrl');
|
|
1628
|
-
this.appToolbarSecondaryButtonModal = this.layout.getProp('appToolbarSecondaryButtonModal');
|
|
1629
|
-
this.appToolbarFilterButton = this.layout.getProp('appToolbarFilterButton');
|
|
1630
|
-
this.appToolbarDaterangepickerButton = this.layout.getProp('appToolbarDaterangepickerButton');
|
|
1631
|
-
this.filterButtonClass = this.appToolbarFixedDesktop
|
|
1632
|
-
? 'btn-light'
|
|
1633
|
-
: 'bg-body btn-color-gray-600 btn-active-color-primary';
|
|
1634
|
-
this.daterangepickerButtonClass = this.appToolbarFixedDesktop
|
|
1635
|
-
? 'btn-light'
|
|
1636
|
-
: 'bg-body btn-color-gray-700 btn-active-color-primary';
|
|
1677
|
+
// ngOnInit() {
|
|
1678
|
+
// console.log(this.dataObject,'obj');
|
|
1679
|
+
// }
|
|
1680
|
+
opendropdown(e) {
|
|
1681
|
+
console.log(687);
|
|
1682
|
+
e.stopPropagation();
|
|
1683
|
+
this.Opendropdown = !this.Opendropdown;
|
|
1637
1684
|
}
|
|
1638
|
-
|
|
1639
|
-
|
|
1685
|
+
Dropdown(value, index, event) {
|
|
1686
|
+
event.stopPropagation();
|
|
1687
|
+
this.dataObject.forEach((item, i) => {
|
|
1688
|
+
if (i !== index) {
|
|
1689
|
+
item.isOpen = false; // Close other dropdowns
|
|
1690
|
+
}
|
|
1691
|
+
});
|
|
1692
|
+
this.dataObject[index].isOpen = !this.dataObject[index].isOpen;
|
|
1693
|
+
// if (this.dataObject[index].isOpen) {
|
|
1694
|
+
// document.addEventListener('click', this.clickOutsideDropdownContent.bind(this, index));
|
|
1695
|
+
// } else {
|
|
1696
|
+
// document.removeEventListener('click', this.clickOutsideDropdownContent.bind(this, index));
|
|
1697
|
+
// }
|
|
1698
|
+
}
|
|
1699
|
+
// clickOutsideDropdownContent(index: number, event: Event) {
|
|
1700
|
+
// if (!this.elementRef.nativeElement.contains(event.target as Node)) {
|
|
1701
|
+
// this.dataObject[index].isOpen = false;
|
|
1702
|
+
// document.removeEventListener('click', this.clickOutsideDropdownContent.bind(this, index));
|
|
1703
|
+
// }
|
|
1704
|
+
// }
|
|
1705
|
+
searchData(event, i) {
|
|
1706
|
+
const filteredIssues = this.dummyArray[i].Issues.filter((item) => new RegExp(event.target.value, 'i').test(item.clientId));
|
|
1707
|
+
this.dataObject[i].Issues = filteredIssues;
|
|
1708
|
+
if (filteredIssues.length) {
|
|
1709
|
+
this.noFilter = false;
|
|
1710
|
+
}
|
|
1711
|
+
else {
|
|
1712
|
+
this.noFilter = true;
|
|
1713
|
+
}
|
|
1714
|
+
}
|
|
1715
|
+
toggleCheckbox(issue, index) {
|
|
1716
|
+
const currentIssues = this.dataObject[index].Issues;
|
|
1717
|
+
this.selectedValuesArray[index] = this.selectedValuesArray[index] || [];
|
|
1718
|
+
const selectedValues = this.selectedValuesArray[index]; // Retrieve selected values array for the current dropdown index
|
|
1719
|
+
if (issue === 'Select All') {
|
|
1720
|
+
const currentIssues = this.dataObject[index].Issues.map((item) => item.clientId);
|
|
1721
|
+
if (selectedValues.length === currentIssues.length) {
|
|
1722
|
+
// If all items are already selected, deselect all
|
|
1723
|
+
this.selectedValuesArray[index] = [];
|
|
1724
|
+
}
|
|
1725
|
+
else {
|
|
1726
|
+
// Otherwise, select all items
|
|
1727
|
+
this.selectedValuesArray[index] = [...currentIssues];
|
|
1728
|
+
}
|
|
1729
|
+
}
|
|
1730
|
+
else {
|
|
1731
|
+
if (selectedValues.includes(issue)) {
|
|
1732
|
+
this.selectedValuesArray[index] = selectedValues.filter((item) => item !== issue); // Deselect the individual item if already selected
|
|
1733
|
+
}
|
|
1734
|
+
else {
|
|
1735
|
+
this.selectedValuesArray[index].push(issue); // Select the individual item if not already selected
|
|
1736
|
+
}
|
|
1737
|
+
}
|
|
1738
|
+
// Update "Select All" checkbox status based on selected values
|
|
1739
|
+
const selectAllId = `selectall${index}`;
|
|
1740
|
+
const selectAllElement = document.getElementById(selectAllId);
|
|
1741
|
+
if (selectAllElement) {
|
|
1742
|
+
selectAllElement.checked = selectedValues.length === currentIssues.length;
|
|
1743
|
+
}
|
|
1744
|
+
// Update checkboxes based on selected values
|
|
1745
|
+
currentIssues.forEach((item) => {
|
|
1746
|
+
const isChecked = this.selectedValuesArray[index].includes(item);
|
|
1747
|
+
const checkboxId = `option${item}`;
|
|
1748
|
+
const checkboxElement = document.getElementById(checkboxId);
|
|
1749
|
+
if (checkboxElement) {
|
|
1750
|
+
checkboxElement.checked = isChecked;
|
|
1751
|
+
}
|
|
1752
|
+
});
|
|
1753
|
+
}
|
|
1754
|
+
Reset() {
|
|
1755
|
+
this.selectedValuesArray = [];
|
|
1756
|
+
this.Opendropdown = false;
|
|
1757
|
+
}
|
|
1758
|
+
Apply() {
|
|
1759
|
+
var selectedValue = [];
|
|
1760
|
+
for (let i = 0; i < this.selectedValuesArray.length; i++) {
|
|
1761
|
+
const selectedValues = this.selectedValuesArray[i];
|
|
1762
|
+
const issues = this.dataObject[i].Issues;
|
|
1763
|
+
if (selectedValues) {
|
|
1764
|
+
this.selectedValuesArray[i] = selectedValues.map((selectedId) => {
|
|
1765
|
+
const issue = issues.find((issueItem) => issueItem.clientId === selectedId);
|
|
1766
|
+
selectedValue.push(issue);
|
|
1767
|
+
return issue ? issue : ''; // Get the text corresponding to the id
|
|
1768
|
+
});
|
|
1769
|
+
}
|
|
1770
|
+
}
|
|
1771
|
+
this.globalService.dataRangeValue.next(this.selectedFilters);
|
|
1772
|
+
console.log(this.selectedFilters);
|
|
1773
|
+
this.Opendropdown = false;
|
|
1774
|
+
this.selectedValuesArray.forEach((item, index) => {
|
|
1775
|
+
item = item.map((ele) => ele.clientId);
|
|
1776
|
+
this.selectedValuesArray[index] = item;
|
|
1777
|
+
});
|
|
1778
|
+
this.responseArray.forEach((item, index) => {
|
|
1779
|
+
item.Issues = this.selectedValuesArray[index] ? this.selectedValuesArray[index] : [];
|
|
1780
|
+
});
|
|
1781
|
+
// this.selectedFilters.stores=this.responseArray
|
|
1782
|
+
this.selectedFilters.stores = this.responseArray[0].Issues;
|
|
1783
|
+
this.selectedFilters.date = this.selectedDateRange;
|
|
1784
|
+
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
1785
|
+
}
|
|
1786
|
+
ranges = {
|
|
1787
|
+
'Today': [dayjs(), dayjs()],
|
|
1788
|
+
'Yesterday': [dayjs().subtract(1, 'days'), dayjs().subtract(1, 'days')],
|
|
1789
|
+
'This Week': [dayjs().subtract(6, 'days'), dayjs()],
|
|
1790
|
+
'Last Week': [dayjs().subtract(14, 'days').startOf('days'), dayjs().subtract(8, 'days').endOf('days')],
|
|
1791
|
+
'This Month': [dayjs().startOf('month'), dayjs().endOf('month')],
|
|
1792
|
+
'Last Month': [
|
|
1793
|
+
dayjs().subtract(1, 'month').startOf('month'),
|
|
1794
|
+
dayjs().subtract(1, 'month').endOf('month')
|
|
1795
|
+
]
|
|
1796
|
+
};
|
|
1797
|
+
onStartDateChange(event) {
|
|
1798
|
+
if (dayjs(event.startDate).isValid()) {
|
|
1799
|
+
this.isCustomDate = (m) => {
|
|
1800
|
+
const isValidDate = m > dayjs() || m > dayjs(event.startDate.add(90, 'days'));
|
|
1801
|
+
return isValidDate ? 'invalid-date' : false;
|
|
1802
|
+
};
|
|
1803
|
+
}
|
|
1640
1804
|
}
|
|
1641
|
-
|
|
1642
|
-
|
|
1805
|
+
datechange(event) {
|
|
1806
|
+
if (event && event.startDate && event.endDate) {
|
|
1807
|
+
if (dayjs(event.startDate).isValid() && dayjs(event.endDate).isValid()) {
|
|
1808
|
+
// Dates are valid, proceed with formatting
|
|
1809
|
+
this.selectedDateRange.startDate = dayjs(event.startDate).utc().format('DD-MM-YYYY');
|
|
1810
|
+
this.selectedDateRange.endDate = dayjs(event.endDate).utc().format('DD-MM-YYYY');
|
|
1811
|
+
}
|
|
1812
|
+
else {
|
|
1813
|
+
// Dates are not valid, handle the scenario accordingly
|
|
1814
|
+
console.error('Invalid dates provided:', event.startDate, event.endDate);
|
|
1815
|
+
// If you want to fallback to stored filters when the dates are invalid, you can keep the existing logic
|
|
1816
|
+
const storedFilters = JSON.parse(localStorage.getItem('dateRangeFilters') || '{}');
|
|
1817
|
+
if (storedFilters.startDate && storedFilters.endDate) {
|
|
1818
|
+
this.selectedDateRange.startDate = dayjs(storedFilters.startDate).format('DD-MM-YYYY');
|
|
1819
|
+
this.selectedDateRange.endDate = dayjs(storedFilters.endDate).format('DD-MM-YYYY');
|
|
1820
|
+
}
|
|
1821
|
+
}
|
|
1822
|
+
}
|
|
1823
|
+
else {
|
|
1824
|
+
// Event object or its properties are null, handle the scenario accordingly
|
|
1825
|
+
console.error('Invalid event object:', event);
|
|
1826
|
+
// Fallback to stored filters or any other handling logic as needed
|
|
1827
|
+
}
|
|
1828
|
+
this.selectedFilters.date = this.selectedDateRange;
|
|
1829
|
+
// this.globalService.sendData(JSON.stringify(this.selectedFilters.date));
|
|
1830
|
+
localStorage.setItem('dateRangeFilters', JSON.stringify(this.selectedDateRange));
|
|
1831
|
+
// this.globalService.sendData(this.selectedDateRange);
|
|
1832
|
+
}
|
|
1833
|
+
onDateSelect(event) {
|
|
1834
|
+
console.log('Selected date:', event);
|
|
1835
|
+
// Handle the selected date here
|
|
1836
|
+
}
|
|
1837
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassicComponent, deps: [{ token: i1.LayoutService }, { token: i2$1.GlobalStateService }, { token: i3$1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1838
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ClassicComponent, selector: "lib-classic", host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"py-3 dropdown1 cursor-pointer\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select\" (click)=\"Dropdown('Clients',i,$event)\">\r\n <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ?\r\n selectedValuesArray[i]?.length + ' ' + 'Clients'.split(' ').pop() : 'Clients' }}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute\">\r\n <div class=\"form-check d-flex align-items-center pt-3 px-5\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\"\r\n [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-3\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n\r\n <div class=\"border border-gray mt-3\"></div>\r\n <div class=\"mt-3 d-flex align-items-center mx-2\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path\r\n d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\"\r\n stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\"\r\n class=\"form-control searchinput ps-14 py-2 mt-2\" placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 px-5\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.clientName\" id=\"option{{issue.clientId}}\"\r\n [checked]=\"selectedValuesArray[i]?.includes(issue.clientId)\" (change)=\"toggleCheckbox(issue.clientId,i)\">\r\n <label class=\"form-check-label px-3 cursor-pointer\" for=\"option{{issue.clientId}}\">\r\n {{ issue.clientName }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>\r\n\r\n\r\n<!-- <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd \r\n [singleDatePicker]=\"true\"\r\n [drops]=\"'down'\"\r\n [opens]=\"'right'\"\r\n [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\"\r\n [showCancel]=\"true\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (selected)=\"onDateSelect($event)\"\r\n name=\"daterange\" /> -->\r\n\r\n<div class=\"btn btn-primary\" (click)=\"Apply()\">Apply</div>", styles: [".dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{z-index:1;padding:0;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:250px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.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: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }] });
|
|
1643
1839
|
}
|
|
1644
1840
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassicComponent, decorators: [{
|
|
1645
1841
|
type: Component,
|
|
1646
|
-
args: [{ selector: 'lib-classic', template: "<ng-container *ngIf=\"appToolbarFilterButton\">\r\n <!--begin::Filter menu-->\r\n <div class=\"m-0\">\r\n <!--begin::Menu toggle-->\r\n <a href=\"#\" class=\"btn btn-sm btn-flex fw-bold\" [ngClass]=\"daterangepickerButtonClass\" data-kt-menu-trigger=\"click\"\r\n data-kt-menu-placement=\"bottom-end\">\r\n <lib-keenicon name=\"filter\" class=\"fs-6 text-muted me-1\"></lib-keenicon>\r\n Filter\r\n </a>\r\n <!--end::Menu toggle-->\r\n\r\n <!-- <lib-dropdown-menu1></lib-dropdown-menu1> -->\r\n </div>\r\n <!--end::Filter menu-->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"appToolbarDaterangepickerButton\">\r\n <div data-kt-daterangepicker=\"true\" data-kt-daterangepicker-opens=\"left\"\r\n class=\"btn btn-sm fw-bold d-flex align-items-center px-4\" [ngClass]=\"daterangepickerButtonClass\">\r\n <!--begin::Display range-->\r\n <div class=\"text-gray-600 fw-bold\">\r\n Loading date range...\r\n </div>\r\n <!--end::Display range-->\r\n <lib-keenicon name=\"calendar-8\" class=\"fs-1 ms-2 me-0\"></lib-keenicon>\r\n </div>\r\n</ng-container>\r\n\r\n<!--begin::Secondary button-->\r\n<a href=\"javascript:;\" class=\"btn btn-sm btn-flex btn-light fw-bold\">\r\n Filter\r\n</a>\r\n<!--end::Secondary button-->\r\n\r\n<!--begin::Primary button--> \r\n<a href=\"javascript:;\" class=\"btn btn-sm fw-bold btn-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#kt_modal_create_app\">Create</a>\r\n<!--end::Primary button-->\r\n" }]
|
|
1647
|
-
}], ctorParameters: () => [{ type: i1.LayoutService }]
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
constructor() { }
|
|
1651
|
-
ngOnInit() { }
|
|
1652
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ExtendedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1653
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ExtendedComponent, selector: "lib-extended", ngImport: i0, template: "<!--begin::Label-->\r\n<span class=\"fs-7 fw-bold text-gray-700 pe-4 d-none d-md-block\">Team:</span>\r\n<!--end::Label-->\r\n\r\n<!--begin::Users-->\r\n<div class=\"symbol-group symbol-hover flex-shrink-0 me-2\">\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-warning text-inverse-warning\">A</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-1.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-2.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-primary text-inverse-primary\">S</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-5.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-danger text-inverse-danger\">P</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-20.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n</div>\r\n<!--end::Users-->\r\n\r\n<!--begin::Button-->\r\n<div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2hx text-success\"></lib-keenicon>\r\n </a>\r\n</div>\r\n<!--end::Button-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center overflow-auto\">\r\n <!--begin::Search-->\r\n <div class=\"position-relative my-1\">\r\n <lib-keenicon name=\"magnifier\" class=\"fs-3 text-gray500 position-absolute top-50 translate-middle ps-10\"></lib-keenicon>\r\n <input type=\"text\" class=\"form-control form-control-sm form-control-solid w-150px ps-10\" name=\"Search Team\" value=\"\"\r\n placeholder=\"Search Team\" />\r\n </div>\r\n <!--end::Search-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-6\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-125px form-select-solid me-6\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-3 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"row-horizontal\" class=\"fs-3 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n", styles: [""], dependencies: [{ kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
1654
|
-
}
|
|
1655
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ExtendedComponent, decorators: [{
|
|
1656
|
-
type: Component,
|
|
1657
|
-
args: [{ selector: 'lib-extended', template: "<!--begin::Label-->\r\n<span class=\"fs-7 fw-bold text-gray-700 pe-4 d-none d-md-block\">Team:</span>\r\n<!--end::Label-->\r\n\r\n<!--begin::Users-->\r\n<div class=\"symbol-group symbol-hover flex-shrink-0 me-2\">\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-warning text-inverse-warning\">A</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-1.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-2.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-primary text-inverse-primary\">S</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-5.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-danger text-inverse-danger\">P</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-20.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n</div>\r\n<!--end::Users-->\r\n\r\n<!--begin::Button-->\r\n<div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2hx text-success\"></lib-keenicon>\r\n </a>\r\n</div>\r\n<!--end::Button-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center overflow-auto\">\r\n <!--begin::Search-->\r\n <div class=\"position-relative my-1\">\r\n <lib-keenicon name=\"magnifier\" class=\"fs-3 text-gray500 position-absolute top-50 translate-middle ps-10\"></lib-keenicon>\r\n <input type=\"text\" class=\"form-control form-control-sm form-control-solid w-150px ps-10\" name=\"Search Team\" value=\"\"\r\n placeholder=\"Search Team\" />\r\n </div>\r\n <!--end::Search-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-6\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-125px form-select-solid me-6\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-3 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"row-horizontal\" class=\"fs-3 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n" }]
|
|
1658
|
-
}], ctorParameters: () => [] });
|
|
1659
|
-
|
|
1660
|
-
class ReportsComponent {
|
|
1661
|
-
appPageTitleDisplay;
|
|
1662
|
-
constructor() { }
|
|
1663
|
-
ngOnInit() { }
|
|
1664
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReportsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1665
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ReportsComponent, selector: "lib-reports", inputs: { appPageTitleDisplay: "appPageTitleDisplay" }, ngImport: i0, template: "<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Filter By:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"flex-shrink-0 \">\r\n <ul class=\"nav\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light active fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"#\">Today</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"\">Week</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4\"\r\n data-bs-toggle=\"tab\" href=\"#\">Day</a>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n<!--end::Wrapper-->\r\n\r\n<!--begin::Separartor-->\r\n<div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n<!--end::Separartor-->\r\n\r\n<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-md-125px form-select-solid\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center ms-3\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-2 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-2 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Wrapper-->\r\n", styles: [""], dependencies: [{ kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
1666
|
-
}
|
|
1667
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReportsComponent, decorators: [{
|
|
1668
|
-
type: Component,
|
|
1669
|
-
args: [{ selector: 'lib-reports', template: "<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Filter By:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"flex-shrink-0 \">\r\n <ul class=\"nav\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light active fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"#\">Today</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"\">Week</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4\"\r\n data-bs-toggle=\"tab\" href=\"#\">Day</a>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n<!--end::Wrapper-->\r\n\r\n<!--begin::Separartor-->\r\n<div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n<!--end::Separartor-->\r\n\r\n<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-md-125px form-select-solid\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center ms-3\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-2 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-2 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Wrapper-->\r\n" }]
|
|
1670
|
-
}], ctorParameters: () => [], propDecorators: { appPageTitleDisplay: [{
|
|
1671
|
-
type: Input
|
|
1672
|
-
}] } });
|
|
1673
|
-
|
|
1674
|
-
class SaasComponent {
|
|
1675
|
-
appPageTitleDisplay;
|
|
1676
|
-
constructor() { }
|
|
1677
|
-
ngOnInit() { }
|
|
1678
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SaasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1679
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SaasComponent, selector: "lib-saas", inputs: { appPageTitleDisplay: "appPageTitleDisplay" }, ngImport: i0, template: "<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 pe-4 text-nowrap d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-100px w-xxl-125px\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold\">Impact Level:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::NoUiSlider-->\r\n <div class=\"d-flex align-items-center ps-4\">\r\n <div id=\"kt_app_toolbar_slider\" class=\"noUi-target noUi-target-success w-75px w-xxl-150px noUi-sm\"></div>\r\n\r\n <span id=\"kt_app_toolbar_slider_value\"\r\n class=\"d-flex flex-center bg-light-success rounded-circle w-35px h-35px ms-4 fs-7 fw-bold text-success\"\r\n data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" title=\"Set impact level\">\r\n </span>\r\n </div>\r\n <!--end::NoUiSlider-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Quick Tools:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex\">\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new page\">\r\n <lib-keenicon name=\"files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new category\">\r\n <lib-keenicon name=\"add-files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new section\">\r\n <lib-keenicon name=\"search-list\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n", styles: [""], dependencies: [{ kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
1680
|
-
}
|
|
1681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SaasComponent, decorators: [{
|
|
1682
|
-
type: Component,
|
|
1683
|
-
args: [{ selector: 'lib-saas', template: "<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 pe-4 text-nowrap d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-100px w-xxl-125px\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold\">Impact Level:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::NoUiSlider-->\r\n <div class=\"d-flex align-items-center ps-4\">\r\n <div id=\"kt_app_toolbar_slider\" class=\"noUi-target noUi-target-success w-75px w-xxl-150px noUi-sm\"></div>\r\n\r\n <span id=\"kt_app_toolbar_slider_value\"\r\n class=\"d-flex flex-center bg-light-success rounded-circle w-35px h-35px ms-4 fs-7 fw-bold text-success\"\r\n data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" title=\"Set impact level\">\r\n </span>\r\n </div>\r\n <!--end::NoUiSlider-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Quick Tools:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex\">\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new page\">\r\n <lib-keenicon name=\"files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new category\">\r\n <lib-keenicon name=\"add-files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new section\">\r\n <lib-keenicon name=\"search-list\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n" }]
|
|
1684
|
-
}], ctorParameters: () => [], propDecorators: { appPageTitleDisplay: [{
|
|
1685
|
-
type: Input
|
|
1842
|
+
args: [{ selector: 'lib-classic', template: "<div class=\"py-3 dropdown1 cursor-pointer\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select\" (click)=\"Dropdown('Clients',i,$event)\">\r\n <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ?\r\n selectedValuesArray[i]?.length + ' ' + 'Clients'.split(' ').pop() : 'Clients' }}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute\">\r\n <div class=\"form-check d-flex align-items-center pt-3 px-5\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\"\r\n [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-3\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n\r\n <div class=\"border border-gray mt-3\"></div>\r\n <div class=\"mt-3 d-flex align-items-center mx-2\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path\r\n d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\"\r\n stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\"\r\n class=\"form-control searchinput ps-14 py-2 mt-2\" placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 px-5\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.clientName\" id=\"option{{issue.clientId}}\"\r\n [checked]=\"selectedValuesArray[i]?.includes(issue.clientId)\" (change)=\"toggleCheckbox(issue.clientId,i)\">\r\n <label class=\"form-check-label px-3 cursor-pointer\" for=\"option{{issue.clientId}}\">\r\n {{ issue.clientName }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>\r\n\r\n\r\n<!-- <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd \r\n [singleDatePicker]=\"true\"\r\n [drops]=\"'down'\"\r\n [opens]=\"'right'\"\r\n [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\"\r\n [showCancel]=\"true\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (selected)=\"onDateSelect($event)\"\r\n name=\"daterange\" /> -->\r\n\r\n<div class=\"btn btn-primary\" (click)=\"Apply()\">Apply</div>", styles: [".dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{z-index:1;padding:0;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:250px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}\n"] }]
|
|
1843
|
+
}], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2$1.GlobalStateService }, { type: i3$1.AuthService }], propDecorators: { onClick: [{
|
|
1844
|
+
type: HostListener,
|
|
1845
|
+
args: ['document:click', ['$event']]
|
|
1686
1846
|
}] } });
|
|
1687
1847
|
|
|
1688
1848
|
class ToolbarComponent {
|
|
@@ -1753,11 +1913,11 @@ class ToolbarComponent {
|
|
|
1753
1913
|
viewsWithPageTitles.some((t) => t === this.appToolbarLayout));
|
|
1754
1914
|
}
|
|
1755
1915
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1756
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ToolbarComponent, selector: "lib-toolbar", inputs: { currentLayoutType: "currentLayoutType", appToolbarLayout: "appToolbarLayout" }, ngImport: i0, template: "<!--begin::Toolbar container-->\r\n<div id=\"kt_app_toolbar_container\" class=\"app-container\" [ngClass]=\"appToolbarContainerCSSClass\">\r\n <ng-container *ngIf=\"showPageTitle()\">\r\n <lib-page-title [appPageTitleDirection]=\"appPageTitleDirection\" [appPageTitleBreadcrumb]=\"appPageTitleBreadcrumb\"\r\n [appPageTitleDescription]=\"appPageTitleDescription\" class=\"page-title d-flex flex-wrap me-3\"\r\n [ngClass]=\"{'flex-column justify-content-center': appPageTitleDirection === 'column', 'align-items-center': appPageTitleDirection !== 'column', appPageTitleCSSClass}\">\r\n </lib-page-title>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appToolbarLayout === 'classic'\">\r\n <lib-classic class=\"d-flex align-items-center gap-2 gap-lg-3\"></lib-classic>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'accounting'\">\r\n <lib-accounting class=\"d-flex align-items-center me-5\"></lib-accounting>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'extended'\">\r\n <lib-extended class=\"d-flex align-items-center flex-shrink-0 me-5\"></lib-extended>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'reports'\">\r\n <lib-reports class=\"d-flex align-items-center overflow-auto\" [appPageTitleDisplay]=\"appPageTitleDisplay\">\r\n </lib-reports>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'saas'\">\r\n <lib-saas class=\"d-flex align-items-center gap-2\" [appPageTitleDisplay]=\"appPageTitleDisplay\"></lib-saas>\r\n </ng-container
|
|
1916
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ToolbarComponent, selector: "lib-toolbar", inputs: { currentLayoutType: "currentLayoutType", appToolbarLayout: "appToolbarLayout" }, ngImport: i0, template: "<!--begin::Toolbar container-->\r\n<div id=\"kt_app_toolbar_container\" class=\"app-container\" [ngClass]=\"appToolbarContainerCSSClass\">\r\n <ng-container *ngIf=\"showPageTitle()\">\r\n <lib-page-title [appPageTitleDirection]=\"appPageTitleDirection\" [appPageTitleBreadcrumb]=\"appPageTitleBreadcrumb\"\r\n [appPageTitleDescription]=\"appPageTitleDescription\" class=\"page-title d-flex flex-wrap me-3\"\r\n [ngClass]=\"{'flex-column justify-content-center': appPageTitleDirection === 'column', 'align-items-center': appPageTitleDirection !== 'column', appPageTitleCSSClass}\">\r\n </lib-page-title>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appToolbarLayout === 'classic'\">\r\n <lib-classic class=\"d-flex align-items-center gap-2 gap-lg-3\"></lib-classic>\r\n </ng-container>\r\n <!-- <ng-container *ngIf=\"appToolbarLayout === 'accounting'\">\r\n <lib-accounting class=\"d-flex align-items-center me-5\"></lib-accounting>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'extended'\">\r\n <lib-extended class=\"d-flex align-items-center flex-shrink-0 me-5\"></lib-extended>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'reports'\">\r\n <lib-reports class=\"d-flex align-items-center overflow-auto\" [appPageTitleDisplay]=\"appPageTitleDisplay\">\r\n </lib-reports>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'saas'\">\r\n <lib-saas class=\"d-flex align-items-center gap-2\" [appPageTitleDisplay]=\"appPageTitleDisplay\"></lib-saas>\r\n </ng-container> -->\r\n</div>\r\n<!--end::Toolbar container-->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PageTitleComponent, selector: "lib-page-title", inputs: ["appPageTitleDirection", "appPageTitleBreadcrumb", "appPageTitleDescription"] }, { kind: "component", type: ClassicComponent, selector: "lib-classic" }] });
|
|
1757
1917
|
}
|
|
1758
1918
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
1759
1919
|
type: Component,
|
|
1760
|
-
args: [{ selector: 'lib-toolbar', template: "<!--begin::Toolbar container-->\r\n<div id=\"kt_app_toolbar_container\" class=\"app-container\" [ngClass]=\"appToolbarContainerCSSClass\">\r\n <ng-container *ngIf=\"showPageTitle()\">\r\n <lib-page-title [appPageTitleDirection]=\"appPageTitleDirection\" [appPageTitleBreadcrumb]=\"appPageTitleBreadcrumb\"\r\n [appPageTitleDescription]=\"appPageTitleDescription\" class=\"page-title d-flex flex-wrap me-3\"\r\n [ngClass]=\"{'flex-column justify-content-center': appPageTitleDirection === 'column', 'align-items-center': appPageTitleDirection !== 'column', appPageTitleCSSClass}\">\r\n </lib-page-title>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appToolbarLayout === 'classic'\">\r\n <lib-classic class=\"d-flex align-items-center gap-2 gap-lg-3\"></lib-classic>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'accounting'\">\r\n <lib-accounting class=\"d-flex align-items-center me-5\"></lib-accounting>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'extended'\">\r\n <lib-extended class=\"d-flex align-items-center flex-shrink-0 me-5\"></lib-extended>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'reports'\">\r\n <lib-reports class=\"d-flex align-items-center overflow-auto\" [appPageTitleDisplay]=\"appPageTitleDisplay\">\r\n </lib-reports>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'saas'\">\r\n <lib-saas class=\"d-flex align-items-center gap-2\" [appPageTitleDisplay]=\"appPageTitleDisplay\"></lib-saas>\r\n </ng-container
|
|
1920
|
+
args: [{ selector: 'lib-toolbar', template: "<!--begin::Toolbar container-->\r\n<div id=\"kt_app_toolbar_container\" class=\"app-container\" [ngClass]=\"appToolbarContainerCSSClass\">\r\n <ng-container *ngIf=\"showPageTitle()\">\r\n <lib-page-title [appPageTitleDirection]=\"appPageTitleDirection\" [appPageTitleBreadcrumb]=\"appPageTitleBreadcrumb\"\r\n [appPageTitleDescription]=\"appPageTitleDescription\" class=\"page-title d-flex flex-wrap me-3\"\r\n [ngClass]=\"{'flex-column justify-content-center': appPageTitleDirection === 'column', 'align-items-center': appPageTitleDirection !== 'column', appPageTitleCSSClass}\">\r\n </lib-page-title>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appToolbarLayout === 'classic'\">\r\n <lib-classic class=\"d-flex align-items-center gap-2 gap-lg-3\"></lib-classic>\r\n </ng-container>\r\n <!-- <ng-container *ngIf=\"appToolbarLayout === 'accounting'\">\r\n <lib-accounting class=\"d-flex align-items-center me-5\"></lib-accounting>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'extended'\">\r\n <lib-extended class=\"d-flex align-items-center flex-shrink-0 me-5\"></lib-extended>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'reports'\">\r\n <lib-reports class=\"d-flex align-items-center overflow-auto\" [appPageTitleDisplay]=\"appPageTitleDisplay\">\r\n </lib-reports>\r\n </ng-container>\r\n <ng-container *ngIf=\"appToolbarLayout === 'saas'\">\r\n <lib-saas class=\"d-flex align-items-center gap-2\" [appPageTitleDisplay]=\"appPageTitleDisplay\"></lib-saas>\r\n </ng-container> -->\r\n</div>\r\n<!--end::Toolbar container-->\r\n" }]
|
|
1761
1921
|
}], ctorParameters: () => [{ type: i1.LayoutService }], propDecorators: { currentLayoutType: [{
|
|
1762
1922
|
type: Input
|
|
1763
1923
|
}], appToolbarLayout: [{
|
|
@@ -1936,11 +2096,11 @@ class SidebarComponent {
|
|
|
1936
2096
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
1937
2097
|
}
|
|
1938
2098
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1939
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarComponent, selector: "lib-sidebar", ngImport: i0, template: "<!--begin::Logo-->\r\n<lib-sidebar-logo class=\"app-sidebar-logo px-6\" id=\"kt_app_sidebar_logo\"\r\n [toggleButtonClass]=\"toggleButtonClass\" [toggleEnabled]=\"toggleEnabled\" [toggleType]=\"toggleType\"\r\n [toggleState]=\"toggleState\">\r\n</lib-sidebar-logo>\r\n<!--end::Logo-->\r\n\r\n<!--begin::sidebar menu-->\r\n<lib-sidebar-menu class=\"app-sidebar-menu overflow-hidden flex-column-fluid\">\r\n</lib-sidebar-menu>\r\n<!--end::sidebar menu-->\r\n\r\n<!--begin::Footer-->\r\n<!-- <lib-sidebar-footer class=\"app-sidebar-footer flex-column-auto pt-2 pb-6
|
|
2099
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarComponent, selector: "lib-sidebar", ngImport: i0, template: "<!--begin::Logo-->\r\n<lib-sidebar-logo class=\"app-sidebar-logo px-6\" id=\"kt_app_sidebar_logo\"\r\n [toggleButtonClass]=\"toggleButtonClass\" [toggleEnabled]=\"toggleEnabled\" [toggleType]=\"toggleType\"\r\n [toggleState]=\"toggleState\">\r\n</lib-sidebar-logo>\r\n<!--end::Logo-->\r\n\r\n<!--begin::sidebar menu-->\r\n<lib-sidebar-menu class=\"app-sidebar-menu overflow-hidden flex-column-fluid\">\r\n</lib-sidebar-menu>\r\n<!--end::sidebar menu-->\r\n\r\n<!--begin::Footer-->\r\n<!-- <lib-sidebar-footer class=\"app-sidebar-footer flex-column-auto pt-2 pb-6\" id=\"kt_app_sidebar_footer\">\r\n</lib-sidebar-footer> -->\r\n<!--end::Footer-->\r\n", styles: [".app-sidebar-footer{background:var(--Gray-700, #344054)}\n"], dependencies: [{ kind: "component", type: SidebarLogoComponent, selector: "lib-sidebar-logo", inputs: ["toggleButtonClass", "toggleEnabled", "toggleType", "toggleState"] }, { kind: "component", type: SidebarMenuComponent, selector: "lib-sidebar-menu" }] });
|
|
1940
2100
|
}
|
|
1941
2101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
1942
2102
|
type: Component,
|
|
1943
|
-
args: [{ selector: 'lib-sidebar', template: "<!--begin::Logo-->\r\n<lib-sidebar-logo class=\"app-sidebar-logo px-6\" id=\"kt_app_sidebar_logo\"\r\n [toggleButtonClass]=\"toggleButtonClass\" [toggleEnabled]=\"toggleEnabled\" [toggleType]=\"toggleType\"\r\n [toggleState]=\"toggleState\">\r\n</lib-sidebar-logo>\r\n<!--end::Logo-->\r\n\r\n<!--begin::sidebar menu-->\r\n<lib-sidebar-menu class=\"app-sidebar-menu overflow-hidden flex-column-fluid\">\r\n</lib-sidebar-menu>\r\n<!--end::sidebar menu-->\r\n\r\n<!--begin::Footer-->\r\n<!-- <lib-sidebar-footer class=\"app-sidebar-footer flex-column-auto pt-2 pb-6
|
|
2103
|
+
args: [{ selector: 'lib-sidebar', template: "<!--begin::Logo-->\r\n<lib-sidebar-logo class=\"app-sidebar-logo px-6\" id=\"kt_app_sidebar_logo\"\r\n [toggleButtonClass]=\"toggleButtonClass\" [toggleEnabled]=\"toggleEnabled\" [toggleType]=\"toggleType\"\r\n [toggleState]=\"toggleState\">\r\n</lib-sidebar-logo>\r\n<!--end::Logo-->\r\n\r\n<!--begin::sidebar menu-->\r\n<lib-sidebar-menu class=\"app-sidebar-menu overflow-hidden flex-column-fluid\">\r\n</lib-sidebar-menu>\r\n<!--end::sidebar menu-->\r\n\r\n<!--begin::Footer-->\r\n<!-- <lib-sidebar-footer class=\"app-sidebar-footer flex-column-auto pt-2 pb-6\" id=\"kt_app_sidebar_footer\">\r\n</lib-sidebar-footer> -->\r\n<!--end::Footer-->\r\n", styles: [".app-sidebar-footer{background:var(--Gray-700, #344054)}\n"] }]
|
|
1944
2104
|
}], ctorParameters: () => [{ type: i1.LayoutService }] });
|
|
1945
2105
|
|
|
1946
2106
|
class LayoutScrollTopComponent {
|
|
@@ -2265,11 +2425,11 @@ class LayoutComponent {
|
|
|
2265
2425
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
2266
2426
|
}
|
|
2267
2427
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.LayoutInitService }, { token: i1.LayoutService }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
2268
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: LayoutComponent, selector: "lib-layout", viewQueries: [{ propertyName: "ktSidebar", first: true, predicate: ["ktSidebar"], descendants: true, static: true }, { propertyName: "ktAside", first: true, predicate: ["ktAside"], descendants: true, static: true }, { propertyName: "ktHeaderMobile", first: true, predicate: ["ktHeaderMobile"], descendants: true, static: true }, { propertyName: "ktHeader", first: true, predicate: ["ktHeader"], descendants: true, static: true }], ngImport: i0, template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <
|
|
2428
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: LayoutComponent, selector: "lib-layout", viewQueries: [{ propertyName: "ktSidebar", first: true, predicate: ["ktSidebar"], descendants: true, static: true }, { propertyName: "ktAside", first: true, predicate: ["ktAside"], descendants: true, static: true }, { propertyName: "ktHeaderMobile", first: true, predicate: ["ktHeaderMobile"], descendants: true, static: true }, { propertyName: "ktHeader", first: true, predicate: ["ktHeader"], descendants: true, static: true }], ngImport: i0, template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HeaderComponent, selector: "lib-header" }, { kind: "component", type: ContentComponent, selector: "lib-content", inputs: ["contentContainerCSSClass", "appContentContiner", "appContentContainerClass"] }, { kind: "component", type: ScriptsInitComponent, selector: "lib-scripts-init" }, { kind: "component", type: ToolbarComponent, selector: "lib-toolbar", inputs: ["currentLayoutType", "appToolbarLayout"] }, { kind: "component", type: SidebarComponent, selector: "lib-sidebar" }, { kind: "component", type: LayoutScrollTopComponent, selector: "lib-scroll-top" }] });
|
|
2269
2429
|
}
|
|
2270
2430
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutComponent, decorators: [{
|
|
2271
2431
|
type: Component,
|
|
2272
|
-
args: [{ selector: 'lib-layout', template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <
|
|
2432
|
+
args: [{ selector: 'lib-layout', template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"] }]
|
|
2273
2433
|
}], ctorParameters: () => [{ type: i1.LayoutInitService }, { type: i1.LayoutService }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }], propDecorators: { ktSidebar: [{
|
|
2274
2434
|
type: ViewChild,
|
|
2275
2435
|
args: ['ktSidebar', { static: true }]
|
|
@@ -2299,16 +2459,287 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
2299
2459
|
}] } });
|
|
2300
2460
|
|
|
2301
2461
|
class SidebarFooterComponent {
|
|
2462
|
+
isSubMenuActive = false;
|
|
2302
2463
|
constructor() { }
|
|
2303
|
-
ngOnInit() {
|
|
2464
|
+
ngOnInit() {
|
|
2465
|
+
}
|
|
2466
|
+
toggleMenu() {
|
|
2467
|
+
this.isSubMenuActive = !this.isSubMenuActive;
|
|
2468
|
+
}
|
|
2304
2469
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2305
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarFooterComponent, selector: "lib-sidebar-footer", ngImport: i0, template: "<
|
|
2470
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarFooterComponent, selector: "lib-sidebar-footer", ngImport: i0, template: "<!-- <div class=\"dropdown \">\r\n <button class=\"btn dropdown-toggle btn-flex flex-center btn-custom overflow-hidden text-nowrap px-0 h-40px w-100\" type=\"button\" id=\"dropdownMenu1\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\" data-bs-toggle=\"tooltip\" data-bs-trigger=\"hover\" data-bs-dismiss=\"click\" title=\"Metronic Docs & Components\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n <span class=\"btn-label caret\">\r\n Olivia Rhye<br>\r\n oliviatangoeye.com\r\n </span>\r\n </button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu1\">\r\n <li><a href=\"#\">Action</a></li>\r\n <li><a href=\"#\">Another action</a></li>\r\n <li><a href=\"#\">Something else here</a></li>\r\n <li><a href=\"#\">Separated link</a></li>\r\n </ul>\r\n</div> -->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <!--begin::Menu-->\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <!-- Birds Eye -->\r\n <div class=\"menu-item menu-accordion w-100 px-3\" [ngClass]=\"{'active': isSubMenuActive}\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Profile</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\" d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\" fill=\"#D0D5DD\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Support</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <path d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Logout</span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
|
|
2306
2471
|
}
|
|
2307
2472
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, decorators: [{
|
|
2308
2473
|
type: Component,
|
|
2309
|
-
args: [{ selector: 'lib-sidebar-footer', template: "<
|
|
2474
|
+
args: [{ selector: 'lib-sidebar-footer', template: "<!-- <div class=\"dropdown \">\r\n <button class=\"btn dropdown-toggle btn-flex flex-center btn-custom overflow-hidden text-nowrap px-0 h-40px w-100\" type=\"button\" id=\"dropdownMenu1\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\" data-bs-toggle=\"tooltip\" data-bs-trigger=\"hover\" data-bs-dismiss=\"click\" title=\"Metronic Docs & Components\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n <span class=\"btn-label caret\">\r\n Olivia Rhye<br>\r\n oliviatangoeye.com\r\n </span>\r\n </button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu1\">\r\n <li><a href=\"#\">Action</a></li>\r\n <li><a href=\"#\">Another action</a></li>\r\n <li><a href=\"#\">Something else here</a></li>\r\n <li><a href=\"#\">Separated link</a></li>\r\n </ul>\r\n</div> -->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <!--begin::Menu-->\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <!-- Birds Eye -->\r\n <div class=\"menu-item menu-accordion w-100 px-3\" [ngClass]=\"{'active': isSubMenuActive}\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Profile</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\" d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\" fill=\"#D0D5DD\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Support</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <path d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Logout</span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}\n"] }]
|
|
2475
|
+
}], ctorParameters: () => [] });
|
|
2476
|
+
|
|
2477
|
+
class AccountingComponent {
|
|
2478
|
+
constructor() { }
|
|
2479
|
+
ngOnInit() {
|
|
2480
|
+
}
|
|
2481
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccountingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2482
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AccountingComponent, selector: "lib-accounting", ngImport: i0, template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
2483
|
+
}
|
|
2484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccountingComponent, decorators: [{
|
|
2485
|
+
type: Component,
|
|
2486
|
+
args: [{ selector: 'lib-accounting', template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n" }]
|
|
2487
|
+
}], ctorParameters: () => [] });
|
|
2488
|
+
|
|
2489
|
+
class GlobalStateService {
|
|
2490
|
+
userData = new BehaviorSubject(null);
|
|
2491
|
+
environment = new BehaviorSubject(null);
|
|
2492
|
+
dataRangeValue = new BehaviorSubject(null);
|
|
2493
|
+
selectedClient = new BehaviorSubject(null);
|
|
2494
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2495
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalStateService, providedIn: 'root' });
|
|
2496
|
+
}
|
|
2497
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalStateService, decorators: [{
|
|
2498
|
+
type: Injectable,
|
|
2499
|
+
args: [{
|
|
2500
|
+
providedIn: 'root'
|
|
2501
|
+
}]
|
|
2502
|
+
}] });
|
|
2503
|
+
|
|
2504
|
+
class AuthService {
|
|
2505
|
+
router;
|
|
2506
|
+
gs;
|
|
2507
|
+
http;
|
|
2508
|
+
clientApiUrl;
|
|
2509
|
+
constructor(router, gs, http) {
|
|
2510
|
+
this.router = router;
|
|
2511
|
+
this.gs = gs;
|
|
2512
|
+
this.http = http;
|
|
2513
|
+
this.gs.environment.subscribe((env) => {
|
|
2514
|
+
if (env) {
|
|
2515
|
+
this.clientApiUrl = env.clientApiUrl;
|
|
2516
|
+
}
|
|
2517
|
+
});
|
|
2518
|
+
}
|
|
2519
|
+
handleError(res) {
|
|
2520
|
+
return throwError(res.error);
|
|
2521
|
+
}
|
|
2522
|
+
logout() {
|
|
2523
|
+
this.router.navigate(['/auth/login'], {
|
|
2524
|
+
queryParams: {},
|
|
2525
|
+
});
|
|
2526
|
+
}
|
|
2527
|
+
getClients() {
|
|
2528
|
+
return this.http.get(`${this.clientApiUrl}/get-clients`, {})
|
|
2529
|
+
.pipe(map((response) => response), catchError(this.handleError));
|
|
2530
|
+
}
|
|
2531
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, deps: [{ token: i1$1.Router }, { token: GlobalStateService }, { token: i3$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2532
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
2533
|
+
}
|
|
2534
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, decorators: [{
|
|
2535
|
+
type: Injectable,
|
|
2536
|
+
args: [{
|
|
2537
|
+
providedIn: 'root'
|
|
2538
|
+
}]
|
|
2539
|
+
}], ctorParameters: () => [{ type: i1$1.Router }, { type: GlobalStateService }, { type: i3$2.HttpClient }] });
|
|
2540
|
+
|
|
2541
|
+
class CustomSelectComponent {
|
|
2542
|
+
cd;
|
|
2543
|
+
onClick(event) {
|
|
2544
|
+
const target = event.target;
|
|
2545
|
+
if (!target.closest('.dropdown')) {
|
|
2546
|
+
this.showDropdown = false;
|
|
2547
|
+
}
|
|
2548
|
+
}
|
|
2549
|
+
items;
|
|
2550
|
+
searchField;
|
|
2551
|
+
multi;
|
|
2552
|
+
idField;
|
|
2553
|
+
selectedValues = [];
|
|
2554
|
+
disabled;
|
|
2555
|
+
label;
|
|
2556
|
+
selected = new EventEmitter();
|
|
2557
|
+
filteredValues = [];
|
|
2558
|
+
showDropdown;
|
|
2559
|
+
searchValue;
|
|
2560
|
+
constructor(cd) {
|
|
2561
|
+
this.cd = cd;
|
|
2562
|
+
}
|
|
2563
|
+
ngOnChanges(changes) {
|
|
2564
|
+
if (changes['items'] && this.items?.length) {
|
|
2565
|
+
this.initializeItems();
|
|
2566
|
+
}
|
|
2567
|
+
if (changes['selectedValues'] && this.selectedValues?.length) {
|
|
2568
|
+
this.updateSelectedValues();
|
|
2569
|
+
}
|
|
2570
|
+
}
|
|
2571
|
+
initializeItems() {
|
|
2572
|
+
this.filteredValues = this.items.map((item) => ({ ...item }));
|
|
2573
|
+
this.updateSelectedValues();
|
|
2574
|
+
}
|
|
2575
|
+
updateSelectedValues() {
|
|
2576
|
+
this.selectedValues?.forEach((selectedItem) => {
|
|
2577
|
+
const item = this.filteredValues?.find((filteredItem) => filteredItem?.[this.idField] === selectedItem?.[this.idField]);
|
|
2578
|
+
if (item) {
|
|
2579
|
+
item.isSelected = true;
|
|
2580
|
+
}
|
|
2581
|
+
});
|
|
2582
|
+
}
|
|
2583
|
+
openDropdown(event) {
|
|
2584
|
+
event.stopPropagation();
|
|
2585
|
+
this.showDropdown = !this.showDropdown;
|
|
2586
|
+
}
|
|
2587
|
+
onInput(event) {
|
|
2588
|
+
if (!event.target.value) {
|
|
2589
|
+
this.filteredValues = [...this.items];
|
|
2590
|
+
}
|
|
2591
|
+
else {
|
|
2592
|
+
const searchTerm = event.target.value.toLowerCase();
|
|
2593
|
+
this.filteredValues = this.items.filter((item) => item[this.searchField].toLowerCase().includes(searchTerm));
|
|
2594
|
+
}
|
|
2595
|
+
this.cd.detectChanges();
|
|
2596
|
+
}
|
|
2597
|
+
onSelect(event, item) {
|
|
2598
|
+
if (this.multi) {
|
|
2599
|
+
if (event.currentTarget.checked) {
|
|
2600
|
+
this.selectedValues.push({ ...item });
|
|
2601
|
+
}
|
|
2602
|
+
else {
|
|
2603
|
+
this.selectedValues = this.selectedValues.filter((elem) => elem[this.idField] !== item[this.idField]);
|
|
2604
|
+
}
|
|
2605
|
+
}
|
|
2606
|
+
else {
|
|
2607
|
+
this.selectedValues = [{ ...item }];
|
|
2608
|
+
this.showDropdown = false;
|
|
2609
|
+
}
|
|
2610
|
+
const valuesToEmit = this.selectedValues.map((value) => {
|
|
2611
|
+
const { isSelected, ...selectedItem } = value;
|
|
2612
|
+
return selectedItem;
|
|
2613
|
+
});
|
|
2614
|
+
this.cd.detectChanges();
|
|
2615
|
+
this.emitSelectedValues(valuesToEmit);
|
|
2616
|
+
}
|
|
2617
|
+
onSelectAll(event) {
|
|
2618
|
+
const selectAll = event.currentTarget.checked;
|
|
2619
|
+
this.filteredValues.forEach((item) => item.isSelected = selectAll);
|
|
2620
|
+
if (selectAll) {
|
|
2621
|
+
this.selectedValues = [...this.filteredValues];
|
|
2622
|
+
}
|
|
2623
|
+
else {
|
|
2624
|
+
this.selectedValues = [];
|
|
2625
|
+
}
|
|
2626
|
+
const valuesToEmit = this.selectedValues.map((value) => {
|
|
2627
|
+
const { isSelected, ...selectedItem } = value;
|
|
2628
|
+
return selectedItem;
|
|
2629
|
+
});
|
|
2630
|
+
this.cd.detectChanges();
|
|
2631
|
+
this.emitSelectedValues(valuesToEmit);
|
|
2632
|
+
}
|
|
2633
|
+
emitSelectedValues(values) {
|
|
2634
|
+
if (this.multi) {
|
|
2635
|
+
this.selected.emit(values);
|
|
2636
|
+
}
|
|
2637
|
+
else {
|
|
2638
|
+
this.selected.emit(values[0]);
|
|
2639
|
+
}
|
|
2640
|
+
}
|
|
2641
|
+
checkIfAllSelected() {
|
|
2642
|
+
return this.filteredValues.every((item) => item.isSelected);
|
|
2643
|
+
}
|
|
2644
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CustomSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2645
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CustomSelectComponent, selector: "lib-select", inputs: { items: "items", searchField: "searchField", multi: "multi", idField: "idField", selectedValues: "selectedValues", disabled: "disabled", label: "label" }, outputs: { selected: "selected" }, host: { listeners: { "document:click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n {{selectedValues?.length}} {{label}} Selected \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField]}}\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi\">\r\n <div class=\"form-check\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <label class=\"form-check-label\" for=\"selectAll\">\r\n Select All\r\n </label>\r\n </div>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues; let i = index\" >\r\n <div [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"i\">\r\n <label class=\"form-check-label\" [for]=\"i\">\r\n {{item[searchField]}}\r\n </label>\r\n </div>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>\r\n ", styles: [":host{width:100%;height:100%}.outer-container{z-index:1;position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:200px;overflow-y:scroll;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul li{list-style:none;padding:10px 16px}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.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: i2$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2646
|
+
}
|
|
2647
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CustomSelectComponent, decorators: [{
|
|
2648
|
+
type: Component,
|
|
2649
|
+
args: [{ selector: 'lib-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n {{selectedValues?.length}} {{label}} Selected \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField]}}\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi\">\r\n <div class=\"form-check\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <label class=\"form-check-label\" for=\"selectAll\">\r\n Select All\r\n </label>\r\n </div>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues; let i = index\" >\r\n <div [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"i\">\r\n <label class=\"form-check-label\" [for]=\"i\">\r\n {{item[searchField]}}\r\n </label>\r\n </div>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>\r\n ", styles: [":host{width:100%;height:100%}.outer-container{z-index:1;position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:200px;overflow-y:scroll;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul li{list-style:none;padding:10px 16px}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}\n"] }]
|
|
2650
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { onClick: [{
|
|
2651
|
+
type: HostListener,
|
|
2652
|
+
args: ['document:click', ['$event']]
|
|
2653
|
+
}], items: [{
|
|
2654
|
+
type: Input
|
|
2655
|
+
}], searchField: [{
|
|
2656
|
+
type: Input
|
|
2657
|
+
}], multi: [{
|
|
2658
|
+
type: Input
|
|
2659
|
+
}], idField: [{
|
|
2660
|
+
type: Input
|
|
2661
|
+
}], selectedValues: [{
|
|
2662
|
+
type: Input
|
|
2663
|
+
}], disabled: [{
|
|
2664
|
+
type: Input
|
|
2665
|
+
}], label: [{
|
|
2666
|
+
type: Input
|
|
2667
|
+
}], selected: [{
|
|
2668
|
+
type: Output
|
|
2669
|
+
}] } });
|
|
2670
|
+
|
|
2671
|
+
class ClientSettingsComponent {
|
|
2672
|
+
auth;
|
|
2673
|
+
gs;
|
|
2674
|
+
cd;
|
|
2675
|
+
clientList = [];
|
|
2676
|
+
selectedClient;
|
|
2677
|
+
constructor(auth, gs, cd) {
|
|
2678
|
+
this.auth = auth;
|
|
2679
|
+
this.gs = gs;
|
|
2680
|
+
this.cd = cd;
|
|
2681
|
+
this.auth.getClients().subscribe({
|
|
2682
|
+
next: (e) => {
|
|
2683
|
+
if (e) {
|
|
2684
|
+
this.clientList = e.data.result;
|
|
2685
|
+
this.selectedClient = this.clientList[0];
|
|
2686
|
+
this.gs.selectedClient.next(this.selectedClient);
|
|
2687
|
+
this.cd.detectChanges();
|
|
2688
|
+
}
|
|
2689
|
+
}
|
|
2690
|
+
});
|
|
2691
|
+
}
|
|
2692
|
+
onClientSelect(event) {
|
|
2693
|
+
this.selectedClient = event;
|
|
2694
|
+
this.gs.selectedClient.next(this.selectedClient);
|
|
2695
|
+
}
|
|
2696
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClientSettingsComponent, deps: [{ token: AuthService }, { token: GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2697
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ClientSettingsComponent, selector: "lib-client-settings", ngImport: i0, template: " <div class=\"wrapper\" >\r\n <lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'brandName'\" [disabled]=\"false\" [idField]=\"'_id'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n </div>\r\n", styles: [".wrapper{min-width:200px}\n"], dependencies: [{ kind: "component", type: CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }] });
|
|
2698
|
+
}
|
|
2699
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClientSettingsComponent, decorators: [{
|
|
2700
|
+
type: Component,
|
|
2701
|
+
args: [{ selector: 'lib-client-settings', template: " <div class=\"wrapper\" >\r\n <lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'brandName'\" [disabled]=\"false\" [idField]=\"'_id'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n </div>\r\n", styles: [".wrapper{min-width:200px}\n"] }]
|
|
2702
|
+
}], ctorParameters: () => [{ type: AuthService }, { type: GlobalStateService }, { type: i0.ChangeDetectorRef }] });
|
|
2703
|
+
|
|
2704
|
+
class ExtendedComponent {
|
|
2705
|
+
constructor() { }
|
|
2706
|
+
ngOnInit() { }
|
|
2707
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ExtendedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2708
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ExtendedComponent, selector: "lib-extended", ngImport: i0, template: "<!--begin::Label-->\r\n<span class=\"fs-7 fw-bold text-gray-700 pe-4 d-none d-md-block\">Team:</span>\r\n<!--end::Label-->\r\n\r\n<!--begin::Users-->\r\n<div class=\"symbol-group symbol-hover flex-shrink-0 me-2\">\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-warning text-inverse-warning\">A</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-1.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-2.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-primary text-inverse-primary\">S</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-5.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-danger text-inverse-danger\">P</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-20.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n</div>\r\n<!--end::Users-->\r\n\r\n<!--begin::Button-->\r\n<div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2hx text-success\"></lib-keenicon>\r\n </a>\r\n</div>\r\n<!--end::Button-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center overflow-auto\">\r\n <!--begin::Search-->\r\n <div class=\"position-relative my-1\">\r\n <lib-keenicon name=\"magnifier\" class=\"fs-3 text-gray500 position-absolute top-50 translate-middle ps-10\"></lib-keenicon>\r\n <input type=\"text\" class=\"form-control form-control-sm form-control-solid w-150px ps-10\" name=\"Search Team\" value=\"\"\r\n placeholder=\"Search Team\" />\r\n </div>\r\n <!--end::Search-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-6\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-125px form-select-solid me-6\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-3 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"row-horizontal\" class=\"fs-3 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
2709
|
+
}
|
|
2710
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ExtendedComponent, decorators: [{
|
|
2711
|
+
type: Component,
|
|
2712
|
+
args: [{ selector: 'lib-extended', template: "<!--begin::Label-->\r\n<span class=\"fs-7 fw-bold text-gray-700 pe-4 d-none d-md-block\">Team:</span>\r\n<!--end::Label-->\r\n\r\n<!--begin::Users-->\r\n<div class=\"symbol-group symbol-hover flex-shrink-0 me-2\">\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-warning text-inverse-warning\">A</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-1.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-2.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-primary text-inverse-primary\">S</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-5.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-danger text-inverse-danger\">P</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-20.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n</div>\r\n<!--end::Users-->\r\n\r\n<!--begin::Button-->\r\n<div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2hx text-success\"></lib-keenicon>\r\n </a>\r\n</div>\r\n<!--end::Button-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center overflow-auto\">\r\n <!--begin::Search-->\r\n <div class=\"position-relative my-1\">\r\n <lib-keenicon name=\"magnifier\" class=\"fs-3 text-gray500 position-absolute top-50 translate-middle ps-10\"></lib-keenicon>\r\n <input type=\"text\" class=\"form-control form-control-sm form-control-solid w-150px ps-10\" name=\"Search Team\" value=\"\"\r\n placeholder=\"Search Team\" />\r\n </div>\r\n <!--end::Search-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-6\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-125px form-select-solid me-6\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-3 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"row-horizontal\" class=\"fs-3 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n" }]
|
|
2310
2713
|
}], ctorParameters: () => [] });
|
|
2311
2714
|
|
|
2715
|
+
class ReportsComponent {
|
|
2716
|
+
appPageTitleDisplay;
|
|
2717
|
+
constructor() { }
|
|
2718
|
+
ngOnInit() { }
|
|
2719
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReportsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2720
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ReportsComponent, selector: "lib-reports", inputs: { appPageTitleDisplay: "appPageTitleDisplay" }, ngImport: i0, template: "<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Filter By:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"flex-shrink-0 \">\r\n <ul class=\"nav\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light active fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"#\">Today</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"\">Week</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4\"\r\n data-bs-toggle=\"tab\" href=\"#\">Day</a>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n<!--end::Wrapper-->\r\n\r\n<!--begin::Separartor-->\r\n<div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n<!--end::Separartor-->\r\n\r\n<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-md-125px form-select-solid\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center ms-3\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-2 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-2 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Wrapper-->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
2721
|
+
}
|
|
2722
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReportsComponent, decorators: [{
|
|
2723
|
+
type: Component,
|
|
2724
|
+
args: [{ selector: 'lib-reports', template: "<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Filter By:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"flex-shrink-0 \">\r\n <ul class=\"nav\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light active fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"#\">Today</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"\">Week</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4\"\r\n data-bs-toggle=\"tab\" href=\"#\">Day</a>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n<!--end::Wrapper-->\r\n\r\n<!--begin::Separartor-->\r\n<div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n<!--end::Separartor-->\r\n\r\n<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-md-125px form-select-solid\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center ms-3\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-2 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-2 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Wrapper-->\r\n" }]
|
|
2725
|
+
}], ctorParameters: () => [], propDecorators: { appPageTitleDisplay: [{
|
|
2726
|
+
type: Input
|
|
2727
|
+
}] } });
|
|
2728
|
+
|
|
2729
|
+
class SaasComponent {
|
|
2730
|
+
appPageTitleDisplay;
|
|
2731
|
+
constructor() { }
|
|
2732
|
+
ngOnInit() { }
|
|
2733
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SaasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2734
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SaasComponent, selector: "lib-saas", inputs: { appPageTitleDisplay: "appPageTitleDisplay" }, ngImport: i0, template: "<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 pe-4 text-nowrap d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-100px w-xxl-125px\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold\">Impact Level:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::NoUiSlider-->\r\n <div class=\"d-flex align-items-center ps-4\">\r\n <div id=\"kt_app_toolbar_slider\" class=\"noUi-target noUi-target-success w-75px w-xxl-150px noUi-sm\"></div>\r\n\r\n <span id=\"kt_app_toolbar_slider_value\"\r\n class=\"d-flex flex-center bg-light-success rounded-circle w-35px h-35px ms-4 fs-7 fw-bold text-success\"\r\n data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" title=\"Set impact level\">\r\n </span>\r\n </div>\r\n <!--end::NoUiSlider-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Quick Tools:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex\">\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new page\">\r\n <lib-keenicon name=\"files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new category\">\r\n <lib-keenicon name=\"add-files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new section\">\r\n <lib-keenicon name=\"search-list\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
2735
|
+
}
|
|
2736
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SaasComponent, decorators: [{
|
|
2737
|
+
type: Component,
|
|
2738
|
+
args: [{ selector: 'lib-saas', template: "<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 pe-4 text-nowrap d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-100px w-xxl-125px\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold\">Impact Level:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::NoUiSlider-->\r\n <div class=\"d-flex align-items-center ps-4\">\r\n <div id=\"kt_app_toolbar_slider\" class=\"noUi-target noUi-target-success w-75px w-xxl-150px noUi-sm\"></div>\r\n\r\n <span id=\"kt_app_toolbar_slider_value\"\r\n class=\"d-flex flex-center bg-light-success rounded-circle w-35px h-35px ms-4 fs-7 fw-bold text-success\"\r\n data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" title=\"Set impact level\">\r\n </span>\r\n </div>\r\n <!--end::NoUiSlider-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Quick Tools:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex\">\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new page\">\r\n <lib-keenicon name=\"files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new category\">\r\n <lib-keenicon name=\"add-files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new section\">\r\n <lib-keenicon name=\"search-list\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n" }]
|
|
2739
|
+
}], ctorParameters: () => [], propDecorators: { appPageTitleDisplay: [{
|
|
2740
|
+
type: Input
|
|
2741
|
+
}] } });
|
|
2742
|
+
|
|
2312
2743
|
const BODY_CLASSES = ['bgi-size-cover', 'bgi-position-center', 'bgi-no-repeat'];
|
|
2313
2744
|
class ErrorsComponent {
|
|
2314
2745
|
router;
|
|
@@ -2424,6 +2855,198 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
2424
2855
|
args: [{ selector: 'lib-error500', template: "<!--begin::Title-->\r\n<h1 class=\"fw-bolder fs-2qx text-gray-900 mb-4\">\r\n System Error\r\n</h1>\r\n<!--end::Title-->\r\n\r\n<!--begin::Text-->\r\n<div class=\"fw-semibold fs-6 text-gray-500 mb-7\">\r\n Something went wrong! Please try again later.\r\n</div>\r\n<!--end::Text-->\r\n\r\n<!--begin::Illustration-->\r\n<div class=\"mb-11\">\r\n <img src=\"./assets/media/auth/500-error.png\" class=\"mw-100 mh-300px theme-light-show\" alt=\"\" />\r\n <img src=\"./assets/media/auth/500-error-dark.png\" class=\"mw-100 mh-300px theme-dark-show\" alt=\"\" />\r\n</div>\r\n<!--end::Illustration-->\r\n\r\n<!--begin::Link-->\r\n<div class=\"mb-0\">\r\n <a (click)=\"routeToDashboard()\" class=\"btn btn-sm btn-primary\">Return Home</a>\r\n</div>\r\n<!--end::Link-->\r\n" }]
|
|
2425
2856
|
}], ctorParameters: () => [{ type: i1$1.Router }, { type: i1.ThemeModeService }] });
|
|
2426
2857
|
|
|
2858
|
+
class PaginationComponent {
|
|
2859
|
+
collection = [];
|
|
2860
|
+
itemsPerPage;
|
|
2861
|
+
currentPage;
|
|
2862
|
+
totalItems;
|
|
2863
|
+
directionLinks = false;
|
|
2864
|
+
pageSize;
|
|
2865
|
+
paginationSizes;
|
|
2866
|
+
pageChange = new EventEmitter();
|
|
2867
|
+
pageSizeChange = new EventEmitter();
|
|
2868
|
+
onPageChange(page) {
|
|
2869
|
+
this.pageChange.emit(page);
|
|
2870
|
+
}
|
|
2871
|
+
onPageSizeChange() {
|
|
2872
|
+
this.itemsPerPage = this.pageSize;
|
|
2873
|
+
this.pageSizeChange.emit(this.pageSize);
|
|
2874
|
+
}
|
|
2875
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2876
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PaginationComponent, selector: "lib-pagination", inputs: { collection: "collection", itemsPerPage: "itemsPerPage", currentPage: "currentPage", totalItems: "totalItems", directionLinks: "directionLinks", pageSize: "pageSize", paginationSizes: "paginationSizes" }, outputs: { pageChange: "pageChange", pageSizeChange: "pageSizeChange" }, ngImport: i0, template: "\r\n<div class=\"row\">\r\n <div class=\"col-md-3\"></div>\r\n <div class=\"col-md-3 mt-4 text-end pe-0\"><span class=\"sub-title\">\r\n <span class=\"me-3\">Displaying</span>\r\n <select class=\"border-val \" [(ngModel)]=\"pageSize\" (change)=\"onPageSizeChange()\">\r\n <option value=\"{{ size }}\" *ngFor=\"let size of paginationSizes\">\r\n {{ size }}\r\n </option>>\r\n </select>\r\n <span class=\"ms-3\">out of {{totalItems}} items</span>\r\n </span></div>\r\n <div class=\"col-md-4 text-start ps-0\">\r\n <ul>\r\n <li\r\n *ngFor=\"let item of collection | paginate: { itemsPerPage: itemsPerPage, currentPage: currentPage, totalItems: totalItems }\">\r\n </li>\r\n </ul>\r\n <pagination-controls \r\n (pageChange)=\"onPageChange($event);currentPage=$event;\" \r\n [directionLinks]=\"directionLinks\"\r\n [maxSize]=\"7\"\r\n [responsive]=\"true\">\r\n </pagination-controls>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n</div>\r\n", styles: ["::ng-deep .ngx-pagination .current{padding:12px!important;background:#eaf8ff!important;cursor:default;color:#00a3ff!important;width:40px;height:40px;border-radius:8px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-600, #00A3FF)!important;text-align:center;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px}::ng-deep .ngx-pagination{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px}::ng-deep .ngx-pagination a{padding:.1875rem 1rem!important}*{font-family:Inter!important}.border-val{padding:10px 14px!important;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\"><path d=\"M10 12l-6-6h12l-6 6z\" fill=\"%23777\"/></svg>');background-repeat:no-repeat;background-position-x:calc(100% - 12px);background-position-y:50%;padding-right:20px}.sub-title{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:500!important;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$3.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "pipe", type: i3$3.PaginatePipe, name: "paginate" }] });
|
|
2877
|
+
}
|
|
2878
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
2879
|
+
type: Component,
|
|
2880
|
+
args: [{ selector: 'lib-pagination', template: "\r\n<div class=\"row\">\r\n <div class=\"col-md-3\"></div>\r\n <div class=\"col-md-3 mt-4 text-end pe-0\"><span class=\"sub-title\">\r\n <span class=\"me-3\">Displaying</span>\r\n <select class=\"border-val \" [(ngModel)]=\"pageSize\" (change)=\"onPageSizeChange()\">\r\n <option value=\"{{ size }}\" *ngFor=\"let size of paginationSizes\">\r\n {{ size }}\r\n </option>>\r\n </select>\r\n <span class=\"ms-3\">out of {{totalItems}} items</span>\r\n </span></div>\r\n <div class=\"col-md-4 text-start ps-0\">\r\n <ul>\r\n <li\r\n *ngFor=\"let item of collection | paginate: { itemsPerPage: itemsPerPage, currentPage: currentPage, totalItems: totalItems }\">\r\n </li>\r\n </ul>\r\n <pagination-controls \r\n (pageChange)=\"onPageChange($event);currentPage=$event;\" \r\n [directionLinks]=\"directionLinks\"\r\n [maxSize]=\"7\"\r\n [responsive]=\"true\">\r\n </pagination-controls>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n</div>\r\n", styles: ["::ng-deep .ngx-pagination .current{padding:12px!important;background:#eaf8ff!important;cursor:default;color:#00a3ff!important;width:40px;height:40px;border-radius:8px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-600, #00A3FF)!important;text-align:center;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px}::ng-deep .ngx-pagination{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px}::ng-deep .ngx-pagination a{padding:.1875rem 1rem!important}*{font-family:Inter!important}.border-val{padding:10px 14px!important;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\"><path d=\"M10 12l-6-6h12l-6 6z\" fill=\"%23777\"/></svg>');background-repeat:no-repeat;background-position-x:calc(100% - 12px);background-position-y:50%;padding-right:20px}.sub-title{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:500!important;line-height:20px}\n"] }]
|
|
2881
|
+
}], propDecorators: { collection: [{
|
|
2882
|
+
type: Input
|
|
2883
|
+
}], itemsPerPage: [{
|
|
2884
|
+
type: Input
|
|
2885
|
+
}], currentPage: [{
|
|
2886
|
+
type: Input
|
|
2887
|
+
}], totalItems: [{
|
|
2888
|
+
type: Input
|
|
2889
|
+
}], directionLinks: [{
|
|
2890
|
+
type: Input
|
|
2891
|
+
}], pageSize: [{
|
|
2892
|
+
type: Input
|
|
2893
|
+
}], paginationSizes: [{
|
|
2894
|
+
type: Input
|
|
2895
|
+
}], pageChange: [{
|
|
2896
|
+
type: Output
|
|
2897
|
+
}], pageSizeChange: [{
|
|
2898
|
+
type: Output
|
|
2899
|
+
}] } });
|
|
2900
|
+
|
|
2901
|
+
class FiltersComponent {
|
|
2902
|
+
elementRef;
|
|
2903
|
+
renderer;
|
|
2904
|
+
router;
|
|
2905
|
+
dataObject = [];
|
|
2906
|
+
Opendropdown = false;
|
|
2907
|
+
permission = [
|
|
2908
|
+
{ group: 'Super Admin', description: 'Lorem ipsum dolor sit amet, consectetur ' },
|
|
2909
|
+
{ group: 'Admin', description: 'Lorem ipsum dolor sit amet, consectetur ' },
|
|
2910
|
+
{ group: 'User', description: 'Lorem ipsum dolor sit amet, consectetur ' },
|
|
2911
|
+
];
|
|
2912
|
+
showdropdown;
|
|
2913
|
+
selectedValues = [];
|
|
2914
|
+
selectedValuesArray = [];
|
|
2915
|
+
searchValue;
|
|
2916
|
+
dummyArray = [];
|
|
2917
|
+
noFilter = false;
|
|
2918
|
+
responseArray = [];
|
|
2919
|
+
constructor(elementRef, renderer, router) {
|
|
2920
|
+
this.elementRef = elementRef;
|
|
2921
|
+
this.renderer = renderer;
|
|
2922
|
+
this.router = router;
|
|
2923
|
+
}
|
|
2924
|
+
onClick(event) {
|
|
2925
|
+
const target = event.target;
|
|
2926
|
+
if (!target.closest('.dropdown1')) {
|
|
2927
|
+
this.Opendropdown = false;
|
|
2928
|
+
}
|
|
2929
|
+
if (!target.closest('.dropdown-content')) {
|
|
2930
|
+
this.dataObject.forEach((item, i) => {
|
|
2931
|
+
item.isOpen = false;
|
|
2932
|
+
});
|
|
2933
|
+
}
|
|
2934
|
+
}
|
|
2935
|
+
ngOnInit() {
|
|
2936
|
+
this.dummyArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
2937
|
+
this.responseArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
2938
|
+
}
|
|
2939
|
+
opendropdown(e) {
|
|
2940
|
+
console.log(687);
|
|
2941
|
+
e.stopPropagation();
|
|
2942
|
+
this.Opendropdown = !this.Opendropdown;
|
|
2943
|
+
}
|
|
2944
|
+
Dropdown(value, index, event) {
|
|
2945
|
+
event.stopPropagation();
|
|
2946
|
+
this.dataObject.forEach((item, i) => {
|
|
2947
|
+
if (i !== index) {
|
|
2948
|
+
item.isOpen = false; // Close other dropdowns
|
|
2949
|
+
}
|
|
2950
|
+
});
|
|
2951
|
+
this.dataObject[index].isOpen = !this.dataObject[index].isOpen;
|
|
2952
|
+
// if (this.dataObject[index].isOpen) {
|
|
2953
|
+
// document.addEventListener('click', this.clickOutsideDropdownContent.bind(this, index));
|
|
2954
|
+
// } else {
|
|
2955
|
+
// document.removeEventListener('click', this.clickOutsideDropdownContent.bind(this, index));
|
|
2956
|
+
// }
|
|
2957
|
+
}
|
|
2958
|
+
// clickOutsideDropdownContent(index: number, event: Event) {
|
|
2959
|
+
// if (!this.elementRef.nativeElement.contains(event.target as Node)) {
|
|
2960
|
+
// this.dataObject[index].isOpen = false;
|
|
2961
|
+
// document.removeEventListener('click', this.clickOutsideDropdownContent.bind(this, index));
|
|
2962
|
+
// }
|
|
2963
|
+
// }
|
|
2964
|
+
toggleCheckbox(issue, index) {
|
|
2965
|
+
const currentIssues = this.dataObject[index].Issues;
|
|
2966
|
+
this.selectedValuesArray[index] = this.selectedValuesArray[index] || [];
|
|
2967
|
+
const selectedValues = this.selectedValuesArray[index]; // Retrieve selected values array for the current dropdown index
|
|
2968
|
+
if (issue === 'Select All') {
|
|
2969
|
+
const currentIssues = this.dataObject[index].Issues.map((item) => item.text);
|
|
2970
|
+
if (selectedValues.length === currentIssues.length) {
|
|
2971
|
+
// If all items are already selected, deselect all
|
|
2972
|
+
this.selectedValuesArray[index] = [];
|
|
2973
|
+
}
|
|
2974
|
+
else {
|
|
2975
|
+
// Otherwise, select all items
|
|
2976
|
+
this.selectedValuesArray[index] = [...currentIssues];
|
|
2977
|
+
}
|
|
2978
|
+
}
|
|
2979
|
+
else {
|
|
2980
|
+
if (selectedValues.includes(issue)) {
|
|
2981
|
+
this.selectedValuesArray[index] = selectedValues.filter((item) => item !== issue); // Deselect the individual item if already selected
|
|
2982
|
+
}
|
|
2983
|
+
else {
|
|
2984
|
+
this.selectedValuesArray[index].push(issue); // Select the individual item if not already selected
|
|
2985
|
+
}
|
|
2986
|
+
}
|
|
2987
|
+
// Update "Select All" checkbox status based on selected values
|
|
2988
|
+
const selectAllId = `selectall${index}`;
|
|
2989
|
+
const selectAllElement = document.getElementById(selectAllId);
|
|
2990
|
+
if (selectAllElement) {
|
|
2991
|
+
selectAllElement.checked = selectedValues.length === currentIssues.length;
|
|
2992
|
+
}
|
|
2993
|
+
// Update checkboxes based on selected values
|
|
2994
|
+
currentIssues.forEach((item) => {
|
|
2995
|
+
const isChecked = this.selectedValuesArray[index].includes(item);
|
|
2996
|
+
const checkboxId = `option${item}`;
|
|
2997
|
+
const checkboxElement = document.getElementById(checkboxId);
|
|
2998
|
+
if (checkboxElement) {
|
|
2999
|
+
checkboxElement.checked = isChecked;
|
|
3000
|
+
}
|
|
3001
|
+
});
|
|
3002
|
+
}
|
|
3003
|
+
Reset() {
|
|
3004
|
+
this.selectedValuesArray = [];
|
|
3005
|
+
this.Opendropdown = false;
|
|
3006
|
+
}
|
|
3007
|
+
searchData(event, i) {
|
|
3008
|
+
const filteredIssues = this.dummyArray[i].Issues.filter((item) => new RegExp(event.target.value, 'i').test(item.text));
|
|
3009
|
+
this.dataObject[i].Issues = filteredIssues;
|
|
3010
|
+
if (filteredIssues.length) {
|
|
3011
|
+
this.noFilter = false;
|
|
3012
|
+
}
|
|
3013
|
+
else {
|
|
3014
|
+
this.noFilter = true;
|
|
3015
|
+
}
|
|
3016
|
+
}
|
|
3017
|
+
Apply() {
|
|
3018
|
+
for (let i = 0; i < this.selectedValuesArray.length; i++) {
|
|
3019
|
+
const selectedValues = this.selectedValuesArray[i];
|
|
3020
|
+
const issues = this.dataObject[i].Issues;
|
|
3021
|
+
if (selectedValues) {
|
|
3022
|
+
this.selectedValuesArray[i] = selectedValues.map((selectedId) => {
|
|
3023
|
+
const issue = issues.find((issueItem) => issueItem.text === selectedId);
|
|
3024
|
+
return issue ? issue : ''; // Get the text corresponding to the id
|
|
3025
|
+
});
|
|
3026
|
+
}
|
|
3027
|
+
}
|
|
3028
|
+
this.Opendropdown = false;
|
|
3029
|
+
this.selectedValuesArray.forEach((item, index) => {
|
|
3030
|
+
item = item.map((ele) => ele.text);
|
|
3031
|
+
this.selectedValuesArray[index] = item;
|
|
3032
|
+
});
|
|
3033
|
+
this.responseArray.forEach((item, index) => {
|
|
3034
|
+
item.Issues = this.selectedValuesArray[index] ? this.selectedValuesArray[index] : [];
|
|
3035
|
+
});
|
|
3036
|
+
}
|
|
3037
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FiltersComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
3038
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: FiltersComponent, selector: "lib-filters", inputs: { dataObject: "dataObject" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"position-relative\">\r\n \r\n <button type=\"button\" (click)=\"opendropdown($event)\" \r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n class=\"pl-3\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Filter</span> </button>\r\n \r\n <div class=\"card p-5 dropdown1 position-absolute\" *ngIf=\"Opendropdown\">\r\n <span class=\"dropdown-title\">Filter Options</span>\r\n <div class=\"w-100 border border-gray mt-3\"></div>\r\n <div class=\"py-3\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select position-relative d-flex justify-content-between\" (click)=\"Dropdown(item.Description,i,$event)\">\r\n <!-- <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ? selectedValuesArray[i]?.length + ' ' + item.Description.split(' ').pop() + ' Selected' : item.Description }}</span> -->\r\n <span class=\"\">{{item.Description}}</span> <span *ngIf=\"selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined && selectedValuesArray[i]?.length !== 0\" class=\"badge badge-light-default\">{{selectedValuesArray[i]?.length}}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute w-100\">\r\n <div class=\"form-check d-flex align-items-center py-3 pt-3 ps-0\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\" [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-2\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n \r\n <div class=\"border border-gray mt-3 \"></div>\r\n \r\n <div class=\"mt-3 d-flex align-items-center\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\" class=\"form-control searchinput ps-14 py-2 me-2 mt-2\"\r\n placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n \r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 pt-3 ps-0 mt-2\">\r\n <input class=\"form-check-input\" type=\"checkbox\" [value]=\"issue.text\" id=\"option{{issue.text}}\" [checked]=\"selectedValuesArray[i]?.includes(issue.text)\"\r\n (change)=\"toggleCheckbox(issue.text,i)\">\r\n <label class=\"form-check-label px-2\" for=\"option{{issue.text}}\">\r\n {{ issue.text }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div role=\"group\" class=\"d-flex justify-content-between\">\r\n <button class=\"btn btn-outline w-100 me-2\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-100 ms-2\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".dropdown1{position:absolute;top:70px;min-width:270px!important}.dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{width:90%!important;z-index:1;padding:10px;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:200px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px;text-transform:capitalize}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.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: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
3039
|
+
}
|
|
3040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FiltersComponent, decorators: [{
|
|
3041
|
+
type: Component,
|
|
3042
|
+
args: [{ selector: 'lib-filters', template: "<div class=\"position-relative\">\r\n \r\n <button type=\"button\" (click)=\"opendropdown($event)\" \r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n class=\"pl-3\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Filter</span> </button>\r\n \r\n <div class=\"card p-5 dropdown1 position-absolute\" *ngIf=\"Opendropdown\">\r\n <span class=\"dropdown-title\">Filter Options</span>\r\n <div class=\"w-100 border border-gray mt-3\"></div>\r\n <div class=\"py-3\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select position-relative d-flex justify-content-between\" (click)=\"Dropdown(item.Description,i,$event)\">\r\n <!-- <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ? selectedValuesArray[i]?.length + ' ' + item.Description.split(' ').pop() + ' Selected' : item.Description }}</span> -->\r\n <span class=\"\">{{item.Description}}</span> <span *ngIf=\"selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined && selectedValuesArray[i]?.length !== 0\" class=\"badge badge-light-default\">{{selectedValuesArray[i]?.length}}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute w-100\">\r\n <div class=\"form-check d-flex align-items-center py-3 pt-3 ps-0\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\" [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-2\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n \r\n <div class=\"border border-gray mt-3 \"></div>\r\n \r\n <div class=\"mt-3 d-flex align-items-center\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\" class=\"form-control searchinput ps-14 py-2 me-2 mt-2\"\r\n placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n \r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 pt-3 ps-0 mt-2\">\r\n <input class=\"form-check-input\" type=\"checkbox\" [value]=\"issue.text\" id=\"option{{issue.text}}\" [checked]=\"selectedValuesArray[i]?.includes(issue.text)\"\r\n (change)=\"toggleCheckbox(issue.text,i)\">\r\n <label class=\"form-check-label px-2\" for=\"option{{issue.text}}\">\r\n {{ issue.text }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div role=\"group\" class=\"d-flex justify-content-between\">\r\n <button class=\"btn btn-outline w-100 me-2\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-100 ms-2\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".dropdown1{position:absolute;top:70px;min-width:270px!important}.dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{width:90%!important;z-index:1;padding:10px;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:200px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px;text-transform:capitalize}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}\n"] }]
|
|
3043
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$1.Router }], propDecorators: { dataObject: [{
|
|
3044
|
+
type: Input
|
|
3045
|
+
}], onClick: [{
|
|
3046
|
+
type: HostListener,
|
|
3047
|
+
args: ['document:click', ['$event']]
|
|
3048
|
+
}] } });
|
|
3049
|
+
|
|
2427
3050
|
class TranslationModule {
|
|
2428
3051
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2429
3052
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: TranslationModule, imports: [CommonModule, TranslateModule], exports: [TranslateModule] });
|
|
@@ -3166,6 +3789,10 @@ const Routing = [
|
|
|
3166
3789
|
path: 'profile',
|
|
3167
3790
|
loadChildren: () => import('./tango-app-ui-shared-profile-wrapper.module-CTJBnU9I.mjs').then((m) => m.ProfileWrapperModule),
|
|
3168
3791
|
},
|
|
3792
|
+
{
|
|
3793
|
+
path: 'tickets',
|
|
3794
|
+
loadChildren: () => import('./tango-app-ui-shared-ticket-wrapper.module-BLrWsK0B.mjs').then((m) => m.TicketWrapperModule),
|
|
3795
|
+
},
|
|
3169
3796
|
{
|
|
3170
3797
|
path: '',
|
|
3171
3798
|
redirectTo: '/manage',
|
|
@@ -3177,6 +3804,28 @@ const Routing = [
|
|
|
3177
3804
|
},
|
|
3178
3805
|
];
|
|
3179
3806
|
|
|
3807
|
+
class CommonSharedModule {
|
|
3808
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CommonSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3809
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: CommonSharedModule, declarations: [PaginationComponent, FiltersComponent, CustomSelectComponent], imports: [CommonModule,
|
|
3810
|
+
FormsModule,
|
|
3811
|
+
NgxPaginationModule], exports: [PaginationComponent, FiltersComponent, CustomSelectComponent] });
|
|
3812
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CommonSharedModule, imports: [CommonModule,
|
|
3813
|
+
FormsModule,
|
|
3814
|
+
NgxPaginationModule] });
|
|
3815
|
+
}
|
|
3816
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CommonSharedModule, decorators: [{
|
|
3817
|
+
type: NgModule,
|
|
3818
|
+
args: [{
|
|
3819
|
+
declarations: [PaginationComponent, FiltersComponent, CustomSelectComponent],
|
|
3820
|
+
imports: [
|
|
3821
|
+
CommonModule,
|
|
3822
|
+
FormsModule,
|
|
3823
|
+
NgxPaginationModule
|
|
3824
|
+
],
|
|
3825
|
+
exports: [PaginationComponent, FiltersComponent, CustomSelectComponent]
|
|
3826
|
+
}]
|
|
3827
|
+
}] });
|
|
3828
|
+
|
|
3180
3829
|
const routes$1 = [
|
|
3181
3830
|
{
|
|
3182
3831
|
path: '',
|
|
@@ -3206,7 +3855,8 @@ class LayoutModule {
|
|
|
3206
3855
|
ReportsComponent,
|
|
3207
3856
|
SaasComponent,
|
|
3208
3857
|
KeeniconComponent,
|
|
3209
|
-
LayoutScrollTopComponent
|
|
3858
|
+
LayoutScrollTopComponent,
|
|
3859
|
+
ClientSettingsComponent], imports: [CommonModule, i1$1.RouterModule, TranslationModule,
|
|
3210
3860
|
InlineSVGModule,
|
|
3211
3861
|
NgbDropdownModule,
|
|
3212
3862
|
NgbProgressbarModule,
|
|
@@ -3216,7 +3866,10 @@ class LayoutModule {
|
|
|
3216
3866
|
// EngagesModule,
|
|
3217
3867
|
// DropdownMenusModule,
|
|
3218
3868
|
NgbTooltipModule,
|
|
3219
|
-
TranslateModule
|
|
3869
|
+
TranslateModule,
|
|
3870
|
+
// ThemeModeModule,
|
|
3871
|
+
CommonSharedModule,
|
|
3872
|
+
FormsModule, i6.NgxDaterangepickerMd], exports: [RouterModule] });
|
|
3220
3873
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutModule, imports: [CommonModule,
|
|
3221
3874
|
RouterModule.forChild(routes$1),
|
|
3222
3875
|
TranslationModule,
|
|
@@ -3229,7 +3882,11 @@ class LayoutModule {
|
|
|
3229
3882
|
// EngagesModule,
|
|
3230
3883
|
// DropdownMenusModule,
|
|
3231
3884
|
NgbTooltipModule,
|
|
3232
|
-
TranslateModule,
|
|
3885
|
+
TranslateModule,
|
|
3886
|
+
// ThemeModeModule,
|
|
3887
|
+
CommonSharedModule,
|
|
3888
|
+
FormsModule,
|
|
3889
|
+
NgxDaterangepickerMd.forRoot(), RouterModule] });
|
|
3233
3890
|
}
|
|
3234
3891
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutModule, decorators: [{
|
|
3235
3892
|
type: NgModule,
|
|
@@ -3255,7 +3912,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
3255
3912
|
ReportsComponent,
|
|
3256
3913
|
SaasComponent,
|
|
3257
3914
|
KeeniconComponent,
|
|
3258
|
-
LayoutScrollTopComponent
|
|
3915
|
+
LayoutScrollTopComponent,
|
|
3916
|
+
ClientSettingsComponent
|
|
3259
3917
|
],
|
|
3260
3918
|
imports: [
|
|
3261
3919
|
CommonModule,
|
|
@@ -3272,6 +3930,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
3272
3930
|
NgbTooltipModule,
|
|
3273
3931
|
TranslateModule,
|
|
3274
3932
|
// ThemeModeModule,
|
|
3933
|
+
CommonSharedModule,
|
|
3934
|
+
FormsModule,
|
|
3935
|
+
NgxDaterangepickerMd.forRoot()
|
|
3275
3936
|
],
|
|
3276
3937
|
exports: [RouterModule],
|
|
3277
3938
|
}]
|
|
@@ -3332,26 +3993,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
3332
3993
|
}]
|
|
3333
3994
|
}] });
|
|
3334
3995
|
|
|
3335
|
-
class AuthService {
|
|
3336
|
-
router;
|
|
3337
|
-
constructor(router) {
|
|
3338
|
-
this.router = router;
|
|
3339
|
-
}
|
|
3340
|
-
logout() {
|
|
3341
|
-
this.router.navigate(['/auth/login'], {
|
|
3342
|
-
queryParams: {},
|
|
3343
|
-
});
|
|
3344
|
-
}
|
|
3345
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3346
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
3347
|
-
}
|
|
3348
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, decorators: [{
|
|
3349
|
-
type: Injectable,
|
|
3350
|
-
args: [{
|
|
3351
|
-
providedIn: 'root'
|
|
3352
|
-
}]
|
|
3353
|
-
}], ctorParameters: () => [{ type: i1$1.Router }] });
|
|
3354
|
-
|
|
3355
3996
|
class AuthGuard {
|
|
3356
3997
|
authService;
|
|
3357
3998
|
constructor(authService) {
|
|
@@ -3375,18 +4016,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
3375
4016
|
args: [{ providedIn: 'root' }]
|
|
3376
4017
|
}], ctorParameters: () => [{ type: AuthService }] });
|
|
3377
4018
|
|
|
3378
|
-
class
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
4019
|
+
class ToastService {
|
|
4020
|
+
constructor() { }
|
|
4021
|
+
getSuccessToast(message) {
|
|
4022
|
+
Swal.fire({
|
|
4023
|
+
iconHtml: `<img src="../../../../assets/tango/toast-icons/success-icon.svg">`,
|
|
4024
|
+
html: `<div class="col-md-12 pt-3 pb-0"><div class="toasttitile">${message}</div></div>`,
|
|
4025
|
+
toast: true,
|
|
4026
|
+
position: "bottom",
|
|
4027
|
+
showConfirmButton: false,
|
|
4028
|
+
showCloseButton: true,
|
|
4029
|
+
timer: 6000,
|
|
4030
|
+
timerProgressBar: true,
|
|
4031
|
+
customClass: "toast-light-success",
|
|
4032
|
+
didOpen: (toast) => {
|
|
4033
|
+
toast.addEventListener("mouseenter", Swal.stopTimer);
|
|
4034
|
+
toast.addEventListener("mouseleave", Swal.resumeTimer);
|
|
4035
|
+
},
|
|
4036
|
+
});
|
|
4037
|
+
}
|
|
4038
|
+
getPrimaryToast(message) {
|
|
4039
|
+
Swal.fire({
|
|
4040
|
+
iconHtml: `<img src="../../../../assets/tango/toast-icons/Envelope-Open-icon.svg">`,
|
|
4041
|
+
html: `<div class="col-md-12 pt-3 pb-0"><div class="toasttitile">${message}</div></div>`,
|
|
4042
|
+
toast: true,
|
|
4043
|
+
position: 'bottom',
|
|
4044
|
+
showConfirmButton: false,
|
|
4045
|
+
showCloseButton: true,
|
|
4046
|
+
timer: 6000,
|
|
4047
|
+
timerProgressBar: true,
|
|
4048
|
+
customClass: 'toast-light-primary',
|
|
4049
|
+
didOpen: (toast) => {
|
|
4050
|
+
toast.addEventListener('mouseenter', Swal.stopTimer);
|
|
4051
|
+
toast.addEventListener('mouseleave', Swal.resumeTimer);
|
|
4052
|
+
}
|
|
4053
|
+
});
|
|
4054
|
+
}
|
|
4055
|
+
getErrorToast(message) {
|
|
4056
|
+
Swal.fire({
|
|
4057
|
+
iconHtml: `<img src="../../../../assets/tango/toast-icons/error-icon.svg">`,
|
|
4058
|
+
html: `<div class="col-md-12 pt-3 pb-0"><div class="toasttitile">${message}</div></div>`,
|
|
4059
|
+
toast: true,
|
|
4060
|
+
position: 'bottom',
|
|
4061
|
+
showConfirmButton: false,
|
|
4062
|
+
showCloseButton: true,
|
|
4063
|
+
timer: 6000,
|
|
4064
|
+
timerProgressBar: true,
|
|
4065
|
+
customClass: 'toast-light-error',
|
|
4066
|
+
didOpen: (toast) => {
|
|
4067
|
+
toast.addEventListener('mouseenter', Swal.stopTimer);
|
|
4068
|
+
toast.addEventListener('mouseleave', Swal.resumeTimer);
|
|
4069
|
+
}
|
|
4070
|
+
});
|
|
4071
|
+
}
|
|
4072
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4073
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToastService, providedIn: 'root' });
|
|
3383
4074
|
}
|
|
3384
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type:
|
|
4075
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToastService, decorators: [{
|
|
3385
4076
|
type: Injectable,
|
|
3386
4077
|
args: [{
|
|
3387
4078
|
providedIn: 'root'
|
|
3388
4079
|
}]
|
|
3389
|
-
}] });
|
|
4080
|
+
}], ctorParameters: () => [] });
|
|
3390
4081
|
|
|
3391
4082
|
class HttpAuthInterceptor {
|
|
3392
4083
|
constructor() { }
|
|
@@ -3414,5 +4105,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
3414
4105
|
* Generated bundle index. Do not edit.
|
|
3415
4106
|
*/
|
|
3416
4107
|
|
|
3417
|
-
export { AccountingComponent, AuthGuard, AuthService, ClassicComponent, ContentComponent, Error404Component, Error500Component, ErrorsComponent, ErrorsModule, ExtendedComponent, FooterComponent, GlobalStateService, HeaderComponent, HeaderMenuComponent, HttpAuthInterceptor, LayoutComponent, LayoutModule, LayoutScrollTopComponent, NavbarComponent, PageTitleComponent, ReportsComponent, SaasComponent, ScriptsInitComponent, SidebarComponent, SidebarFooterComponent, SidebarLogoComponent, SidebarMenuComponent, ToolbarComponent, TranslationModule, TranslationService, ch as chLang, de as deLang, en as enLang, es as esLang, fr as frLang, jp as jpLang };
|
|
4108
|
+
export { AccountingComponent, AuthGuard, AuthService, ClassicComponent, ClientSettingsComponent, CommonSharedModule, ContentComponent, CustomSelectComponent, Error404Component, Error500Component, ErrorsComponent, ErrorsModule, ExtendedComponent, FiltersComponent, FooterComponent, GlobalStateService, HeaderComponent, HeaderMenuComponent, HttpAuthInterceptor, LayoutComponent, LayoutModule, LayoutScrollTopComponent, NavbarComponent, PageTitleComponent, PaginationComponent, ReportsComponent, SaasComponent, ScriptsInitComponent, SidebarComponent, SidebarFooterComponent, SidebarLogoComponent, SidebarMenuComponent, ToastService, ToolbarComponent, TranslationModule, TranslationService, ch as chLang, de as deLang, en as enLang, es as esLang, fr as frLang, jp as jpLang };
|
|
3418
4109
|
//# sourceMappingURL=tango-app-ui-shared.mjs.map
|