tango-app-ui-shared 3.3.1-beta.4 → 3.3.1-beta.41
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/interceptors/http-auth-interceptor.mjs +9 -3
- package/esm2022/lib/modules/errors/errors-routing.module.mjs +6 -1
- package/esm2022/lib/modules/errors/errors.module.mjs +6 -3
- package/esm2022/lib/modules/errors/invalid-ip/invalid-ip.component.mjs +44 -0
- package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +13 -8
- package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +21 -14
- package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +3 -2
- package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +14 -9
- package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +11 -6
- package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +8 -5
- package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +8 -8
- package/esm2022/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.mjs +183 -64
- package/esm2022/lib/modules/notification/notification/notification.component.mjs +128 -18
- package/esm2022/lib/modules/notification/notification-routing.module.mjs +5 -1
- package/esm2022/lib/modules/notification/notification.module.mjs +2 -2
- package/esm2022/lib/routes/routing.mjs +6 -1
- package/esm2022/lib/services/notification.service.mjs +6 -1
- package/fesm2022/{tango-app-ui-shared-intro.module-CAPPEqzI.mjs → tango-app-ui-shared-intro.module-0F5I6zgS.mjs} +3 -3
- package/fesm2022/{tango-app-ui-shared-intro.module-CAPPEqzI.mjs.map → tango-app-ui-shared-intro.module-0F5I6zgS.mjs.map} +1 -1
- package/fesm2022/tango-app-ui-shared-notification.module-DrHpMc3M.mjs +352 -0
- package/fesm2022/tango-app-ui-shared-notification.module-DrHpMc3M.mjs.map +1 -0
- package/fesm2022/tango-app-ui-shared.mjs +332 -127
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/lib/modules/errors/errors.module.d.ts +4 -3
- package/lib/modules/errors/invalid-ip/invalid-ip.component.d.ts +17 -0
- package/lib/modules/layout/header/page-title/page-title.component.d.ts +4 -1
- package/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.d.ts +1 -0
- package/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.d.ts +5 -1
- package/lib/modules/notification/notification/notification.component.d.ts +13 -0
- package/lib/services/notification.service.d.ts +2 -0
- package/package.json +1 -1
- package/fesm2022/tango-app-ui-shared-notification.module-Bj0oBem1.mjs +0 -238
- package/fesm2022/tango-app-ui-shared-notification.module-Bj0oBem1.mjs.map +0 -1
|
@@ -4,14 +4,14 @@ import * as i1 from '@angular/router';
|
|
|
4
4
|
import { NavigationEnd, NavigationCancel, ResolveEnd, NavigationStart, Router, RouterModule } from '@angular/router';
|
|
5
5
|
import * as i1$1 from 'tango-app-ui-global';
|
|
6
6
|
import { MenuComponent, ToggleComponent, ScrollTopComponent, DrawerComponent, StickyComponent, ScrollComponent, GlobalStateService } from 'tango-app-ui-global';
|
|
7
|
-
import { BehaviorSubject, throwError, map, catchError, Subject, filter, takeUntil, take, switchMap } from 'rxjs';
|
|
7
|
+
import { BehaviorSubject, throwError, map, catchError, Subject, filter, takeUntil, debounceTime, take, tap, switchMap } from 'rxjs';
|
|
8
8
|
import * as i3 from '@angular/common/http';
|
|
9
9
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
10
10
|
import Swal from 'sweetalert2';
|
|
11
|
-
import * as
|
|
11
|
+
import * as i4 from '@angular/common';
|
|
12
12
|
import { DatePipe, CommonModule } from '@angular/common';
|
|
13
13
|
import { transition, style, animate, trigger } from '@angular/animations';
|
|
14
|
-
import * as i2
|
|
14
|
+
import * as i2 from '@ng-bootstrap/ng-bootstrap';
|
|
15
15
|
import { NgbDropdownModule, NgbProgressbarModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
16
16
|
import { filter as filter$1 } from 'rxjs/operators';
|
|
17
17
|
import * as i3$1 from '@angular/platform-browser';
|
|
@@ -233,7 +233,7 @@ class HeaderMenuComponent {
|
|
|
233
233
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
234
234
|
}
|
|
235
235
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderMenuComponent, deps: [{ token: i1$1.PageInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
236
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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:
|
|
236
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
237
237
|
}
|
|
238
238
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderMenuComponent, decorators: [{
|
|
239
239
|
type: Component,
|
|
@@ -249,6 +249,7 @@ class NotificationService {
|
|
|
249
249
|
gs;
|
|
250
250
|
paymentSubscriptionApiUrl;
|
|
251
251
|
clientApiUrl;
|
|
252
|
+
traxUrl;
|
|
252
253
|
reloadDataSubject = new BehaviorSubject(false);
|
|
253
254
|
reloadData$ = this.reloadDataSubject.asObservable();
|
|
254
255
|
clientId = new BehaviorSubject('');
|
|
@@ -261,6 +262,7 @@ class NotificationService {
|
|
|
261
262
|
this.gs.environment.subscribe((env) => {
|
|
262
263
|
if (env) {
|
|
263
264
|
this.paymentSubscriptionApiUrl = env.paymentSubscriptionApiUrl;
|
|
265
|
+
this.traxUrl = env.traxUrl;
|
|
264
266
|
}
|
|
265
267
|
this.gs.dataRangeValue.subscribe((e) => {
|
|
266
268
|
if (e) {
|
|
@@ -295,6 +297,9 @@ class NotificationService {
|
|
|
295
297
|
return this.http
|
|
296
298
|
.post(`${this.paymentSubscriptionApiUrl}/admin/trialApproval`, data, {});
|
|
297
299
|
}
|
|
300
|
+
getdownloadlist(data) {
|
|
301
|
+
return this.http.post(`${this.traxUrl}/downloads/downloadList`, data);
|
|
302
|
+
}
|
|
298
303
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationService, deps: [{ token: i3.HttpClient }, { token: i1$1.GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
299
304
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationService, providedIn: 'root' });
|
|
300
305
|
}
|
|
@@ -546,7 +551,7 @@ class NavbarComponent {
|
|
|
546
551
|
}
|
|
547
552
|
}
|
|
548
553
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavbarComponent, deps: [{ token: NotificationService }, { token: i1.Router }, { token: ToastService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
549
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NavbarComponent, selector: "lib-navbar", inputs: { appHeaderDefaulMenuDisplay: "appHeaderDefaulMenuDisplay", isRtl: "isRtl" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<!--begin::Notifications-->\r\n<div class=\"app-navbar-item\" [ngClass]=\"itemClass\" *ngIf=\"showNotification\">\r\n <!--begin::Menu- wrapper-->\r\n <div [ngClass]=\"btnClass\" (click)=\"showDropdown = !showDropdown\">\r\n <span *ngIf=\"!notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M10.6779 2.4V3.00688L11.2715 3.1335C14.1674 3.75125 16.3919 6.45842 16.3919 9.75V10.6313C16.3919 13.0131 17.2249 15.3087 18.7338 17.0963L18.7352 17.0979L19.0636 17.4846C19.0639 17.485 19.0642 17.4853 19.0645 17.4857C19.2557 17.7136 19.3048 18.0393 19.185 18.3174C19.0641 18.5983 18.8153 18.75 18.5704 18.75H1.42848C1.1825 18.75 0.933931 18.5974 0.815017 18.3193C0.695108 18.0388 0.744592 17.7123 0.933996 17.4853C0.934445 17.4848 0.934894 17.4843 0.935344 17.4837L1.26312 17.0985L1.26473 17.0966C2.77599 15.3086 3.60697 13.0127 3.60697 10.6313V9.75C3.60697 6.45434 5.79488 3.75145 8.72559 3.13388L9.32094 3.00843V2.4V1.5C9.32094 1.05052 9.65806 0.75 9.99944 0.75C10.3408 0.75 10.6779 1.05052 10.6779 1.5V2.4ZM9.99944 23.25C9.44983 23.25 8.91726 23.023 8.52034 22.6062C8.29649 22.3712 8.12457 22.0708 8.01769 21.75H11.9812C11.8743 22.0708 11.7024 22.3712 11.4785 22.6062C11.0856 23.0188 10.5146 23.25 9.99944 23.25Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M11.4279 2.4V1.5C11.4279 0.671719 10.7896 0 9.99944 0C9.2093 0 8.57094 0.671719 8.57094 1.5V2.4C5.27202 3.09516 2.85697 6.12188 2.85697 9.75V10.6313C2.85697 12.8391 2.08648 14.9625 0.691915 16.6125L0.360862 17.0016C-0.0128805 17.4469 -0.10505 18.075 0.125384 18.6141C0.355818 19.1531 0.866013 19.5 1.42848 19.5H18.5704C19.1329 19.5 19.6418 19.1531 19.8739 18.6141C20.106 18.075 20.0123 17.4469 19.6373 17.0016L19.307 16.6125C17.9142 14.9625 17.1419 12.8391 17.1419 10.6313V9.75C17.1419 9.39947 17.119 9.05455 17.0746 8.71681C16.5845 8.8999 16.054 9 15.5 9C13.0147 9 11 6.98528 11 4.5C11 3.74877 11.1841 3.04054 11.5096 2.41795C11.4824 2.4118 11.4552 2.40582 11.4279 2.4Z\"\r\n fill=\"#00A3FF\" />\r\n <path\r\n d=\"M7.97723 23.1234C8.51291 23.6859 9.24055 24 9.99944 24C10.7181 24 11.486 23.6859 12.0216 23.1234C12.5573 22.5609 12.8564 21.7547 12.8564 21H7.14245C7.14245 21.7547 7.44154 22.5609 7.97723 23.1234Z\"\r\n fill=\"#00A3FF\" />\r\n <circle cx=\"16\" cy=\"4\" r=\"4\" fill=\"#F04438\" />\r\n </svg>\r\n </span>\r\n <div class=\"menu menu-sub menu-sub-dropdown menu-column w-450px w-lg-425px notificationMenu\" *ngIf=\"showDropdown\">\r\n <div class=\"card topbar\">\r\n <div class=\"card-header\">\r\n <h3 class=\"title-notify mt-10 mb-6\">\r\n Notifications\r\n </h3>\r\n </div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"alertscroll\" *ngIf=\"notification.length\">\r\n <div *ngFor=\"let item of notification\" class=\"mh-200px ng-star-inserted\" style=\"overflow: auto;\">\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\">\r\n <div class=\"alert-title\">{{ item._source.title }}</div>\r\n <div class=\"alt-desc\">{{ item._source.description }}</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">{{ item._source.date|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"text-center border-top\">\r\n <a (click)=\"viewAll('alerts')\" class=\"btn btn-color-gray-600 btn-active-color-primary my-2\">\r\n View All\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"w-450px position-fixed end-0 bottom-0 transition\">\r\n <div class=\"mb-4\" *ngFor=\"let item of pushNotificationList;let i = index\">\r\n <div class=\"alertbg card\" *ngIf=\"item._score\" @fadeIn @fadeOut>\r\n <div class=\"row m-2\">\r\n <div class=\"col-1 align-items-start mt-1\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12254_112653)\">\r\n <path\r\n d=\"M9.99935 13.3334V10M9.99935 6.66669H10.0077M18.3327 10C18.3327 14.6024 14.6017 18.3334 9.99935 18.3334C5.39698 18.3334 1.66602 14.6024 1.66602 10C1.66602 5.39765 5.39698 1.66669 9.99935 1.66669C14.6017 1.66669 18.3327 5.39765 18.3327 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12254_112653\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"col-10 align-items-start\">\r\n <span class=\"alert-title\">\r\n Notification\r\n </span>\r\n <div>\r\n {{item._source.description}}\r\n </div>\r\n </div>\r\n <div class=\"col-1 align-items-start cursor-pointer\" (click)=\"notificationPushUpdate(item,'')\">\r\n <span><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <!-- -->\r\n <div class=\"d-flex my-2 justify-content-around\" >\r\n <div [ngClass]=\"!['remind','cancel'].includes(button.redirectionUrl) ? '' : 'mt-2'\" *ngFor=\"let button of item._source?.alertCta\">\r\n <button *ngIf=\"!['remind','cancel'].includes(button.redirectionUrl)\" (click)=\"notificationPushUpdate(item,button)\"\r\n type=\"button\" tabindex=\"0\" class=\" ms-10 btn btn-sm btn-primary ng-star-inserted\"\r\n style=\"white-space: nowrap;\"><span class=\"submit\">{{ button.buttonName }} </span></button>\r\n <span *ngIf=\"['remind','cancel'].includes(button.redirectionUrl)\" (click)=\"notificationPushUpdate(item,button)\"\r\n class=\"text-primary mx-6 remindlatertext cursor-pointer\">{{ button.buttonName }} </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".nav-line-tabs .nav-item .nav-link.active{border-radius:6px!important;background:var(--Primary-50, #EAF8FF)!important;padding:10px 14px!important;border-bottom:none!important;width:100%!important}.nav-line-tabs.nav-line-tabs-2x{background:var(--Gray-50, #F9FAFB)!important;padding:6px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.title-name{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:500!important;line-height:20px}.title-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.title-notify{color:var(--Gray-900, #101828)!important;font-size:20px!important;font-weight:500!important;line-height:30px}.alert-title{color:var(--Gray-900, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:28px;text-align:left}.alt-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alertscroll{max-height:300px;overflow-y:scroll}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.notificationAlign{color:var(--Gray-900, #101828);text-align:center;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.noNotification{color:var(--Gray-500, #667085);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.border-value{padding:16px!important;border-radius:12px!important;border:1.095px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important}.buttonsec{border-radius:8px;margin:0;background:var(--gray-50, white);width:100%;height:fit-content;padding:5px}.submenu{background:var(--gray-50, white)!important;color:var(--gray-500, #667085)!important;font-size:16px!important;font-weight:500!important;outline:none!important}.text-primary{color:var(--primary-700, #009BF3)!important;font-size:16px;font-weight:500}.alertdot{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.remindlatertext{color:var(--Primary-700, #009BF3);font-size:16px;font-weight:600;line-height:24px;text-decoration-line:underline;text-transform:capitalize}.submit{font-size:16px;font-weight:600;line-height:24px;text-align:left;color:#fff}.alerticon{margin-bottom:35%!important}.alertbg{gap:0px;opacity:0px;border-left:7px solid var(--Primary-500, #33B5FF);border-top-left-radius:15px;border-bottom-left-radius:15px}.notificationMenu{display:block!important;z-index:105;position:fixed;inset:0 0 auto auto;margin:0;transform:translate3d(-30.2222px,72.8889px,0)}.transition{transition:5s ease-in!important;right:-450px}\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: "pipe", type: CustomDateFormatPipe, name: "customDateFormat" }], animations: [
|
|
554
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NavbarComponent, selector: "lib-navbar", inputs: { appHeaderDefaulMenuDisplay: "appHeaderDefaulMenuDisplay", isRtl: "isRtl" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<!--begin::Notifications-->\r\n<div class=\"app-navbar-item\" [ngClass]=\"itemClass\" *ngIf=\"showNotification\">\r\n <!--begin::Menu- wrapper-->\r\n <div [ngClass]=\"btnClass\" (click)=\"showDropdown = !showDropdown\">\r\n <span *ngIf=\"!notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M10.6779 2.4V3.00688L11.2715 3.1335C14.1674 3.75125 16.3919 6.45842 16.3919 9.75V10.6313C16.3919 13.0131 17.2249 15.3087 18.7338 17.0963L18.7352 17.0979L19.0636 17.4846C19.0639 17.485 19.0642 17.4853 19.0645 17.4857C19.2557 17.7136 19.3048 18.0393 19.185 18.3174C19.0641 18.5983 18.8153 18.75 18.5704 18.75H1.42848C1.1825 18.75 0.933931 18.5974 0.815017 18.3193C0.695108 18.0388 0.744592 17.7123 0.933996 17.4853C0.934445 17.4848 0.934894 17.4843 0.935344 17.4837L1.26312 17.0985L1.26473 17.0966C2.77599 15.3086 3.60697 13.0127 3.60697 10.6313V9.75C3.60697 6.45434 5.79488 3.75145 8.72559 3.13388L9.32094 3.00843V2.4V1.5C9.32094 1.05052 9.65806 0.75 9.99944 0.75C10.3408 0.75 10.6779 1.05052 10.6779 1.5V2.4ZM9.99944 23.25C9.44983 23.25 8.91726 23.023 8.52034 22.6062C8.29649 22.3712 8.12457 22.0708 8.01769 21.75H11.9812C11.8743 22.0708 11.7024 22.3712 11.4785 22.6062C11.0856 23.0188 10.5146 23.25 9.99944 23.25Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M11.4279 2.4V1.5C11.4279 0.671719 10.7896 0 9.99944 0C9.2093 0 8.57094 0.671719 8.57094 1.5V2.4C5.27202 3.09516 2.85697 6.12188 2.85697 9.75V10.6313C2.85697 12.8391 2.08648 14.9625 0.691915 16.6125L0.360862 17.0016C-0.0128805 17.4469 -0.10505 18.075 0.125384 18.6141C0.355818 19.1531 0.866013 19.5 1.42848 19.5H18.5704C19.1329 19.5 19.6418 19.1531 19.8739 18.6141C20.106 18.075 20.0123 17.4469 19.6373 17.0016L19.307 16.6125C17.9142 14.9625 17.1419 12.8391 17.1419 10.6313V9.75C17.1419 9.39947 17.119 9.05455 17.0746 8.71681C16.5845 8.8999 16.054 9 15.5 9C13.0147 9 11 6.98528 11 4.5C11 3.74877 11.1841 3.04054 11.5096 2.41795C11.4824 2.4118 11.4552 2.40582 11.4279 2.4Z\"\r\n fill=\"#00A3FF\" />\r\n <path\r\n d=\"M7.97723 23.1234C8.51291 23.6859 9.24055 24 9.99944 24C10.7181 24 11.486 23.6859 12.0216 23.1234C12.5573 22.5609 12.8564 21.7547 12.8564 21H7.14245C7.14245 21.7547 7.44154 22.5609 7.97723 23.1234Z\"\r\n fill=\"#00A3FF\" />\r\n <circle cx=\"16\" cy=\"4\" r=\"4\" fill=\"#F04438\" />\r\n </svg>\r\n </span>\r\n <div class=\"menu menu-sub menu-sub-dropdown menu-column w-450px w-lg-425px notificationMenu\" *ngIf=\"showDropdown\">\r\n <div class=\"card topbar\">\r\n <div class=\"card-header\">\r\n <h3 class=\"title-notify mt-10 mb-6\">\r\n Notifications\r\n </h3>\r\n </div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"alertscroll\" *ngIf=\"notification.length\">\r\n <div *ngFor=\"let item of notification\" class=\"mh-200px ng-star-inserted\" style=\"overflow: auto;\">\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\">\r\n <div class=\"alert-title\">{{ item._source.title }}</div>\r\n <div class=\"alt-desc\">{{ item._source.description }}</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">{{ item._source.date|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"text-center border-top\">\r\n <a (click)=\"viewAll('alerts')\" class=\"btn btn-color-gray-600 btn-active-color-primary my-2\">\r\n View All\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"w-450px position-fixed end-0 bottom-0 transition\">\r\n <div class=\"mb-4\" *ngFor=\"let item of pushNotificationList;let i = index\">\r\n <div class=\"alertbg card\" *ngIf=\"item._score\" @fadeIn @fadeOut>\r\n <div class=\"row m-2\">\r\n <div class=\"col-1 align-items-start mt-1\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12254_112653)\">\r\n <path\r\n d=\"M9.99935 13.3334V10M9.99935 6.66669H10.0077M18.3327 10C18.3327 14.6024 14.6017 18.3334 9.99935 18.3334C5.39698 18.3334 1.66602 14.6024 1.66602 10C1.66602 5.39765 5.39698 1.66669 9.99935 1.66669C14.6017 1.66669 18.3327 5.39765 18.3327 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12254_112653\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"col-10 align-items-start\">\r\n <span class=\"alert-title\">\r\n Notification\r\n </span>\r\n <div>\r\n {{item._source.description}}\r\n </div>\r\n </div>\r\n <div class=\"col-1 align-items-start cursor-pointer\" (click)=\"notificationPushUpdate(item,'')\">\r\n <span><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <!-- -->\r\n <div class=\"d-flex my-2 justify-content-around\" >\r\n <div [ngClass]=\"!['remind','cancel'].includes(button.redirectionUrl) ? '' : 'mt-2'\" *ngFor=\"let button of item._source?.alertCta\">\r\n <button *ngIf=\"!['remind','cancel'].includes(button.redirectionUrl)\" (click)=\"notificationPushUpdate(item,button)\"\r\n type=\"button\" tabindex=\"0\" class=\" ms-10 btn btn-sm btn-primary ng-star-inserted\"\r\n style=\"white-space: nowrap;\"><span class=\"submit\">{{ button.buttonName }} </span></button>\r\n <span *ngIf=\"['remind','cancel'].includes(button.redirectionUrl)\" (click)=\"notificationPushUpdate(item,button)\"\r\n class=\"text-primary mx-6 remindlatertext cursor-pointer\">{{ button.buttonName }} </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".nav-line-tabs .nav-item .nav-link.active{border-radius:6px!important;background:var(--Primary-50, #EAF8FF)!important;padding:10px 14px!important;border-bottom:none!important;width:100%!important}.nav-line-tabs.nav-line-tabs-2x{background:var(--Gray-50, #F9FAFB)!important;padding:6px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.title-name{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:500!important;line-height:20px}.title-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.title-notify{color:var(--Gray-900, #101828)!important;font-size:20px!important;font-weight:500!important;line-height:30px}.alert-title{color:var(--Gray-900, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:28px;text-align:left}.alt-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alertscroll{max-height:300px;overflow-y:scroll}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.notificationAlign{color:var(--Gray-900, #101828);text-align:center;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.noNotification{color:var(--Gray-500, #667085);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.border-value{padding:16px!important;border-radius:12px!important;border:1.095px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important}.buttonsec{border-radius:8px;margin:0;background:var(--gray-50, white);width:100%;height:fit-content;padding:5px}.submenu{background:var(--gray-50, white)!important;color:var(--gray-500, #667085)!important;font-size:16px!important;font-weight:500!important;outline:none!important}.text-primary{color:var(--primary-700, #009BF3)!important;font-size:16px;font-weight:500}.alertdot{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.remindlatertext{color:var(--Primary-700, #009BF3);font-size:16px;font-weight:600;line-height:24px;text-decoration-line:underline;text-transform:capitalize}.submit{font-size:16px;font-weight:600;line-height:24px;text-align:left;color:#fff}.alerticon{margin-bottom:35%!important}.alertbg{gap:0px;opacity:0px;border-left:7px solid var(--Primary-500, #33B5FF);border-top-left-radius:15px;border-bottom-left-radius:15px}.notificationMenu{display:block!important;z-index:105;position:fixed;inset:0 0 auto auto;margin:0;transform:translate3d(-30.2222px,72.8889px,0)}.transition{transition:5s ease-in!important;right:-450px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: CustomDateFormatPipe, name: "customDateFormat" }], animations: [
|
|
550
555
|
fadeIn,
|
|
551
556
|
fadeOut
|
|
552
557
|
] });
|
|
@@ -1811,7 +1816,7 @@ class KeeniconComponent {
|
|
|
1811
1816
|
return 'contents';
|
|
1812
1817
|
}
|
|
1813
1818
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeeniconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1814
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KeeniconComponent, selector: "lib-keenicon", inputs: { name: "name", class: "class", type: "type" }, host: { properties: { "style.display": "this.styleDisplay" } }, ngImport: i0, template: "<span *ngIf=\"type === 'duotone'\" class=\"ki-{{ type }} ki-{{ name }}{{ class ? ' ' + class : '' }}\">\r\n <span *ngFor=\"let i of [].constructor(pathsNumber); let idx = index\" class=\"path{{ idx + 1 }}\"></span>\r\n</span>\r\n<span *ngIf=\"type !== 'duotone'\" class=\"ki-{{ type }} ki-{{ name }}{{ class ? ' ' + class : '' }}\"></span>\r\n", styles: [""], dependencies: [{ kind: "directive", type:
|
|
1819
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KeeniconComponent, selector: "lib-keenicon", inputs: { name: "name", class: "class", type: "type" }, host: { properties: { "style.display": "this.styleDisplay" } }, ngImport: i0, template: "<span *ngIf=\"type === 'duotone'\" class=\"ki-{{ type }} ki-{{ name }}{{ class ? ' ' + class : '' }}\">\r\n <span *ngFor=\"let i of [].constructor(pathsNumber); let idx = index\" class=\"path{{ idx + 1 }}\"></span>\r\n</span>\r\n<span *ngIf=\"type !== 'duotone'\" class=\"ki-{{ type }} ki-{{ name }}{{ class ? ' ' + class : '' }}\"></span>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1815
1820
|
}
|
|
1816
1821
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeeniconComponent, decorators: [{
|
|
1817
1822
|
type: Component,
|
|
@@ -1910,7 +1915,7 @@ class HeaderComponent {
|
|
|
1910
1915
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
1911
1916
|
}
|
|
1912
1917
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i1$1.LayoutService }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
1913
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HeaderComponent, selector: "lib-header", ngImport: i0, template: "<!--begin::Header container-->\r\n<div class=\"app-container header-style\" id=\"kt_app_header_container\" [ngClass]=\"headerContainerCssClass\">\r\n <ng-container *ngIf=\"appSidebarDefaultCollapseDesktopEnabled\">\r\n <div class=\"app-sidebar-collapse-d-flex align-items-center me-3\">\r\n <!--begin::sidebar toggle-->\r\n <div class=\"btn btn-icon w-auto px-0 btn-color-muted btn-active-icon-primary\" data-kt-toggle=\"true\"\r\n data-kt-toggle-target=\"body\" data-kt-toggle-mode=\"on\" data-kt-toggle-name=\"app-sidebar-collapse\">\r\n <lib-keenicon name=\"double-right\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n <!--end::sidebar toggle-->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar mobile toggle-->\r\n <div class=\"d-flex align-items-center d-lg-none ms-n2 me-2\" title=\"Show sidebar menu\">\r\n <div class=\"btn btn-icon btn-active-color-primary w-35px h-35px\" id=\"kt_app_sidebar_mobile_toggle\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n </div>\r\n <!--end::sidebar mobile toggle-->\r\n <!--begin::Mobile logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0\">\r\n <a class=\"d-lg-none\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-30px\" />\r\n </a>\r\n </div>\r\n <!--end::Mobile logo-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!appSidebarDisplay\">\r\n <!--begin::Logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0 me-lg-15\">\r\n <a >\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n </a>\r\n </div>\r\n <!--end::Logo-->\r\n </ng-container>\r\n\r\n <!--begin::Header wrapper-->\r\n <div class=\"d-flex align-items-stretch justify-content-between flex-lg-grow-1 header-border\" id=\"kt_app_header_wrapper\">\r\n <ng-container *ngIf=\"appHeaderDefaultContent === 'menu' && appHeaderDefaulMenuDisplay\">\r\n <!--begin::Menu wrapper-->\r\n <div class=\"\r\n app-header-menu\r\n app-header-mobile-drawer\r\n align-items-stretch\r\n\" data-kt-drawer=\"true\" data-kt-drawer-name=\"app-header-menu\" data-kt-drawer-activate=\"{default: true, lg: false}\"\r\n data-kt-drawer-overlay=\"true\" data-kt-drawer-width=\"225px\" data-kt-drawer-direction=\"end\"\r\n data-kt-drawer-toggle=\"#kt_app_header_menu_toggle\" data-kt-swapper=\"true\"\r\n data-kt-swapper-mode=\"{default: 'append', lg: 'prepend'}\"\r\n data-kt-swapper-parent=\"{default: '#kt_app_body', lg: '#kt_app_header_wrapper'}\">\r\n <!--begin::Menu-->\r\n <lib-header-menu\r\n appPageTitleDirection = ''\r\n [appPageTitleDescription] = true\r\n class=\"\r\n menu\r\n menu-rounded\r\n menu-column\r\n menu-lg-row\r\n my-5\r\n my-lg-0\r\n align-items-stretch\r\n fw-semibold\r\n px-2 px-lg-0\r\n \" id=\"kt_app_header_menu\" data-kt-menu=\"true\"></lib-header-menu>\r\n <!--end::Menu-->\r\n </div>\r\n <!--end::Menu wrapper-->\r\n </ng-container>\r\n <!-- <ng-container *ngIf=\"appHeaderDefaultContent === 'page-title' && appPageTitleDisplay\">\r\n <app-page-title #ktPageTitle class=\"page-title d-flex\"></app-page-title>\r\n </ng-container> -->\r\n <lib-navbar class=\"app-navbar flex-shrink-0\" [appHeaderDefaulMenuDisplay]=\"appHeaderDefaulMenuDisplay\"\r\n [isRtl]=\"false\"></lib-navbar>\r\n </div>\r\n <!--end::Header wrapper-->\r\n</div>\r\n<!--end::Header container-->\r\n", styles: [".header-style{background-color:#fff}.header-border{border-bottom:1px solid #EAECF0}\n"], dependencies: [{ kind: "directive", type:
|
|
1918
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HeaderComponent, selector: "lib-header", ngImport: i0, template: "<!--begin::Header container-->\r\n<div class=\"app-container header-style\" id=\"kt_app_header_container\" [ngClass]=\"headerContainerCssClass\">\r\n <ng-container *ngIf=\"appSidebarDefaultCollapseDesktopEnabled\">\r\n <div class=\"app-sidebar-collapse-d-flex align-items-center me-3\">\r\n <!--begin::sidebar toggle-->\r\n <div class=\"btn btn-icon w-auto px-0 btn-color-muted btn-active-icon-primary\" data-kt-toggle=\"true\"\r\n data-kt-toggle-target=\"body\" data-kt-toggle-mode=\"on\" data-kt-toggle-name=\"app-sidebar-collapse\">\r\n <lib-keenicon name=\"double-right\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n <!--end::sidebar toggle-->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar mobile toggle-->\r\n <div class=\"d-flex align-items-center d-lg-none ms-n2 me-2\" title=\"Show sidebar menu\">\r\n <div class=\"btn btn-icon btn-active-color-primary w-35px h-35px\" id=\"kt_app_sidebar_mobile_toggle\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-1\"></lib-keenicon>\r\n </div>\r\n </div>\r\n <!--end::sidebar mobile toggle-->\r\n <!--begin::Mobile logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0\">\r\n <a class=\"d-lg-none\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-30px\" />\r\n </a>\r\n </div>\r\n <!--end::Mobile logo-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!appSidebarDisplay\">\r\n <!--begin::Logo-->\r\n <div class=\"d-flex align-items-center flex-grow-1 flex-lg-grow-0 me-lg-15\">\r\n <a >\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-header'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\"\r\n class=\"h-20px h-lg-30px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n </a>\r\n </div>\r\n <!--end::Logo-->\r\n </ng-container>\r\n\r\n <!--begin::Header wrapper-->\r\n <div class=\"d-flex align-items-stretch justify-content-between flex-lg-grow-1 header-border\" id=\"kt_app_header_wrapper\">\r\n <ng-container *ngIf=\"appHeaderDefaultContent === 'menu' && appHeaderDefaulMenuDisplay\">\r\n <!--begin::Menu wrapper-->\r\n <div class=\"\r\n app-header-menu\r\n app-header-mobile-drawer\r\n align-items-stretch\r\n\" data-kt-drawer=\"true\" data-kt-drawer-name=\"app-header-menu\" data-kt-drawer-activate=\"{default: true, lg: false}\"\r\n data-kt-drawer-overlay=\"true\" data-kt-drawer-width=\"225px\" data-kt-drawer-direction=\"end\"\r\n data-kt-drawer-toggle=\"#kt_app_header_menu_toggle\" data-kt-swapper=\"true\"\r\n data-kt-swapper-mode=\"{default: 'append', lg: 'prepend'}\"\r\n data-kt-swapper-parent=\"{default: '#kt_app_body', lg: '#kt_app_header_wrapper'}\">\r\n <!--begin::Menu-->\r\n <lib-header-menu\r\n appPageTitleDirection = ''\r\n [appPageTitleDescription] = true\r\n class=\"\r\n menu\r\n menu-rounded\r\n menu-column\r\n menu-lg-row\r\n my-5\r\n my-lg-0\r\n align-items-stretch\r\n fw-semibold\r\n px-2 px-lg-0\r\n \" id=\"kt_app_header_menu\" data-kt-menu=\"true\"></lib-header-menu>\r\n <!--end::Menu-->\r\n </div>\r\n <!--end::Menu wrapper-->\r\n </ng-container>\r\n <!-- <ng-container *ngIf=\"appHeaderDefaultContent === 'page-title' && appPageTitleDisplay\">\r\n <app-page-title #ktPageTitle class=\"page-title d-flex\"></app-page-title>\r\n </ng-container> -->\r\n <lib-navbar class=\"app-navbar flex-shrink-0\" [appHeaderDefaulMenuDisplay]=\"appHeaderDefaulMenuDisplay\"\r\n [isRtl]=\"false\"></lib-navbar>\r\n </div>\r\n <!--end::Header wrapper-->\r\n</div>\r\n<!--end::Header container-->\r\n", styles: [".header-style{background-color:#fff}.header-border{border-bottom:1px solid #EAECF0}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HeaderMenuComponent, selector: "lib-header-menu", inputs: ["appPageTitleDirection", "appPageTitleDescription"] }, { kind: "component", type: NavbarComponent, selector: "lib-navbar", inputs: ["appHeaderDefaulMenuDisplay", "isRtl"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
1914
1919
|
}
|
|
1915
1920
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
1916
1921
|
type: Component,
|
|
@@ -1929,13 +1934,13 @@ class CsmAssignConfirmationComponent {
|
|
|
1929
1934
|
onSubmit(value) {
|
|
1930
1935
|
this.activeModal.close({ clientId: this.clientId, action: value });
|
|
1931
1936
|
}
|
|
1932
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CsmAssignConfirmationComponent, deps: [{ token: i2
|
|
1937
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CsmAssignConfirmationComponent, deps: [{ token: i2.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
|
|
1933
1938
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CsmAssignConfirmationComponent, selector: "lib-csm-assign-confirmation", inputs: { clientId: "clientId", email: "email", mobile: "mobile", name: "name" }, ngImport: i0, template: "<span class=\"mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEF0C7\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FFFAEB\" stroke-width=\"8\" />\r\n <path\r\n d=\"M27.9998 24V28M27.9998 32H28.0098M26.2898 18.86L17.8198 33C17.6451 33.3024 17.5527 33.6453 17.5518 33.9945C17.5508 34.3437 17.6413 34.6871 17.8142 34.9905C17.9871 35.2939 18.2365 35.5467 18.5375 35.7238C18.8385 35.9009 19.1806 35.9961 19.5298 36H36.4698C36.819 35.9961 37.1611 35.9009 37.4621 35.7238C37.7631 35.5467 38.0124 35.2939 38.1854 34.9905C38.3583 34.6871 38.4488 34.3437 38.4478 33.9945C38.4468 33.6453 38.3544 33.3024 38.1798 33L29.7098 18.86C29.5315 18.5661 29.2805 18.3231 28.981 18.1544C28.6814 17.9858 28.3435 17.8972 27.9998 17.8972C27.656 17.8972 27.3181 17.9858 27.0186 18.1544C26.7191 18.3231 26.468 18.5661 26.2898 18.86Z\"\r\n stroke=\"#DC6803\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</span>\r\n\r\n<span class=\"mb-3 title\">\r\n {{name}} Assigned as Your CSM\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n {{name}} has been assigned as your Customer Success Manager (CSM). For inquiries about data management, store\r\n operations, or user management, please contact {{name}}.\r\n</span>\r\n\r\n<span class=\"mb-5 sub-title\">\r\n Contact Information:\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n <ul>\r\n <li>\r\n Phone: {{mobile}}\r\n </li>\r\n <li>\r\n Email: {{email}}\r\n </li>\r\n </ul>\r\n</span>\r\n\r\n<span class=\"mb-10 description\">\r\n Please approve {{name}}'s access to your data dashboard.\r\n</span>\r\n\r\n<div class=\"d-flex align-items-center justify-content-center\" >\r\n <button (click)=\"onSubmit('decline')\" class=\"btn btn-outline btn-cust me-5\">Decline</button>\r\n\r\n <button (click)=\"onSubmit('approve')\" class=\"btn btn-primary btn-cust\">Approve</button>\r\n\r\n</div>", styles: [":host{padding:24px}.title{color:#101828;font-size:18px;font-weight:600;line-height:28px}.sub-title{color:#667085;font-size:14px;font-weight:600;line-height:20px}.description{color:#667085;font-size:14px;font-weight:400;line-height:20px}.btn-cust{width:25%}\n"] });
|
|
1934
1939
|
}
|
|
1935
1940
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CsmAssignConfirmationComponent, decorators: [{
|
|
1936
1941
|
type: Component,
|
|
1937
1942
|
args: [{ selector: 'lib-csm-assign-confirmation', template: "<span class=\"mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEF0C7\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FFFAEB\" stroke-width=\"8\" />\r\n <path\r\n d=\"M27.9998 24V28M27.9998 32H28.0098M26.2898 18.86L17.8198 33C17.6451 33.3024 17.5527 33.6453 17.5518 33.9945C17.5508 34.3437 17.6413 34.6871 17.8142 34.9905C17.9871 35.2939 18.2365 35.5467 18.5375 35.7238C18.8385 35.9009 19.1806 35.9961 19.5298 36H36.4698C36.819 35.9961 37.1611 35.9009 37.4621 35.7238C37.7631 35.5467 38.0124 35.2939 38.1854 34.9905C38.3583 34.6871 38.4488 34.3437 38.4478 33.9945C38.4468 33.6453 38.3544 33.3024 38.1798 33L29.7098 18.86C29.5315 18.5661 29.2805 18.3231 28.981 18.1544C28.6814 17.9858 28.3435 17.8972 27.9998 17.8972C27.656 17.8972 27.3181 17.9858 27.0186 18.1544C26.7191 18.3231 26.468 18.5661 26.2898 18.86Z\"\r\n stroke=\"#DC6803\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</span>\r\n\r\n<span class=\"mb-3 title\">\r\n {{name}} Assigned as Your CSM\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n {{name}} has been assigned as your Customer Success Manager (CSM). For inquiries about data management, store\r\n operations, or user management, please contact {{name}}.\r\n</span>\r\n\r\n<span class=\"mb-5 sub-title\">\r\n Contact Information:\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n <ul>\r\n <li>\r\n Phone: {{mobile}}\r\n </li>\r\n <li>\r\n Email: {{email}}\r\n </li>\r\n </ul>\r\n</span>\r\n\r\n<span class=\"mb-10 description\">\r\n Please approve {{name}}'s access to your data dashboard.\r\n</span>\r\n\r\n<div class=\"d-flex align-items-center justify-content-center\" >\r\n <button (click)=\"onSubmit('decline')\" class=\"btn btn-outline btn-cust me-5\">Decline</button>\r\n\r\n <button (click)=\"onSubmit('approve')\" class=\"btn btn-primary btn-cust\">Approve</button>\r\n\r\n</div>", styles: [":host{padding:24px}.title{color:#101828;font-size:18px;font-weight:600;line-height:28px}.sub-title{color:#667085;font-size:14px;font-weight:600;line-height:20px}.description{color:#667085;font-size:14px;font-weight:400;line-height:20px}.btn-cust{width:25%}\n"] }]
|
|
1938
|
-
}], ctorParameters: () => [{ type: i2
|
|
1943
|
+
}], ctorParameters: () => [{ type: i2.NgbActiveModal }], propDecorators: { clientId: [{
|
|
1939
1944
|
type: Input
|
|
1940
1945
|
}], email: [{
|
|
1941
1946
|
type: Input
|
|
@@ -2029,13 +2034,13 @@ class ContentComponent {
|
|
|
2029
2034
|
}
|
|
2030
2035
|
});
|
|
2031
2036
|
}
|
|
2032
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentComponent, deps: [{ token: i1.Router }, { token: i2
|
|
2033
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ContentComponent, selector: "lib-content", inputs: { contentContainerCSSClass: "contentContainerCSSClass", appContentContiner: "appContentContiner", appContentContainerClass: "appContentContainerClass" }, ngImport: i0, template: "<ng-container *ngIf=\"appContentContiner\">\r\n <!--begin::Content container-->\r\n <div id=\"kt_app_content_container\" class=\"app-container\"\r\n [ngClass]=\"appContentContainerClass + ' ' + contentContainerCSSClass\"\r\n [ngClass]=\"{'container-xxl': appContentContiner === 'fixed', 'container-fluid': appContentContiner === 'fluid'}\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <!--end::Content container-->\r\n</ng-container>\r\n<ng-container *ngIf=\"!appContentContiner\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type:
|
|
2037
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentComponent, deps: [{ token: i1.Router }, { token: i2.NgbModal }, { token: AuthService }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2038
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ContentComponent, selector: "lib-content", inputs: { contentContainerCSSClass: "contentContainerCSSClass", appContentContiner: "appContentContiner", appContentContainerClass: "appContentContainerClass" }, ngImport: i0, template: "<ng-container *ngIf=\"appContentContiner\">\r\n <!--begin::Content container-->\r\n <div id=\"kt_app_content_container\" class=\"app-container\"\r\n [ngClass]=\"appContentContainerClass + ' ' + contentContainerCSSClass\"\r\n [ngClass]=\"{'container-xxl': appContentContiner === 'fixed', 'container-fluid': appContentContiner === 'fluid'}\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <!--end::Content container-->\r\n</ng-container>\r\n<ng-container *ngIf=\"!appContentContiner\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
|
2034
2039
|
}
|
|
2035
2040
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContentComponent, decorators: [{
|
|
2036
2041
|
type: Component,
|
|
2037
2042
|
args: [{ selector: 'lib-content', template: "<ng-container *ngIf=\"appContentContiner\">\r\n <!--begin::Content container-->\r\n <div id=\"kt_app_content_container\" class=\"app-container\"\r\n [ngClass]=\"appContentContainerClass + ' ' + contentContainerCSSClass\"\r\n [ngClass]=\"{'container-xxl': appContentContiner === 'fixed', 'container-fluid': appContentContiner === 'fluid'}\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <!--end::Content container-->\r\n</ng-container>\r\n<ng-container *ngIf=\"!appContentContiner\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n" }]
|
|
2038
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i2
|
|
2043
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.NgbModal }, { type: AuthService }, { type: ToastService }], propDecorators: { contentContainerCSSClass: [{
|
|
2039
2044
|
type: Input
|
|
2040
2045
|
}], appContentContiner: [{
|
|
2041
2046
|
type: Input
|
|
@@ -2048,7 +2053,7 @@ class FooterComponent {
|
|
|
2048
2053
|
currentDateStr = new Date().getFullYear().toString();
|
|
2049
2054
|
constructor() { }
|
|
2050
2055
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2051
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FooterComponent, selector: "lib-footer", inputs: { appFooterContainerCSSClass: "appFooterContainerCSSClass" }, ngImport: i0, template: "<ng-container *ngIf=\"appFooterContainerCSSClass\">\r\n <!--begin::Footer container-->\r\n <div class=\"app-container header-style mt-5\" [ngClass]=\"appFooterContainerCSSClass\">\r\n <ng-container *ngTemplateOutlet=\"footerView\"></ng-container>\r\n </div>\r\n <!--end::Footer container-->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!appFooterContainerCSSClass\">\r\n <ng-container *ngTemplateOutlet=\"footerView\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #footerView>\r\n <!--begin::Copyright-->\r\n <div class=\"text-gray-900 order-2 order-md-1\">\r\n <span class=\"text-muted fw-semibold me-1\">{{currentDateStr}}©</span>\r\n <a target=\"_blank\" href=\"https://tangoeye.ai\" class=\"footer text-gray-800 text-hover-primary\">Tango IT Solutions India Pvt Ltd</a>\r\n </div>\r\n <!--end::Copyright-->\r\n\r\n <!--begin::Menu-->\r\n <ul class=\"menu menu-gray-600 menu-hover-primary fw-semibold order-1 me-7\">\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#aboutus\" class=\"menu-link px-5\">About us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#contact\" class=\"menu-link px-5\">Contact Us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/privacy-policy-2/\" class=\"menu-link px-5\">Privacy & policy</a></li>\r\n</ul>\r\n <!--end::Menu-->\r\n\r\n</ng-template>\r\n", styles: [".header-style{background-color:#fff}.header-border{border-bottom:1px solid #EAECF0}\n"], dependencies: [{ kind: "directive", type:
|
|
2056
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FooterComponent, selector: "lib-footer", inputs: { appFooterContainerCSSClass: "appFooterContainerCSSClass" }, ngImport: i0, template: "<ng-container *ngIf=\"appFooterContainerCSSClass\">\r\n <!--begin::Footer container-->\r\n <div class=\"app-container header-style mt-5\" [ngClass]=\"appFooterContainerCSSClass\">\r\n <ng-container *ngTemplateOutlet=\"footerView\"></ng-container>\r\n </div>\r\n <!--end::Footer container-->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!appFooterContainerCSSClass\">\r\n <ng-container *ngTemplateOutlet=\"footerView\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #footerView>\r\n <!--begin::Copyright-->\r\n <div class=\"text-gray-900 order-2 order-md-1\">\r\n <span class=\"text-muted fw-semibold me-1\">{{currentDateStr}}©</span>\r\n <a target=\"_blank\" href=\"https://tangoeye.ai\" class=\"footer text-gray-800 text-hover-primary\">Tango IT Solutions India Pvt Ltd</a>\r\n </div>\r\n <!--end::Copyright-->\r\n\r\n <!--begin::Menu-->\r\n <ul class=\"menu menu-gray-600 menu-hover-primary fw-semibold order-1 me-7\">\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#aboutus\" class=\"menu-link px-5\">About us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/#contact\" class=\"menu-link px-5\">Contact Us</a></li>\r\n <li class=\"menu-item footer\"><a target=\"_blank\" href=\"https://tangoeye.ai/privacy-policy-2/\" class=\"menu-link px-5\">Privacy & policy</a></li>\r\n</ul>\r\n <!--end::Menu-->\r\n\r\n</ng-template>\r\n", styles: [".header-style{background-color:#fff}.header-border{border-bottom:1px solid #EAECF0}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
2052
2057
|
}
|
|
2053
2058
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FooterComponent, decorators: [{
|
|
2054
2059
|
type: Component,
|
|
@@ -2126,6 +2131,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2126
2131
|
class PageTitleComponent {
|
|
2127
2132
|
pageInfo;
|
|
2128
2133
|
cd;
|
|
2134
|
+
router;
|
|
2129
2135
|
unsubscribe = [];
|
|
2130
2136
|
appPageTitleDirection = '';
|
|
2131
2137
|
appPageTitleBreadcrumb;
|
|
@@ -2133,9 +2139,10 @@ class PageTitleComponent {
|
|
|
2133
2139
|
title$;
|
|
2134
2140
|
description$;
|
|
2135
2141
|
bc$;
|
|
2136
|
-
constructor(pageInfo, cd) {
|
|
2142
|
+
constructor(pageInfo, cd, router) {
|
|
2137
2143
|
this.pageInfo = pageInfo;
|
|
2138
2144
|
this.cd = cd;
|
|
2145
|
+
this.router = router;
|
|
2139
2146
|
}
|
|
2140
2147
|
ngOnInit() {
|
|
2141
2148
|
this.title$ = this.pageInfo.title.asObservable();
|
|
@@ -2154,13 +2161,16 @@ class PageTitleComponent {
|
|
|
2154
2161
|
ngOnDestroy() {
|
|
2155
2162
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
2156
2163
|
}
|
|
2157
|
-
|
|
2158
|
-
|
|
2164
|
+
redirectFunction(path) {
|
|
2165
|
+
this.router.navigateByUrl(path);
|
|
2166
|
+
}
|
|
2167
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1$1.PageInfoService }, { token: i0.ChangeDetectorRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
2168
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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 cursor-pointer\" (click)=\"redirectFunction(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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
2159
2169
|
}
|
|
2160
2170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, decorators: [{
|
|
2161
2171
|
type: Component,
|
|
2162
|
-
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\"
|
|
2163
|
-
}], ctorParameters: () => [{ type: i1$1.PageInfoService }, { type: i0.ChangeDetectorRef }], propDecorators: { appPageTitleDirection: [{
|
|
2172
|
+
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 cursor-pointer\" (click)=\"redirectFunction(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"] }]
|
|
2173
|
+
}], ctorParameters: () => [{ type: i1$1.PageInfoService }, { type: i0.ChangeDetectorRef }, { type: i1.Router }], propDecorators: { appPageTitleDirection: [{
|
|
2164
2174
|
type: Input
|
|
2165
2175
|
}], appPageTitleBreadcrumb: [{
|
|
2166
2176
|
type: Input
|
|
@@ -2478,7 +2488,7 @@ class ClassicComponent {
|
|
|
2478
2488
|
// this.selectedFilters.date = this.selectedDateRange;
|
|
2479
2489
|
}
|
|
2480
2490
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClassicComponent, deps: [{ token: i1$1.LayoutService }, { token: i1$1.GlobalStateService }, { token: AuthService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2481
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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 mb-3\" *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\" style=\"min-width: 260px !important;\" 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\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\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;min-height:auto;max-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 .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}: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}.btn-primary{line-height:18px!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: i3$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: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.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"] }] });
|
|
2491
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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 mb-3\" *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\" style=\"min-width: 260px !important;\" 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\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\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;min-height:auto;max-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 .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}: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}.btn-primary{line-height:18px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$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: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.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"] }] });
|
|
2482
2492
|
}
|
|
2483
2493
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClassicComponent, decorators: [{
|
|
2484
2494
|
type: Component,
|
|
@@ -2612,7 +2622,7 @@ class CustomSelectComponent {
|
|
|
2612
2622
|
return this.filteredValues.every((item) => item.isSelected);
|
|
2613
2623
|
}
|
|
2614
2624
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2615
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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 && filteredValues?.length\">\r\n <label class=\"form-check\" for=\"selectAll\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <span class=\"form-check-label\" >\r\n Select All\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues\" [ngClass]=\"item.isSelected && !multi ? 'selected' : ''\" >\r\n <label [for]=\"item[idField] + instanceId\" [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]=\"item[idField] + instanceId\">\r\n <span class=\"form-check-label\" >\r\n {{item[searchField]}}\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngIf=\"!filteredValues?.length\" >\r\n <span class=\"d-flex align-items-center justify-content-center\" >No data found</span>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>", styles: [":host{width:100%;height:100%}.outer-container{position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:42.5px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%;z-index:1}.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:auto;overflow-y:auto;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 .selected{background:#f9fafb}.outer-container .input-container ul li{list-style:none;padding:10px 16px;cursor:pointer}.outer-container .input-container ul li label{cursor:pointer}.outer-container .input-container ul li:hover{background:#f9fafb}.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:
|
|
2625
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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 && filteredValues?.length\">\r\n <label class=\"form-check\" for=\"selectAll\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <span class=\"form-check-label\" >\r\n Select All\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues\" [ngClass]=\"item.isSelected && !multi ? 'selected' : ''\" >\r\n <label [for]=\"item[idField] + instanceId\" [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]=\"item[idField] + instanceId\">\r\n <span class=\"form-check-label\" >\r\n {{item[searchField]}}\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngIf=\"!filteredValues?.length\" >\r\n <span class=\"d-flex align-items-center justify-content-center\" >No data found</span>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>", styles: [":host{width:100%;height:100%}.outer-container{position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:42.5px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%;z-index:1}.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:auto;overflow-y:auto;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 .selected{background:#f9fafb}.outer-container .input-container ul li{list-style:none;padding:10px 16px;cursor:pointer}.outer-container .input-container ul li label{cursor:pointer}.outer-container .input-container ul li:hover{background:#f9fafb}.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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$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: i3$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2616
2626
|
}
|
|
2617
2627
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomSelectComponent, decorators: [{
|
|
2618
2628
|
type: Component,
|
|
@@ -2703,8 +2713,9 @@ class ClientSettingsComponent {
|
|
|
2703
2713
|
this.selectedFilters = headerFilters;
|
|
2704
2714
|
this.selectedFilters.client = this.selectedClient.clientId;
|
|
2705
2715
|
this.selectedFilters.clientName = this.selectedClient.clientName;
|
|
2706
|
-
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2716
|
+
// this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2707
2717
|
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
2718
|
+
window.location.reload();
|
|
2708
2719
|
this.cd.detectChanges();
|
|
2709
2720
|
}
|
|
2710
2721
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClientSettingsComponent, deps: [{ token: AuthService }, { token: i1$1.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -2768,13 +2779,18 @@ class DatepickerComponent {
|
|
|
2768
2779
|
this.selectedFilters.client = this.users.clientId;
|
|
2769
2780
|
this.selectedFilters.clients = [this.users.clientId];
|
|
2770
2781
|
this.selectedDateRange = {
|
|
2771
|
-
startDate: this.dayjs().format("DD-MM-YYYY"),
|
|
2772
|
-
endDate: this.dayjs().format("DD-MM-YYYY"),
|
|
2782
|
+
startDate: this.dayjs().subtract(1, "days").format("DD-MM-YYYY"),
|
|
2783
|
+
endDate: this.dayjs().subtract(1, "days").format("DD-MM-YYYY"), // Yesterday
|
|
2773
2784
|
};
|
|
2785
|
+
// Set datetime to yesterday's date as well
|
|
2774
2786
|
var datetime = {
|
|
2775
|
-
startDate: this.dayjs().format("YYYY-MM-DD"),
|
|
2776
|
-
endDate: this.dayjs().format("YYYY-MM-DD"),
|
|
2787
|
+
startDate: this.dayjs().subtract(1, "days").format("YYYY-MM-DD"),
|
|
2788
|
+
endDate: this.dayjs().subtract(1, "days").format("YYYY-MM-DD"), // Yesterday
|
|
2777
2789
|
};
|
|
2790
|
+
// var datetime = {
|
|
2791
|
+
// startDate: this.dayjs().subtract(1, 'days').format("YYYY-MM-DD"), // Yesterday
|
|
2792
|
+
// endDate: this.dayjs().subtract(1, 'days').format("YYYY-MM-DD"), // Yesterday
|
|
2793
|
+
// };
|
|
2778
2794
|
this.selectedFilters.date = datetime;
|
|
2779
2795
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2780
2796
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
@@ -2786,7 +2802,7 @@ class DatepickerComponent {
|
|
|
2786
2802
|
this.dayjs().subtract(1, "days"),
|
|
2787
2803
|
this.dayjs().subtract(1, "days"),
|
|
2788
2804
|
],
|
|
2789
|
-
"This Week": [this.dayjs().subtract(
|
|
2805
|
+
"This Week": [this.dayjs().subtract(7, "days"), this.dayjs().subtract(1, "days")],
|
|
2790
2806
|
"Last Week": [
|
|
2791
2807
|
this.dayjs().subtract(14, "days").startOf("days"),
|
|
2792
2808
|
this.dayjs().subtract(8, "days").endOf("days"),
|
|
@@ -2915,12 +2931,13 @@ class DateSingleSelectComponent {
|
|
|
2915
2931
|
this.selectedFilters.client = this.selectedClient.clientId;
|
|
2916
2932
|
this.selectedFilters.clientName = this.selectedClient.clientName;
|
|
2917
2933
|
this.selectedDateRange = {
|
|
2918
|
-
startDate: this.dayjs().format("DD-MM-YYYY"),
|
|
2919
|
-
endDate: this.dayjs().format("DD-MM-YYYY"),
|
|
2934
|
+
startDate: this.dayjs().subtract(1, "days").format("DD-MM-YYYY"),
|
|
2935
|
+
endDate: this.dayjs().subtract(1, "days").format("DD-MM-YYYY"), // Yesterday
|
|
2920
2936
|
};
|
|
2937
|
+
// Set datetime to yesterday's date as well
|
|
2921
2938
|
var datetime = {
|
|
2922
|
-
startDate: this.dayjs().format("YYYY-MM-DD"),
|
|
2923
|
-
endDate: this.dayjs().format("YYYY-MM-DD"),
|
|
2939
|
+
startDate: this.dayjs().subtract(1, "days").format("YYYY-MM-DD"),
|
|
2940
|
+
endDate: this.dayjs().subtract(1, "days").format("YYYY-MM-DD"), // Yesterday
|
|
2924
2941
|
};
|
|
2925
2942
|
this.selectedFilters.date = datetime;
|
|
2926
2943
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
@@ -2936,12 +2953,15 @@ class DateSingleSelectComponent {
|
|
|
2936
2953
|
this.selectedClient = event;
|
|
2937
2954
|
}
|
|
2938
2955
|
ranges = {
|
|
2939
|
-
Today: [
|
|
2956
|
+
Today: [
|
|
2957
|
+
this.dayjs(),
|
|
2958
|
+
this.dayjs(),
|
|
2959
|
+
],
|
|
2940
2960
|
Yesterday: [
|
|
2941
2961
|
this.dayjs().subtract(1, "days"),
|
|
2942
2962
|
this.dayjs().subtract(1, "days"),
|
|
2943
2963
|
],
|
|
2944
|
-
"This Week": [this.dayjs().subtract(
|
|
2964
|
+
"This Week": [this.dayjs().subtract(7, "days"), this.dayjs().subtract(1, "days")],
|
|
2945
2965
|
"Last Week": [
|
|
2946
2966
|
this.dayjs().subtract(14, "days").startOf("days"),
|
|
2947
2967
|
this.dayjs().subtract(8, "days").endOf("days"),
|
|
@@ -2981,7 +3001,7 @@ class DateSingleSelectComponent {
|
|
|
2981
3001
|
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2982
3002
|
this.selectedDateRange.startDate = this.dayjs(headerFilters?.date?.startDate, "YYYY-MM-DD").format("DD-MM-YYYY");
|
|
2983
3003
|
this.selectedDateRange.endDate = this.dayjs(headerFilters?.date?.endDate, "YYYY-MM-DD").format("DD-MM-YYYY");
|
|
2984
|
-
this.gs
|
|
3004
|
+
this.gs?.dataRangeValue?.next(headerFilters);
|
|
2985
3005
|
}
|
|
2986
3006
|
}
|
|
2987
3007
|
Apply() {
|
|
@@ -2995,8 +3015,9 @@ class DateSingleSelectComponent {
|
|
|
2995
3015
|
else {
|
|
2996
3016
|
this.selectedFilters.clients = [this.selectedClient.clientId];
|
|
2997
3017
|
}
|
|
2998
|
-
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2999
3018
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
3019
|
+
window.location.reload();
|
|
3020
|
+
// this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3000
3021
|
this.gs.manageRefreshTrigger.next(true);
|
|
3001
3022
|
}
|
|
3002
3023
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateSingleSelectComponent, deps: [{ token: AuthService }, { token: i1$1.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -3088,9 +3109,12 @@ class SingleStoreComponent {
|
|
|
3088
3109
|
this.selectedClient = event;
|
|
3089
3110
|
}
|
|
3090
3111
|
ranges = {
|
|
3091
|
-
|
|
3112
|
+
Today: [
|
|
3113
|
+
this.dayjs(),
|
|
3114
|
+
this.dayjs(),
|
|
3115
|
+
],
|
|
3092
3116
|
'Yesterday': [this.dayjs().subtract(1, 'days'), this.dayjs().subtract(1, 'days')],
|
|
3093
|
-
'This Week': [this.dayjs().subtract(
|
|
3117
|
+
'This Week': [this.dayjs().subtract(7, "days"), this.dayjs().subtract(1, "days")],
|
|
3094
3118
|
'Last Week': [this.dayjs().subtract(14, 'days').startOf('days'), this.dayjs().subtract(8, 'days').endOf('days')],
|
|
3095
3119
|
"This Month": [
|
|
3096
3120
|
this.dayjs().subtract(30, "days"),
|
|
@@ -3138,15 +3162,16 @@ class SingleStoreComponent {
|
|
|
3138
3162
|
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
3139
3163
|
}
|
|
3140
3164
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SingleStoreComponent, deps: [{ token: AuthService }, { token: i1$1.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3141
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SingleStoreComponent, selector: "lib-single-store", ngImport: i0, template: "<div class=\"wrapper mx-2\" >\r\n <lib-select [items]=\"storeList\" [multi]=\"false\" [searchField]=\"'storeName'\" [disabled]=\"false\" [idField]=\"'storeId'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n\r\n \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\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\" [autoApply]=\"true\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\"
|
|
3165
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SingleStoreComponent, selector: "lib-single-store", ngImport: i0, template: "<div class=\"wrapper mx-2\" >\r\n <lib-select [items]=\"storeList\" [multi]=\"false\" [searchField]=\"'storeName'\" [disabled]=\"false\" [idField]=\"'storeId'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n\r\n \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\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\" [autoApply]=\"true\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\r\n</div>\r\n\r\n<div class=\"btn btn-primary ms-2\" (click)=\"Apply()\">Apply</div>\r\n", styles: [".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:365px!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 .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}: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}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}\n"], dependencies: [{ kind: "component", type: CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "directive", type: i3$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: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.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"] }] });
|
|
3142
3166
|
}
|
|
3143
3167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SingleStoreComponent, decorators: [{
|
|
3144
3168
|
type: Component,
|
|
3145
|
-
args: [{ selector: 'lib-single-store', template: "<div class=\"wrapper mx-2\" >\r\n <lib-select [items]=\"storeList\" [multi]=\"false\" [searchField]=\"'storeName'\" [disabled]=\"false\" [idField]=\"'storeId'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n\r\n \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\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\" [autoApply]=\"true\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\"
|
|
3169
|
+
args: [{ selector: 'lib-single-store', template: "<div class=\"wrapper mx-2\" >\r\n <lib-select [items]=\"storeList\" [multi]=\"false\" [searchField]=\"'storeName'\" [disabled]=\"false\" [idField]=\"'storeId'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n\r\n \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\" style=\"min-width: 260px !important;\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\" [autoApply]=\"true\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\r\n</div>\r\n\r\n<div class=\"btn btn-primary ms-2\" (click)=\"Apply()\">Apply</div>\r\n", styles: [".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:365px!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 .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}: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}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}\n"] }]
|
|
3146
3170
|
}], ctorParameters: () => [{ type: AuthService }, { type: i1$1.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
|
|
3147
3171
|
|
|
3148
3172
|
class TrafficHeaderComponent {
|
|
3149
3173
|
auth;
|
|
3174
|
+
router;
|
|
3150
3175
|
gs;
|
|
3151
3176
|
cd;
|
|
3152
3177
|
dayjs = dayjs;
|
|
@@ -3182,8 +3207,10 @@ class TrafficHeaderComponent {
|
|
|
3182
3207
|
locationLabel = [];
|
|
3183
3208
|
groupLabel = [];
|
|
3184
3209
|
users;
|
|
3185
|
-
|
|
3210
|
+
url;
|
|
3211
|
+
constructor(auth, router, gs, cd) {
|
|
3186
3212
|
this.auth = auth;
|
|
3213
|
+
this.router = router;
|
|
3187
3214
|
this.gs = gs;
|
|
3188
3215
|
this.cd = cd;
|
|
3189
3216
|
}
|
|
@@ -3197,13 +3224,26 @@ class TrafficHeaderComponent {
|
|
|
3197
3224
|
this.Opendropdown = false;
|
|
3198
3225
|
}
|
|
3199
3226
|
ngOnInit() {
|
|
3227
|
+
this.url = this.router.url.split("?")[0].split('/');
|
|
3228
|
+
const user = JSON.parse(localStorage.getItem('user-info'));
|
|
3229
|
+
this.users = user;
|
|
3200
3230
|
this.gs?.manageRefreshTrigger?.subscribe((e) => {
|
|
3201
3231
|
if (e) {
|
|
3202
|
-
|
|
3232
|
+
if (user.userType === 'tango') {
|
|
3233
|
+
this.getClient();
|
|
3234
|
+
}
|
|
3235
|
+
else {
|
|
3236
|
+
const storedFilters = localStorage.getItem("header-filters");
|
|
3237
|
+
if (storedFilters) {
|
|
3238
|
+
const headerFilters = JSON.parse(storedFilters);
|
|
3239
|
+
this.filteredStores = headerFilters?.stores.map((store) => ({
|
|
3240
|
+
...store,
|
|
3241
|
+
checked: store.checked
|
|
3242
|
+
}));
|
|
3243
|
+
}
|
|
3244
|
+
}
|
|
3203
3245
|
}
|
|
3204
3246
|
});
|
|
3205
|
-
const user = JSON.parse(localStorage.getItem('user-info'));
|
|
3206
|
-
this.users = user;
|
|
3207
3247
|
// Fetch client data if the user is of type 'tango'
|
|
3208
3248
|
if (user.userType === 'tango') {
|
|
3209
3249
|
this.getClient();
|
|
@@ -3212,6 +3252,8 @@ class TrafficHeaderComponent {
|
|
|
3212
3252
|
this.getLocations();
|
|
3213
3253
|
this.getGroups();
|
|
3214
3254
|
this.getStore();
|
|
3255
|
+
// this.emitAndStoreFilters();
|
|
3256
|
+
// console.log("1")
|
|
3215
3257
|
}
|
|
3216
3258
|
// Load filters from localStorage if they exist
|
|
3217
3259
|
const storedFilters = localStorage.getItem("header-filters");
|
|
@@ -3219,7 +3261,7 @@ class TrafficHeaderComponent {
|
|
|
3219
3261
|
const headerFilters = JSON.parse(storedFilters);
|
|
3220
3262
|
// Initialize selectedFilters with defaults or existing values
|
|
3221
3263
|
this.selectedFilters = {
|
|
3222
|
-
client: headerFilters.client ||
|
|
3264
|
+
client: headerFilters.client || this.users.client,
|
|
3223
3265
|
clientName: headerFilters.clientName || '',
|
|
3224
3266
|
clients: headerFilters.clients || [],
|
|
3225
3267
|
store: headerFilters.store || null,
|
|
@@ -3245,12 +3287,14 @@ class TrafficHeaderComponent {
|
|
|
3245
3287
|
endDate: this.dayjs(this.selectedDateRange.endDate, "YYYY-MM-DD").format("DD-MM-YYYY"),
|
|
3246
3288
|
};
|
|
3247
3289
|
}
|
|
3290
|
+
// console.log("3")
|
|
3248
3291
|
// Emit data via service and update localStorage
|
|
3249
3292
|
this.emitAndStoreFilters();
|
|
3250
3293
|
}
|
|
3251
3294
|
else {
|
|
3252
3295
|
// Initialize empty states if no header filters are present in localStorage
|
|
3253
3296
|
this.resetFilters();
|
|
3297
|
+
// console.log("2")
|
|
3254
3298
|
}
|
|
3255
3299
|
}
|
|
3256
3300
|
syncWithLocalStorage(items) {
|
|
@@ -3264,6 +3308,7 @@ class TrafficHeaderComponent {
|
|
|
3264
3308
|
emitAndStoreFilters() {
|
|
3265
3309
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3266
3310
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
3311
|
+
// console.log("1")
|
|
3267
3312
|
}
|
|
3268
3313
|
/**
|
|
3269
3314
|
* Reset selectedFilters and all related arrays to empty states
|
|
@@ -3304,6 +3349,12 @@ class TrafficHeaderComponent {
|
|
|
3304
3349
|
this.selectedFilters.group = headerFilters.group;
|
|
3305
3350
|
this.selectedFilters.location = headerFilters.location;
|
|
3306
3351
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3352
|
+
// console.log("2")
|
|
3353
|
+
// Ensure locations and groups are loaded before fetching stores
|
|
3354
|
+
this.getLocations();
|
|
3355
|
+
this.getGroups();
|
|
3356
|
+
// Fetch stores only after locations and groups are set
|
|
3357
|
+
this.getStore();
|
|
3307
3358
|
}
|
|
3308
3359
|
else {
|
|
3309
3360
|
this.selectedClient = this.clientList[0];
|
|
@@ -3317,13 +3368,14 @@ class TrafficHeaderComponent {
|
|
|
3317
3368
|
this.selectedFilters.location = headerFilters.location;
|
|
3318
3369
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
3319
3370
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3371
|
+
// console.log("3")
|
|
3320
3372
|
this.cd.detectChanges();
|
|
3373
|
+
// Ensure locations and groups are loaded before fetching stores
|
|
3374
|
+
this.getLocations();
|
|
3375
|
+
this.getGroups();
|
|
3376
|
+
// Fetch stores only after locations and groups are set
|
|
3377
|
+
this.getStore();
|
|
3321
3378
|
}
|
|
3322
|
-
// Ensure locations and groups are loaded before fetching stores
|
|
3323
|
-
this.getLocations();
|
|
3324
|
-
this.getGroups();
|
|
3325
|
-
// Fetch stores only after locations and groups are set
|
|
3326
|
-
this.getStore();
|
|
3327
3379
|
}
|
|
3328
3380
|
else {
|
|
3329
3381
|
this.selectedClient = this.clientList[0];
|
|
@@ -3336,6 +3388,7 @@ class TrafficHeaderComponent {
|
|
|
3336
3388
|
this.getStore();
|
|
3337
3389
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
3338
3390
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3391
|
+
// console.log("4")
|
|
3339
3392
|
this.cd.detectChanges();
|
|
3340
3393
|
}
|
|
3341
3394
|
},
|
|
@@ -3350,7 +3403,7 @@ class TrafficHeaderComponent {
|
|
|
3350
3403
|
this.filteredLocations = [];
|
|
3351
3404
|
this.selectedFilters.stores = [];
|
|
3352
3405
|
this.selectedFilters.group = [];
|
|
3353
|
-
this.selectedFilters.
|
|
3406
|
+
this.selectedFilters.location = [];
|
|
3354
3407
|
// Fetch header filters from localStorage
|
|
3355
3408
|
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
3356
3409
|
// Update the selected filters with the new client
|
|
@@ -3359,15 +3412,16 @@ class TrafficHeaderComponent {
|
|
|
3359
3412
|
// Remove old store, group, and location data from the header filters
|
|
3360
3413
|
delete headerFilters.stores;
|
|
3361
3414
|
delete headerFilters.groups;
|
|
3362
|
-
delete headerFilters.
|
|
3415
|
+
delete headerFilters.location;
|
|
3363
3416
|
// Fetch new data based on the new client
|
|
3364
3417
|
this.getLocations();
|
|
3365
3418
|
this.getStore();
|
|
3366
3419
|
this.getGroups();
|
|
3367
3420
|
// Update localStorage with the new client selection and empty filter data
|
|
3368
3421
|
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
3422
|
+
window.location.reload();
|
|
3369
3423
|
// Emit data to the global service
|
|
3370
|
-
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3424
|
+
// this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3371
3425
|
// Trigger change detection to reflect UI changes
|
|
3372
3426
|
this.cd.detectChanges();
|
|
3373
3427
|
}
|
|
@@ -3377,7 +3431,7 @@ class TrafficHeaderComponent {
|
|
|
3377
3431
|
this.dayjs().subtract(1, "days"),
|
|
3378
3432
|
this.dayjs().subtract(1, "days"),
|
|
3379
3433
|
],
|
|
3380
|
-
"This Week": [this.dayjs().subtract(
|
|
3434
|
+
"This Week": [this.dayjs().subtract(7, "days"), this.dayjs().subtract(1, "days")],
|
|
3381
3435
|
"Last Week": [
|
|
3382
3436
|
this.dayjs().subtract(14, "days").startOf("days"),
|
|
3383
3437
|
this.dayjs().subtract(8, "days").endOf("days"),
|
|
@@ -3393,10 +3447,18 @@ class TrafficHeaderComponent {
|
|
|
3393
3447
|
};
|
|
3394
3448
|
onStartDateChange(event) {
|
|
3395
3449
|
if (this.dayjs(event.startDate).isValid()) {
|
|
3396
|
-
this.
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3450
|
+
if (this.url[2] === 'trax') {
|
|
3451
|
+
this.isCustomDate = (m) => {
|
|
3452
|
+
const isValidDate = m > this.dayjs() || m > this.dayjs(event.startDate.add(6, "days"));
|
|
3453
|
+
return isValidDate ? "invalid-date" : false;
|
|
3454
|
+
};
|
|
3455
|
+
}
|
|
3456
|
+
else {
|
|
3457
|
+
this.isCustomDate = (m) => {
|
|
3458
|
+
const isValidDate = m > this.dayjs() || m > this.dayjs(event.startDate.add(90, "days"));
|
|
3459
|
+
return isValidDate ? "invalid-date" : false;
|
|
3460
|
+
};
|
|
3461
|
+
}
|
|
3400
3462
|
}
|
|
3401
3463
|
}
|
|
3402
3464
|
datechange(event) {
|
|
@@ -3411,7 +3473,8 @@ class TrafficHeaderComponent {
|
|
|
3411
3473
|
};
|
|
3412
3474
|
this.selectedFilters.date = datetime;
|
|
3413
3475
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
3414
|
-
|
|
3476
|
+
window.location.reload();
|
|
3477
|
+
// this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3415
3478
|
}
|
|
3416
3479
|
}
|
|
3417
3480
|
}
|
|
@@ -3420,18 +3483,19 @@ class TrafficHeaderComponent {
|
|
|
3420
3483
|
this.Opendropdown = !this.Opendropdown;
|
|
3421
3484
|
}
|
|
3422
3485
|
getLocations() {
|
|
3423
|
-
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
3486
|
+
// const headerFilters: any = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
3424
3487
|
let obj = {
|
|
3425
|
-
clientId:
|
|
3488
|
+
clientId: this.selectedFilters.client ? this.selectedFilters.client : this.users.clientId,
|
|
3426
3489
|
city: [],
|
|
3427
3490
|
group: [],
|
|
3428
3491
|
};
|
|
3429
3492
|
this.auth.getLocation(obj).subscribe({
|
|
3430
3493
|
next: (res) => {
|
|
3494
|
+
let cityList = this.selectedFilters?.location?.filter((location) => location.checked).map((loc) => loc.city);
|
|
3431
3495
|
// Map the fetched locations with default unchecked state
|
|
3432
|
-
this.locations = res
|
|
3496
|
+
this.locations = res?.data?.locationData.map((city) => ({
|
|
3433
3497
|
city: city.city,
|
|
3434
|
-
checked: false,
|
|
3498
|
+
checked: cityList?.includes(city.city) ? true : false,
|
|
3435
3499
|
}));
|
|
3436
3500
|
// Sync the fetched locations with any stored checked values in localStorage
|
|
3437
3501
|
if (this.selectedFilters.location && Array.isArray(this.selectedFilters.location)) {
|
|
@@ -3443,6 +3507,9 @@ class TrafficHeaderComponent {
|
|
|
3443
3507
|
else {
|
|
3444
3508
|
this.filteredLocations = this.locations;
|
|
3445
3509
|
}
|
|
3510
|
+
if (this.searchLocationText) {
|
|
3511
|
+
this.filteredLocations = this.locations.filter((location) => location.city.toLowerCase().includes(this.searchLocationText.toLowerCase()));
|
|
3512
|
+
}
|
|
3446
3513
|
},
|
|
3447
3514
|
error: (err) => {
|
|
3448
3515
|
console.error("Failed to fetch locations", err);
|
|
@@ -3453,9 +3520,9 @@ class TrafficHeaderComponent {
|
|
|
3453
3520
|
return this.filteredLocations.every(location => location.checked);
|
|
3454
3521
|
}
|
|
3455
3522
|
selectedLocationsLabel() {
|
|
3456
|
-
const selectedLocations = this.locationLabel = this.
|
|
3457
|
-
.filter(location => location.checked)
|
|
3458
|
-
.map(location => location.city);
|
|
3523
|
+
const selectedLocations = this.locationLabel = this.searchLocationText.length ? this.locations
|
|
3524
|
+
.filter(location => location.checked).map(location => location.city) : this.filteredLocations
|
|
3525
|
+
.filter(location => location.checked).map(location => location.city);
|
|
3459
3526
|
return selectedLocations.length === 0
|
|
3460
3527
|
? ''
|
|
3461
3528
|
: selectedLocations.length === 1
|
|
@@ -3469,17 +3536,22 @@ class TrafficHeaderComponent {
|
|
|
3469
3536
|
const obj = { city: [], clientId: this.selectedFilters.client ? this.selectedFilters.client : this.users.clientId, group: [] };
|
|
3470
3537
|
this.auth.getGroups(obj).subscribe({
|
|
3471
3538
|
next: (res) => {
|
|
3472
|
-
let checkedGroup = this.
|
|
3473
|
-
const combinedGroups = res
|
|
3539
|
+
let checkedGroup = this.selectedFilters?.group?.filter((group) => group.checked).map((group) => group.groupName);
|
|
3540
|
+
const combinedGroups = res?.data?.groupData?.map((groupName) => ({
|
|
3474
3541
|
groupName: groupName.groupName,
|
|
3475
|
-
checked: checkedGroup
|
|
3542
|
+
checked: checkedGroup?.includes(groupName.groupName) ? true : false,
|
|
3476
3543
|
}));
|
|
3477
3544
|
this.groupsData = combinedGroups;
|
|
3478
|
-
this.
|
|
3545
|
+
if (this.searchGroupText.length) {
|
|
3546
|
+
this.filteredGroups = combinedGroups.filter((item) => item.groupName.toLowerCase().includes(this.searchGroupText));
|
|
3547
|
+
}
|
|
3548
|
+
else {
|
|
3549
|
+
this.filteredGroups = combinedGroups;
|
|
3550
|
+
}
|
|
3479
3551
|
// Auto-fetch stores when groups are selected
|
|
3480
|
-
const selectedGroups = this.
|
|
3552
|
+
const selectedGroups = this.groupsData.filter((group) => group.checked).map((group) => group.groupName);
|
|
3481
3553
|
if (selectedGroups.length > 0) {
|
|
3482
|
-
this.
|
|
3554
|
+
this.getStore1(); // Fetch stores based on selected groups
|
|
3483
3555
|
}
|
|
3484
3556
|
},
|
|
3485
3557
|
error: (err) => {
|
|
@@ -3497,12 +3569,16 @@ class TrafficHeaderComponent {
|
|
|
3497
3569
|
this.dropdownOpen = type;
|
|
3498
3570
|
if (type === 'group') {
|
|
3499
3571
|
// Fetch groups only if there are selected cities and no active search text
|
|
3500
|
-
const selectedCities = this.
|
|
3572
|
+
const selectedCities = this.locations
|
|
3501
3573
|
.filter((location) => location.checked)
|
|
3502
3574
|
.map((location) => location.city);
|
|
3503
|
-
if
|
|
3575
|
+
// Fetch groups only if locations are selected, no search text exists, and dropdown is opened
|
|
3576
|
+
if (this.filteredLocations.length > 0 || (selectedCities.length > 0 && !this.searchGroupText.trim())) {
|
|
3504
3577
|
this.getGroups();
|
|
3505
3578
|
}
|
|
3579
|
+
else {
|
|
3580
|
+
this.filteredGroups = []; // Clear groups if no locations are selected
|
|
3581
|
+
}
|
|
3506
3582
|
}
|
|
3507
3583
|
if (type === 'store') {
|
|
3508
3584
|
// Fetch stores only if not already fetched and no search text is active
|
|
@@ -3523,7 +3599,7 @@ class TrafficHeaderComponent {
|
|
|
3523
3599
|
this.searchGroupText = "";
|
|
3524
3600
|
}
|
|
3525
3601
|
selectedGroupsLabel() {
|
|
3526
|
-
const selectedGroups = this.groupLabel = this.filteredGroups.filter((group) => group.checked);
|
|
3602
|
+
const selectedGroups = this.groupLabel = this.searchGroupText.length ? this.groupsData.filter((group) => group.checked) : this.filteredGroups.filter((group) => group.checked);
|
|
3527
3603
|
return selectedGroups.length === 0
|
|
3528
3604
|
? ""
|
|
3529
3605
|
: selectedGroups.length === 1
|
|
@@ -3536,6 +3612,38 @@ class TrafficHeaderComponent {
|
|
|
3536
3612
|
isAllGroupsSelected() {
|
|
3537
3613
|
return this.filteredGroups.length ? this.filteredGroups.every((group) => group.checked) : false;
|
|
3538
3614
|
}
|
|
3615
|
+
getStore1() {
|
|
3616
|
+
const city = this.filteredLocations
|
|
3617
|
+
.filter(location => location.checked)
|
|
3618
|
+
.map(location => location.city);
|
|
3619
|
+
const group = this.filteredGroups
|
|
3620
|
+
.filter(group => group.checked)
|
|
3621
|
+
.map(group => group.groupName);
|
|
3622
|
+
const data = { city, group, clientId: this.users.clientId ? this.users.clientId : this.selectedFilters.client };
|
|
3623
|
+
this.auth.getHeaderStores(data).subscribe({
|
|
3624
|
+
next: (res) => {
|
|
3625
|
+
this.stores = res.data.storesData;
|
|
3626
|
+
// Get stores from response
|
|
3627
|
+
// Retrieve checked store IDs from selectedFilters
|
|
3628
|
+
const checkedStoreIds = this.selectedFilters?.stores
|
|
3629
|
+
? this.selectedFilters.stores.filter((store) => store.checked).map((store) => store.storeId)
|
|
3630
|
+
: [];
|
|
3631
|
+
this.stores.forEach(store => {
|
|
3632
|
+
if (checkedStoreIds.includes(store.storeId)) {
|
|
3633
|
+
store.checked = true; // Sync the checked state with full store list
|
|
3634
|
+
}
|
|
3635
|
+
});
|
|
3636
|
+
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
3637
|
+
// Emit data via service
|
|
3638
|
+
// this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3639
|
+
// Trigger change detection to reflect changes in the UI
|
|
3640
|
+
this.cd.detectChanges();
|
|
3641
|
+
},
|
|
3642
|
+
error: (err) => {
|
|
3643
|
+
console.error("Failed to fetch stores", err);
|
|
3644
|
+
},
|
|
3645
|
+
});
|
|
3646
|
+
}
|
|
3539
3647
|
getStore() {
|
|
3540
3648
|
const city = this.filteredLocations
|
|
3541
3649
|
.filter(location => location.checked)
|
|
@@ -3543,19 +3651,27 @@ class TrafficHeaderComponent {
|
|
|
3543
3651
|
const group = this.filteredGroups
|
|
3544
3652
|
.filter(group => group.checked)
|
|
3545
3653
|
.map(group => group.groupName);
|
|
3546
|
-
const data = { city, group, clientId: this.
|
|
3654
|
+
const data = { city, group, clientId: this.users.clientId ? this.users.clientId : this.selectedFilters.client };
|
|
3547
3655
|
this.auth.getHeaderStores(data).subscribe({
|
|
3548
3656
|
next: (res) => {
|
|
3549
|
-
this.stores = res.data.storesData;
|
|
3657
|
+
this.stores = res.data.storesData;
|
|
3658
|
+
// Get stores from response
|
|
3550
3659
|
// Retrieve checked store IDs from selectedFilters
|
|
3551
|
-
const checkedStoreIds = this.selectedFilters
|
|
3660
|
+
const checkedStoreIds = this.selectedFilters?.stores
|
|
3552
3661
|
? this.selectedFilters.stores.filter((store) => store.checked).map((store) => store.storeId)
|
|
3553
3662
|
: [];
|
|
3663
|
+
this.stores.forEach(store => {
|
|
3664
|
+
if (checkedStoreIds.includes(store.storeId)) {
|
|
3665
|
+
store.checked = true; // Sync the checked state with full store list
|
|
3666
|
+
}
|
|
3667
|
+
});
|
|
3554
3668
|
// Map the stores and retain the 'checked' status
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3669
|
+
if (this.searchStoreText.length) {
|
|
3670
|
+
this.filteredStores = this.stores?.filter(store => store.storeName.toLowerCase().includes(this.searchStoreText));
|
|
3671
|
+
}
|
|
3672
|
+
else {
|
|
3673
|
+
this.filteredStores = this.stores;
|
|
3674
|
+
}
|
|
3559
3675
|
// Ensure selectedFilters is in sync with filteredStores
|
|
3560
3676
|
if (!this.selectedFilters.stores || !this.selectedFilters.stores.length) {
|
|
3561
3677
|
// No previously selected stores, mark all as checked
|
|
@@ -3574,7 +3690,7 @@ class TrafficHeaderComponent {
|
|
|
3574
3690
|
// Update localStorage with the latest selectedFilters
|
|
3575
3691
|
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
3576
3692
|
// Emit data via service
|
|
3577
|
-
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3693
|
+
// this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3578
3694
|
// Trigger change detection to reflect changes in the UI
|
|
3579
3695
|
this.cd.detectChanges();
|
|
3580
3696
|
},
|
|
@@ -3588,7 +3704,7 @@ class TrafficHeaderComponent {
|
|
|
3588
3704
|
this.searchStoreText = "";
|
|
3589
3705
|
}
|
|
3590
3706
|
selectedStoresLabel() {
|
|
3591
|
-
const selectedStores = this.filteredStores.filter((store) => store.checked);
|
|
3707
|
+
const selectedStores = this.searchStoreText.length ? this.stores.filter((store) => store.checked) : this.filteredStores.filter((store) => store.checked);
|
|
3592
3708
|
return selectedStores.length === 0
|
|
3593
3709
|
? "0 Stores"
|
|
3594
3710
|
: selectedStores.length === 1
|
|
@@ -3600,8 +3716,14 @@ class TrafficHeaderComponent {
|
|
|
3600
3716
|
}
|
|
3601
3717
|
// Method to handle dropdown item selection
|
|
3602
3718
|
updateSelectedStores() {
|
|
3719
|
+
this.filteredStores.forEach(store => {
|
|
3720
|
+
const filteredStore = this.stores.findIndex(fStore => fStore.storeId === store.storeId);
|
|
3721
|
+
if (filteredStore != -1) {
|
|
3722
|
+
this.stores[filteredStore].checked = store.checked; // Sync the checked state with full store list
|
|
3723
|
+
}
|
|
3724
|
+
});
|
|
3603
3725
|
// Update selectedFilters based on the current store selection
|
|
3604
|
-
this.selectedFilters.stores = this.
|
|
3726
|
+
this.selectedFilters.stores = this.stores.filter(store => store.checked);
|
|
3605
3727
|
// Update localStorage with the latest selection
|
|
3606
3728
|
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
3607
3729
|
// Emit updated filters via service
|
|
@@ -3613,6 +3735,9 @@ class TrafficHeaderComponent {
|
|
|
3613
3735
|
const isChecked = event.target.checked;
|
|
3614
3736
|
this.filteredLocations.forEach((location) => (location.checked = isChecked));
|
|
3615
3737
|
this.updateSelectedLocations();
|
|
3738
|
+
if (!isChecked) {
|
|
3739
|
+
this.removeLocation();
|
|
3740
|
+
}
|
|
3616
3741
|
}
|
|
3617
3742
|
toggleSelectAllStores(event) {
|
|
3618
3743
|
const checked = event.target.checked;
|
|
@@ -3632,12 +3757,21 @@ class TrafficHeaderComponent {
|
|
|
3632
3757
|
const selectedCities = this.filteredLocations
|
|
3633
3758
|
.filter((location) => location.checked)
|
|
3634
3759
|
.map((location) => location.city);
|
|
3760
|
+
this.filteredLocations.forEach((location) => {
|
|
3761
|
+
let findLocationIndex = this.locations.findIndex((loc) => loc.city == location.city);
|
|
3762
|
+
if (findLocationIndex != -1) {
|
|
3763
|
+
this.locations[findLocationIndex].checked = location.checked;
|
|
3764
|
+
}
|
|
3765
|
+
});
|
|
3635
3766
|
if (selectedCities.length > 0) {
|
|
3636
3767
|
this.getGroups(); // Fetch groups based on selected cities
|
|
3637
3768
|
}
|
|
3638
3769
|
else {
|
|
3639
3770
|
this.filteredGroups = []; // Clear groups if no locations are selected
|
|
3771
|
+
// this.getGroups();
|
|
3640
3772
|
}
|
|
3773
|
+
this.selectedFilters.location = [];
|
|
3774
|
+
this.selectedFilters.group = [];
|
|
3641
3775
|
this.filteredStores = []; // Reset stores as well
|
|
3642
3776
|
this.searchGroupText = '';
|
|
3643
3777
|
this.searchStoreText = '';
|
|
@@ -3653,10 +3787,16 @@ class TrafficHeaderComponent {
|
|
|
3653
3787
|
const selectedGroups = this.filteredGroups
|
|
3654
3788
|
.filter((group) => group.checked)
|
|
3655
3789
|
.map((group) => group.groupName);
|
|
3790
|
+
this.filteredGroups.forEach((group) => {
|
|
3791
|
+
let findGroupIndex = this.groupsData.findIndex((item) => item.groupName == group.groupName);
|
|
3792
|
+
if (findGroupIndex != -1) {
|
|
3793
|
+
this.groupsData[findGroupIndex].checked = group.checked;
|
|
3794
|
+
}
|
|
3795
|
+
});
|
|
3656
3796
|
if (selectedGroups.length > 0) {
|
|
3657
3797
|
// If there are selected groups, fetch the stores based on selected groups
|
|
3658
3798
|
this.getStore();
|
|
3659
|
-
this.selectedFilters.group = this.
|
|
3799
|
+
this.selectedFilters.group = this.groupsData;
|
|
3660
3800
|
}
|
|
3661
3801
|
else {
|
|
3662
3802
|
// If no groups are selected, clear the stores list
|
|
@@ -3665,7 +3805,7 @@ class TrafficHeaderComponent {
|
|
|
3665
3805
|
this.selectedFilters.stores = [];
|
|
3666
3806
|
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
3667
3807
|
// Emit data via service
|
|
3668
|
-
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3808
|
+
// this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3669
3809
|
}
|
|
3670
3810
|
// Clear the search store text when groups are updated
|
|
3671
3811
|
this.searchStoreText = '';
|
|
@@ -3703,8 +3843,9 @@ class TrafficHeaderComponent {
|
|
|
3703
3843
|
// }));
|
|
3704
3844
|
// Update localStorage with the latest selectedFilters
|
|
3705
3845
|
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
3846
|
+
window.location.reload();
|
|
3706
3847
|
// Emit the reset filters to update other components if needed
|
|
3707
|
-
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3848
|
+
// this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3708
3849
|
// Trigger change detection
|
|
3709
3850
|
this.cd.detectChanges();
|
|
3710
3851
|
// Adding a slight delay to ensure stores are fetched first
|
|
@@ -3717,15 +3858,16 @@ class TrafficHeaderComponent {
|
|
|
3717
3858
|
// Fetch existing filters from localStorage
|
|
3718
3859
|
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
3719
3860
|
// Ensure current selections are reflected
|
|
3720
|
-
this.selectedFilters.location = this.
|
|
3721
|
-
this.selectedFilters.group = this.
|
|
3722
|
-
this.selectedFilters.stores = this.
|
|
3861
|
+
this.selectedFilters.location = this.locations;
|
|
3862
|
+
this.selectedFilters.group = this.groupsData;
|
|
3863
|
+
this.selectedFilters.stores = this.stores;
|
|
3723
3864
|
// Store updated filters back in localStorage
|
|
3724
3865
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
3866
|
+
window.location.reload();
|
|
3725
3867
|
// Emit the updated filters via the service
|
|
3726
|
-
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3868
|
+
// this.gs.dataRangeValue.next(this.selectedFilters);
|
|
3727
3869
|
// Trigger refresh if necessary
|
|
3728
|
-
this.gs.manageRefreshTrigger.next(true);
|
|
3870
|
+
// this.gs.manageRefreshTrigger.next(true);
|
|
3729
3871
|
this.cd.detectChanges();
|
|
3730
3872
|
}
|
|
3731
3873
|
filterLocations() {
|
|
@@ -3737,7 +3879,7 @@ class TrafficHeaderComponent {
|
|
|
3737
3879
|
...location,
|
|
3738
3880
|
checked: this.filteredLocations.find(l => l.city === location.city)?.checked || false
|
|
3739
3881
|
}))
|
|
3740
|
-
.filter(location => location
|
|
3882
|
+
.filter(location => location?.city?.toLowerCase().includes(searchText));
|
|
3741
3883
|
}
|
|
3742
3884
|
else {
|
|
3743
3885
|
// Restore the original checked state when search text is cleared
|
|
@@ -3756,7 +3898,7 @@ class TrafficHeaderComponent {
|
|
|
3756
3898
|
...group,
|
|
3757
3899
|
checked: this.filteredGroups.find(g => g.groupName === group.groupName)?.checked || false
|
|
3758
3900
|
}))
|
|
3759
|
-
.filter(group => group
|
|
3901
|
+
.filter(group => group?.groupName?.toLowerCase().includes(searchText));
|
|
3760
3902
|
}
|
|
3761
3903
|
else {
|
|
3762
3904
|
// Restore the original checked state when search text is cleared
|
|
@@ -3801,13 +3943,13 @@ class TrafficHeaderComponent {
|
|
|
3801
3943
|
this.closeDropdown1();
|
|
3802
3944
|
}
|
|
3803
3945
|
}
|
|
3804
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TrafficHeaderComponent, deps: [{ token: AuthService }, { token: i1$1.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3805
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TrafficHeaderComponent, selector: "lib-traffic-header", host: { listeners: { "document:click": "clickOutside($event)" } }, ngImport: i0, template: "<div class=\"me-3\">\r\n <label *ngIf=\"selectedLocationsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedLocationsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeLocation()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedGroupsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedGroupsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label class=\"badge badge-light-default\">{{selectedStoresLabel()}}</label>\r\n</div>\r\n\r\n\r\n<div class=\"wrapper me-3\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n<lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'clientName'\" [disabled]=\"false\" [idField]=\"'clientId'\"\r\n(selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\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\" style=\"min-width: 260px !important;\" type=\"text\" matInput\r\n ngxDaterangepickerMd [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [autoApply]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\r\n</div>\r\n<div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"opendropdown($event)\" class=\"btn btn-default mx-2 rounded-3 text-nowrap border-val\">\r\n <!-- <span class=\"me-2\">Filter</span> -->\r\n <svg 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\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"Opendropdown\" class=\"card p-5 dropdown1 position-absolute z-1 end-0\" style=\"z-index: 1 !important;\" (clickOutside)=\"closeDropdown1()\">\r\n <div class=\"dropdown-title d-flex justify-content-between mb-2\">Filter Options\r\n <button class=\"btn btn-outline w-25 ms-3 btn-resize\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 btn-resize\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n\r\n <!-- Location Dropdown -->\r\n<div class=\"dropdown-container\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedLocationsLabel()\"\r\n (focus)=\"toggleDropdown('location')\" \r\n readonly\r\n placeholder=\"Select locations...\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'location'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search locations...\" \r\n [(ngModel)]=\"searchLocationText\" \r\n (ngModelChange)=\"filterLocations()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllLocations\" \r\n [checked]=\"isAllLocationsSelected()\" \r\n (change)=\"toggleSelectAllLocations($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllLocations\">\r\n Select All Locations\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let location of filteredLocations\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"location.city\" \r\n [(ngModel)]=\"location.checked\"\r\n (change)=\"updateSelectedLocations()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"location.city\">\r\n {{ location.city }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('group')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedGroupsLabel()\" readonly\r\n placeholder=\"Select groups...\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'group'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search groups...\" \r\n [(ngModel)]=\"searchGroupText\" \r\n (ngModelChange)=\"filterGroups()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllGroups\" \r\n [checked]=\"isAllGroupsSelected()\" \r\n (change)=\"toggleSelectAllGroups($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllGroups\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let group of filteredGroups\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"group.groupName\"\r\n [(ngModel)]=\"group.checked\"\r\n (change)=\"updateSelectedGroups()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"group.groupName\">\r\n {{ group.groupName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- Store Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('store')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedStoresLabel()\"\r\n readonly\r\n placeholder=\"Select stores...\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'store'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search stores...\" \r\n [(ngModel)]=\"searchStoreText\" \r\n (ngModelChange)=\"filterStores()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllStores\" \r\n [checked]=\"isAllStoresSelected()\" \r\n (change)=\"toggleSelectAllStores($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllStores\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let store of filteredStores\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"store.storeId\"\r\n [(ngModel)]=\"store.checked\"\r\n (change)=\"updateSelectedStores()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"store.storeId\">\r\n {{ store.storeName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>", styles: [".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:365px!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 .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}: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}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}.filter-label{color:var(--Gray-500, #667085)!important;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.position-relative{position:relative}.filter-icon{cursor:pointer}.dropdown-container{position:relative;display:inline-block;width:100%}.dropdown-header{cursor:pointer;width:100%}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize;width:100%;box-sizing:border-box}.dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;max-height:230px;overflow-y:auto;display:block;box-sizing:border-box;padding:10px 5px}.dropdown-item{padding:6px 0}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.dropdown1{position:absolute;top:70px;min-width:270px!important}.dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:14px;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}::ng-deep .dropdown1{z-index:1!important}.form-check-label{color:var(--Gray-700, #344054)!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input[type=checkbox]{width:16px!important;height:16px!important;margin:0 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}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}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: "component", type: CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "directive", type: i3$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: i3$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.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"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
3946
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TrafficHeaderComponent, deps: [{ token: AuthService }, { token: i1.Router }, { token: i1$1.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3947
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TrafficHeaderComponent, selector: "lib-traffic-header", host: { listeners: { "document:click": "clickOutside($event)" } }, ngImport: i0, template: "<div class=\"me-3\">\r\n <label *ngIf=\"selectedLocationsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedLocationsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeLocation()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedGroupsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedGroupsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label class=\"badge badge-light-default\">{{selectedStoresLabel()}}</label>\r\n</div>\r\n\r\n\r\n<div class=\"wrapper me-3\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n<lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'clientName'\" [disabled]=\"false\" [idField]=\"'clientId'\"\r\n(selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\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\" style=\"min-width: 260px !important;\" type=\"text\" matInput\r\n ngxDaterangepickerMd [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [autoApply]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\r\n</div>\r\n<div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"opendropdown($event)\" class=\"btn btn-default mx-2 rounded-3 text-nowrap border-val\">\r\n <!-- <span class=\"me-2\">Filter</span> -->\r\n <svg 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\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"Opendropdown\" class=\"card p-5 dropdown1 position-absolute z-1 end-0\" style=\"z-index: 1 !important;\" (clickOutside)=\"closeDropdown1()\">\r\n <div class=\"dropdown-title d-flex justify-content-between mb-2\">Filter Options\r\n <button class=\"btn btn-outline w-25 ms-3 btn-resize\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 btn-resize\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n\r\n <!-- Location Dropdown -->\r\n<div class=\"dropdown-container\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedLocationsLabel()\"\r\n (focus)=\"toggleDropdown('location')\" \r\n readonly\r\n placeholder=\"Select locations...\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'location'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search locations...\" \r\n [(ngModel)]=\"searchLocationText\" \r\n (ngModelChange)=\"filterLocations()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllLocations\" \r\n [checked]=\"isAllLocationsSelected()\" \r\n (change)=\"toggleSelectAllLocations($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllLocations\">\r\n Select All Locations\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let location of filteredLocations\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"location.city\" \r\n [(ngModel)]=\"location.checked\"\r\n (change)=\"updateSelectedLocations()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"location.city\">\r\n {{ location.city }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('group')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedGroupsLabel()\" readonly\r\n placeholder=\"Select groups...\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'group'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search groups...\" \r\n [(ngModel)]=\"searchGroupText\" \r\n (ngModelChange)=\"filterGroups()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllGroups\" \r\n [checked]=\"isAllGroupsSelected()\" \r\n (change)=\"toggleSelectAllGroups($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllGroups\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let group of filteredGroups\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"group.groupName\"\r\n [(ngModel)]=\"group.checked\"\r\n (change)=\"updateSelectedGroups()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"group.groupName\">\r\n {{ group.groupName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- Store Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('store')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedStoresLabel()\"\r\n readonly\r\n placeholder=\"Select stores...\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'store'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search stores...\" \r\n [(ngModel)]=\"searchStoreText\" \r\n (ngModelChange)=\"filterStores()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllStores\" \r\n [checked]=\"isAllStoresSelected()\" \r\n (change)=\"toggleSelectAllStores($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllStores\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let store of filteredStores\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"store.storeId\"\r\n [(ngModel)]=\"store.checked\"\r\n (change)=\"updateSelectedStores()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"store.storeId\">\r\n {{ store.storeName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>", styles: [".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:365px!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 .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}: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}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}.filter-label{color:var(--Gray-500, #667085)!important;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.position-relative{position:relative}.filter-icon{cursor:pointer}.dropdown-container{position:relative;display:inline-block;width:100%}.dropdown-header{cursor:pointer;width:100%}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize;width:100%;box-sizing:border-box}.dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;max-height:230px;overflow-y:auto;display:block;box-sizing:border-box;padding:10px 5px}.dropdown-item{padding:6px 0}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.dropdown1{position:absolute;top:70px;min-width:270px!important}.dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:14px;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}::ng-deep .dropdown1{z-index:1!important}.form-check-label{color:var(--Gray-700, #344054)!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input[type=checkbox]{width:16px!important;height:16px!important;margin:0 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}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}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: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "directive", type: i3$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: i3$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.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"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
3806
3948
|
}
|
|
3807
3949
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TrafficHeaderComponent, decorators: [{
|
|
3808
3950
|
type: Component,
|
|
3809
3951
|
args: [{ selector: "lib-traffic-header", template: "<div class=\"me-3\">\r\n <label *ngIf=\"selectedLocationsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedLocationsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeLocation()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedGroupsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedGroupsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label class=\"badge badge-light-default\">{{selectedStoresLabel()}}</label>\r\n</div>\r\n\r\n\r\n<div class=\"wrapper me-3\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n<lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'clientName'\" [disabled]=\"false\" [idField]=\"'clientId'\"\r\n(selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\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\" style=\"min-width: 260px !important;\" type=\"text\" matInput\r\n ngxDaterangepickerMd [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [autoApply]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\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\" [readonly]=\"true\" />\r\n</div>\r\n<div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"opendropdown($event)\" class=\"btn btn-default mx-2 rounded-3 text-nowrap border-val\">\r\n <!-- <span class=\"me-2\">Filter</span> -->\r\n <svg 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\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"Opendropdown\" class=\"card p-5 dropdown1 position-absolute z-1 end-0\" style=\"z-index: 1 !important;\" (clickOutside)=\"closeDropdown1()\">\r\n <div class=\"dropdown-title d-flex justify-content-between mb-2\">Filter Options\r\n <button class=\"btn btn-outline w-25 ms-3 btn-resize\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 btn-resize\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n\r\n <!-- Location Dropdown -->\r\n<div class=\"dropdown-container\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedLocationsLabel()\"\r\n (focus)=\"toggleDropdown('location')\" \r\n readonly\r\n placeholder=\"Select locations...\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'location'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search locations...\" \r\n [(ngModel)]=\"searchLocationText\" \r\n (ngModelChange)=\"filterLocations()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllLocations\" \r\n [checked]=\"isAllLocationsSelected()\" \r\n (change)=\"toggleSelectAllLocations($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllLocations\">\r\n Select All Locations\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let location of filteredLocations\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"location.city\" \r\n [(ngModel)]=\"location.checked\"\r\n (change)=\"updateSelectedLocations()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"location.city\">\r\n {{ location.city }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('group')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedGroupsLabel()\" readonly\r\n placeholder=\"Select groups...\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'group'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search groups...\" \r\n [(ngModel)]=\"searchGroupText\" \r\n (ngModelChange)=\"filterGroups()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllGroups\" \r\n [checked]=\"isAllGroupsSelected()\" \r\n (change)=\"toggleSelectAllGroups($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllGroups\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let group of filteredGroups\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"group.groupName\"\r\n [(ngModel)]=\"group.checked\"\r\n (change)=\"updateSelectedGroups()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"group.groupName\">\r\n {{ group.groupName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- Store Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('store')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedStoresLabel()\"\r\n readonly\r\n placeholder=\"Select stores...\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'store'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search stores...\" \r\n [(ngModel)]=\"searchStoreText\" \r\n (ngModelChange)=\"filterStores()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllStores\" \r\n [checked]=\"isAllStoresSelected()\" \r\n (change)=\"toggleSelectAllStores($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllStores\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let store of filteredStores\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"store.storeId\"\r\n [(ngModel)]=\"store.checked\"\r\n (change)=\"updateSelectedStores()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"store.storeId\">\r\n {{ store.storeName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>", styles: [".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:365px!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 .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}: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}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}.filter-label{color:var(--Gray-500, #667085)!important;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.position-relative{position:relative}.filter-icon{cursor:pointer}.dropdown-container{position:relative;display:inline-block;width:100%}.dropdown-header{cursor:pointer;width:100%}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize;width:100%;box-sizing:border-box}.dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;max-height:230px;overflow-y:auto;display:block;box-sizing:border-box;padding:10px 5px}.dropdown-item{padding:6px 0}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.dropdown1{position:absolute;top:70px;min-width:270px!important}.dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:14px;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}::ng-deep .dropdown1{z-index:1!important}.form-check-label{color:var(--Gray-700, #344054)!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input[type=checkbox]{width:16px!important;height:16px!important;margin:0 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}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}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"] }]
|
|
3810
|
-
}], ctorParameters: () => [{ type: AuthService }, { type: i1$1.GlobalStateService }, { type: i0.ChangeDetectorRef }], propDecorators: { onClick: [{
|
|
3952
|
+
}], ctorParameters: () => [{ type: AuthService }, { type: i1.Router }, { type: i1$1.GlobalStateService }, { type: i0.ChangeDetectorRef }], propDecorators: { onClick: [{
|
|
3811
3953
|
type: HostListener,
|
|
3812
3954
|
args: ['document:click', ['$event']]
|
|
3813
3955
|
}], clickOutside: [{
|
|
@@ -3924,9 +4066,9 @@ class ToolbarComponent {
|
|
|
3924
4066
|
const url = URL.split("/");
|
|
3925
4067
|
if (this.users?.userType === "tango") {
|
|
3926
4068
|
if (url[2] == "settings" || URL == "/manage/users/client" ||
|
|
3927
|
-
URL == "/manage/stores" || URL === "/manage/stores?type=stores" || URL === "/manage/stores?type=
|
|
4069
|
+
URL == "/manage/stores" || URL === "/manage/stores?type=stores" || URL === "/manage/stores?type=clusters" ||
|
|
3928
4070
|
URL == "/manage/stores/addition-method" ||
|
|
3929
|
-
URL == "/manage/stores/add-single-store") {
|
|
4071
|
+
URL == "/manage/stores/add-single-store" || URL === "/manage/trax/gallery") {
|
|
3930
4072
|
this.setUIProperties(true, false, false, false, false, false);
|
|
3931
4073
|
}
|
|
3932
4074
|
else if (url[3] == "edge-app") {
|
|
@@ -3940,11 +4082,11 @@ class ToolbarComponent {
|
|
|
3940
4082
|
URL == `/manage/stores/mat?storeId=${this.storeId}`) {
|
|
3941
4083
|
this.setUIProperties(false, false, false, true, false, false);
|
|
3942
4084
|
}
|
|
3943
|
-
else if (URL == "/profile" || url[2] === "data-mismatch" || url[2] === "employeetraining"
|
|
4085
|
+
else if (URL == "/profile" || url[2] === "data-mismatch" || url[2] === "employeetraining"
|
|
3944
4086
|
|| URL == "/manage/brands" || URL == "/manage/users/tango" || (url[1] === "tickets" && url[2] === "audit")) {
|
|
3945
4087
|
this.setUIProperties(false, false, false, false, false, false);
|
|
3946
4088
|
}
|
|
3947
|
-
else if (
|
|
4089
|
+
else if (url[2] === "traffic" || url[2] === "zones" || URL == "/manage/analyse/reports" || url[2] === "trax") {
|
|
3948
4090
|
this.setUIProperties(false, false, false, false, false, true);
|
|
3949
4091
|
}
|
|
3950
4092
|
else {
|
|
@@ -3952,7 +4094,7 @@ class ToolbarComponent {
|
|
|
3952
4094
|
}
|
|
3953
4095
|
}
|
|
3954
4096
|
else {
|
|
3955
|
-
if (url[3] == "edge-app") {
|
|
4097
|
+
if (url[3] == "edge-app" || URL == "/notifications/alerts") {
|
|
3956
4098
|
this.setUIProperties(false, false, true, false, false, false);
|
|
3957
4099
|
}
|
|
3958
4100
|
else if (URL == `/manage/stores/infra-ticket?storeId=${this.storeId}` || URL == `/manage/stores/infra-ticket?storeId=${this.storeId}&type=infra` ||
|
|
@@ -3967,10 +4109,10 @@ class ToolbarComponent {
|
|
|
3967
4109
|
URL == "/manage/stores" || URL === "/manage/stores?type=stores" || URL === "/manage/stores?type=groups" || url[2] == "settings" ||
|
|
3968
4110
|
URL == "/manage/stores/addition-method" ||
|
|
3969
4111
|
URL == "/manage/stores/add-single-store" || url[2] === "data-mismatch" || url[2] === "employeetraining"
|
|
3970
|
-
|| URL == "/
|
|
4112
|
+
|| URL == "/manage/users/tango") {
|
|
3971
4113
|
this.setUIProperties(false, false, false, false, false, false);
|
|
3972
4114
|
}
|
|
3973
|
-
else if (URL == "/manage/
|
|
4115
|
+
else if (url[2] === "traffic" || url[2] === "zones" || URL == "/manage/analyse/reports" || url[2] === "trax") {
|
|
3974
4116
|
this.setUIProperties(false, false, false, false, false, true);
|
|
3975
4117
|
}
|
|
3976
4118
|
else {
|
|
@@ -3990,7 +4132,7 @@ class ToolbarComponent {
|
|
|
3990
4132
|
this.trafficdatepicker = trafficdatepicker;
|
|
3991
4133
|
}
|
|
3992
4134
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1$1.LayoutService }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i1$1.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3993
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client' || (gs.userAccess | async)?.userType === 'lead'\" >\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=\"multiSelect && users.userType ==='tango'\">\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=\"singleSelect && users.userType ==='tango'\">\r\n <lib-client-settings class=\"d-flex align-items-center me-5\"></lib-client-settings>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"datepicker && users.userType ==='client'\">\r\n <lib-datepicker class=\"d-flex align-items-center me-5\"></lib-datepicker>\r\n </ng-container>\r\n <ng-container *ngIf=\"singleSelectdatepicker && users.userType ==='tango'\">\r\n <lib-date-single-select class=\"d-flex align-items-center me-5\"></lib-date-single-select>\r\n </ng-container>\r\n <ng-container *ngIf=\"singleStore\">\r\n <lib-single-store class=\"d-flex align-items-center me-5\"></lib-single-store>\r\n </ng-container>\r\n <ng-container *ngIf=\"trafficdatepicker\">\r\n <lib-traffic-header class=\"d-flex align-items-center me-5\"></lib-traffic-header>\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</ng-container>\r\n</div>\r\n<!--end::Toolbar container-->\r\n", styles: [""], dependencies: [{ kind: "directive", type:
|
|
4135
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client' || (gs.userAccess | async)?.userType === 'lead'\" >\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=\"multiSelect && users.userType ==='tango'\">\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=\"singleSelect && users.userType ==='tango'\">\r\n <lib-client-settings class=\"d-flex align-items-center me-5\"></lib-client-settings>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"datepicker && users.userType ==='client'\">\r\n <lib-datepicker class=\"d-flex align-items-center me-5\"></lib-datepicker>\r\n </ng-container>\r\n <ng-container *ngIf=\"singleSelectdatepicker && users.userType ==='tango'\">\r\n <lib-date-single-select class=\"d-flex align-items-center me-5\"></lib-date-single-select>\r\n </ng-container>\r\n <ng-container *ngIf=\"singleStore\">\r\n <lib-single-store class=\"d-flex align-items-center me-5\"></lib-single-store>\r\n </ng-container>\r\n <ng-container *ngIf=\"trafficdatepicker\">\r\n <lib-traffic-header class=\"d-flex align-items-center me-5\"></lib-traffic-header>\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</ng-container>\r\n</div>\r\n<!--end::Toolbar container-->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.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" }, { kind: "component", type: ClientSettingsComponent, selector: "lib-client-settings" }, { kind: "component", type: DatepickerComponent, selector: "lib-datepicker" }, { kind: "component", type: DateSingleSelectComponent, selector: "lib-date-single-select" }, { kind: "component", type: SingleStoreComponent, selector: "lib-single-store" }, { kind: "component", type: TrafficHeaderComponent, selector: "lib-traffic-header" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
3994
4136
|
}
|
|
3995
4137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
3996
4138
|
type: Component,
|
|
@@ -4026,7 +4168,7 @@ class SidebarLogoComponent {
|
|
|
4026
4168
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
4027
4169
|
}
|
|
4028
4170
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarLogoComponent, deps: [{ token: i1$1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4029
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarLogoComponent, selector: "lib-sidebar-logo", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState" }, ngImport: i0, template: "<!--begin::Logo image-->\r\n<a>\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\"\r\n class=\"h-40px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-38px app-sidebar-logo-minimize\" />\r\n</a>\r\n<!--end::Logo image-->\r\n\r\n\r\n<ng-container *ngIf=\"toggleEnabled\">\r\n <!--begin::Sidebar toggle-->\r\n <div id=\"kt_app_sidebar_toggle\"\r\n class=\"app-sidebar-toggle btn btn-icon btn-shadow btn-sm btn-color-muted btn-active-color-primary body-bg h-30px w-30px position-absolute top-50 start-100 translate-middle rotate d-none\"\r\n [ngClass]=\"toggleButtonClass\" data-kt-toggle=\"true\" [attr.data-kt-toggle-state]=\"toggleState\"\r\n data-kt-toggle-target=\"body\" [attr.data-kt-toggle-name]=\"toggleAttr\">\r\n <lib-keenicon name=\"double-left\" class=\"fs-2 rotate-180\"></lib-keenicon>\r\n </div>\r\n <!--end::Sidebar toggle-->\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type:
|
|
4171
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarLogoComponent, selector: "lib-sidebar-logo", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState" }, ngImport: i0, template: "<!--begin::Logo image-->\r\n<a>\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\"\r\n class=\"h-40px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-38px app-sidebar-logo-minimize\" />\r\n</a>\r\n<!--end::Logo image-->\r\n\r\n\r\n<ng-container *ngIf=\"toggleEnabled\">\r\n <!--begin::Sidebar toggle-->\r\n <div id=\"kt_app_sidebar_toggle\"\r\n class=\"app-sidebar-toggle btn btn-icon btn-shadow btn-sm btn-color-muted btn-active-color-primary body-bg h-30px w-30px position-absolute top-50 start-100 translate-middle rotate d-none\"\r\n [ngClass]=\"toggleButtonClass\" data-kt-toggle=\"true\" [attr.data-kt-toggle-state]=\"toggleState\"\r\n data-kt-toggle-target=\"body\" [attr.data-kt-toggle-name]=\"toggleAttr\">\r\n <lib-keenicon name=\"double-left\" class=\"fs-2 rotate-180\"></lib-keenicon>\r\n </div>\r\n <!--end::Sidebar toggle-->\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
4030
4172
|
}
|
|
4031
4173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarLogoComponent, decorators: [{
|
|
4032
4174
|
type: Component,
|
|
@@ -4049,6 +4191,7 @@ class SidebarMenuComponent {
|
|
|
4049
4191
|
authlocalStorageToken;
|
|
4050
4192
|
oldDashboardRoutingUrl;
|
|
4051
4193
|
clientData;
|
|
4194
|
+
headerFilters;
|
|
4052
4195
|
constructor(authService, gs, router) {
|
|
4053
4196
|
this.authService = authService;
|
|
4054
4197
|
this.gs = gs;
|
|
@@ -4066,16 +4209,21 @@ class SidebarMenuComponent {
|
|
|
4066
4209
|
const userData = JSON.parse(localStorage.getItem("user-info") || "{}");
|
|
4067
4210
|
this.usersList = userData;
|
|
4068
4211
|
}
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4212
|
+
this.gs?.dataRangeValue.pipe((takeUntil(this.destroy$)))?.subscribe({
|
|
4213
|
+
next: (data) => {
|
|
4214
|
+
if (data) {
|
|
4215
|
+
this.headerFilters = data;
|
|
4216
|
+
if (this.usersList?.clientId || this.headerFilters?.client)
|
|
4217
|
+
this.getClientData(this.usersList.clientId ? this.usersList.clientId : this.headerFilters.client);
|
|
4218
|
+
}
|
|
4219
|
+
}
|
|
4220
|
+
});
|
|
4072
4221
|
}
|
|
4073
4222
|
oldDashborad() {
|
|
4074
4223
|
let obj = { username: this.usersList?.email }; //this.usersList?.email}; // Assuming this is required for authentication/authorization
|
|
4075
4224
|
this.authService
|
|
4076
4225
|
.getOldDashboardRedirect(obj)
|
|
4077
|
-
.pipe(takeUntil(this.destroy$))
|
|
4078
|
-
.subscribe((res) => {
|
|
4226
|
+
.pipe((takeUntil(this.destroy$)), debounceTime(100))?.subscribe((res) => {
|
|
4079
4227
|
if (res && res.code === 200) {
|
|
4080
4228
|
// Assuming res.data contains necessary authentication/authorization information
|
|
4081
4229
|
var ciphertext = encodeURIComponent(crypto$1.AES.encrypt(JSON.stringify(res.data), "secret key 123").toString());
|
|
@@ -4086,10 +4234,10 @@ class SidebarMenuComponent {
|
|
|
4086
4234
|
// // Note: This might trigger popup blockers if not invoked by user action
|
|
4087
4235
|
var newTab = window.open(url, "_blank");
|
|
4088
4236
|
// // Handle popup blocked scenario
|
|
4089
|
-
if (!newTab || newTab.closed || typeof newTab.closed === 'undefined') {
|
|
4090
|
-
|
|
4091
|
-
|
|
4092
|
-
}
|
|
4237
|
+
// if (!newTab || newTab.closed || typeof newTab.closed === 'undefined') {
|
|
4238
|
+
// Redirect to the URL in the current window if popup is blocked
|
|
4239
|
+
// window.location.href = url;
|
|
4240
|
+
// }
|
|
4093
4241
|
}
|
|
4094
4242
|
else {
|
|
4095
4243
|
// Handle error case
|
|
@@ -4099,10 +4247,11 @@ class SidebarMenuComponent {
|
|
|
4099
4247
|
});
|
|
4100
4248
|
}
|
|
4101
4249
|
getClientData(clientID) {
|
|
4102
|
-
this.authService.getBrandDetails(clientID).pipe(takeUntil(this.destroy$))
|
|
4250
|
+
this.authService.getBrandDetails(clientID).pipe((takeUntil(this.destroy$)))?.subscribe({
|
|
4103
4251
|
next: (res) => {
|
|
4104
4252
|
if (res && res.code === 200) {
|
|
4105
4253
|
this.clientData = res?.data;
|
|
4254
|
+
localStorage.setItem("client-details", JSON.stringify(this.clientData?.featureConfigs));
|
|
4106
4255
|
}
|
|
4107
4256
|
},
|
|
4108
4257
|
error: (error) => {
|
|
@@ -4110,11 +4259,11 @@ class SidebarMenuComponent {
|
|
|
4110
4259
|
});
|
|
4111
4260
|
}
|
|
4112
4261
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuComponent, deps: [{ token: AuthService }, { token: i1$1.GlobalStateService }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
4113
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarMenuComponent, selector: "lib-sidebar-menu", ngImport: i0, template: "<!--begin::Menu wrapper-->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"scroll-y my-5 mx-3\" 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 *ngIf=\"((gs.userAccess | async)?.analytics_birdsEye_isView || !clientData?.featureConfigs?.isNewDashboard) && (gs.userAccess | async)?.userType !== 'tango' \" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/birds_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Analytics</span>\r\n </a>\r\n </div>\r\n <!-- Analyse -->\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <!-- <lib-keenicon name=\"profile-circle\" class=\"fs-2\"></lib-keenicon> -->\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage/traffic\">Analytics\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/brands.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/overview.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n <!-- Manage -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <!-- <lib-keenicon name=\"profile-circle\" class=\"fs-2\"></lib-keenicon> -->\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage\">Manage\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_brands_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/brands.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_overview_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/overview.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_stores_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_tickets_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_audit_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/audit.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.settings_paymentSubscriptions_isView || (gs.userAccess | async)?.settings_activityLog_isView || (gs.userAccess | async)?.settings_brandDetails_isView || (gs.userAccess | async)?.settings_configuration_isView || (gs.userAccess | async)?.settings_contactDirectory_isView || (gs.userAccess | async)?.settings_documents_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/settings.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/billing.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <!-- Manage -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <!-- <lib-keenicon name=\"profile-circle\" class=\"fs-2\"></lib-keenicon> -->\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/tickets\">My Workspace\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/tickets/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div> -->\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n<!--end::Menu wrapper-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- Tango Traffic -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_traffic.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Traffic</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Zone -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_zone.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Zone</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Revop -->\r\n <!-- <div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_revop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Home\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Tagging\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Pending Action\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Customer Profile\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Control Center -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_controlCenter_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/control_center.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Control Center\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Live & Playback\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Screen Manager\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Store Explore\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Tango SOP -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoSop_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_sop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango SOP\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Dashboard\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Create & Manage\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Flag\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Incidents\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
4262
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarMenuComponent, selector: "lib-sidebar-menu", ngImport: i0, template: "<!--begin::Menu wrapper-->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"scroll-y my-5 mx-3\" 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 *ngIf=\"clientData?.featureConfigs?.isNewDashboard && (gs.userAccess | async)?.userType !== 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/birds_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Analytics</span>\r\n </a>\r\n </div>\r\n\r\n <!-- Analyse -->\r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView && clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-title ms-8\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView && clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-title ms-8\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView && clientData?.featureConfigs?.isNewZoneV2 && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-title ms-8\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/dashboard\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Tango Trax\r\n </span>\r\n </a>\r\n </div> -->\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-title ms-8\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '11': this.headerFilters?.client === '11'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/controlcenter\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/ControlCenter.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\" >Control Center\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic/explore\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Explore.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Explore\r\n </span>\r\n </a>\r\n </div> \r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard && clientData?.featureConfigs?.isNewReports && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Reports\r\n </span>\r\n </a>\r\n </div> \r\n \r\n <!-- Manage -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/manage.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Manage\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.manage_brands_isView && (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n \r\n <span class=\"menu-title ms-8\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.manage_overview_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n \r\n <span class=\"menu-title ms-8\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_stores_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n \r\n <span class=\"menu-title ms-8\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n \r\n <span class=\"menu-title ms-8\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n \r\n <span class=\"menu-title ms-8\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_tickets_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n \r\n <span class=\"menu-title ms-8\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n \r\n <span class=\"menu-title ms-8\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.manage_audit_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n \r\n <span class=\"menu-title ms-8\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n \r\n <span class=\"menu-title ms-8\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n <div *ngIf=\"(gs.userAccess | async)?.settings_paymentSubscriptions_isView || (gs.userAccess | async)?.settings_activityLog_isView || (gs.userAccess | async)?.settings_brandDetails_isView || (gs.userAccess | async)?.settings_configuration_isView || (gs.userAccess | async)?.settings_contactDirectory_isView || (gs.userAccess | async)?.settings_documents_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n \r\n <span class=\"menu-title ms-8\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/user-analysis\" >\r\n \r\n <span class=\"menu-title ms-8\">User Analysis\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n \r\n \r\n </div>\r\n\r\n <!-- Workspace -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Workspace.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Workspace\r\n </span>\r\n </a>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n</div>\r\n<!--end::Menu wrapper-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title \" data-link=\"/manage/traffic\">ANALYZE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n \r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\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=\"M0.677249 15.8223H5.41799C6.09524 15.8223 6.09524 15.5214 6.09524 14.318V6.83461C6.09524 6.39794 5.79228 6.04449 5.41799 6.04449H0.677249C0.2709 6.04449 0 6.34534 0 6.79663V15.0701C0 15.5214 0.2709 15.8223 0.677249 15.8223Z\" fill=\"#475467\"/>\r\n <path d=\"M0.673874 4.44444H5.39099C5.79531 4.44444 6.06486 4.08889 6.06486 3.55555V0.888888C6.06486 0.355555 5.79531 0 5.39099 0H0.673874C0.269549 0 0 0.355555 0 0.888888V3.55555C0 4 0.269549 4.44444 0.673874 4.44444Z\" fill=\"#475467\"/>\r\n <path d=\"M2.27003 1.9131C2.27003 2.20178 2.09173 2.4358 1.87179 2.4358C1.65185 2.4358 1.47354 2.20178 1.47354 1.9131C1.47354 1.62443 1.65185 1.39041 1.87179 1.39041C2.09173 1.39041 2.27003 1.62443 2.27003 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M3.46448 1.9131C3.46448 2.20178 3.28618 2.4358 3.06623 2.4358C2.84629 2.4358 2.66799 2.20178 2.66799 1.9131C2.66799 1.62443 2.84629 1.39041 3.06623 1.39041C3.28618 1.39041 3.46448 1.62443 3.46448 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M4.66025 1.9131C4.66025 2.20178 4.48195 2.4358 4.262 2.4358C4.04206 2.4358 3.86376 2.20178 3.86376 1.9131C3.86376 1.62443 4.04206 1.39041 4.262 1.39041C4.48195 1.39041 4.66025 1.62443 4.66025 1.9131Z\" fill=\"#667085\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.61905 16V0H8.38095V16H7.61905Z\" fill=\"#667085\"/>\r\n <path d=\"M15.3227 0H10.582C10.1757 0 9.90476 0.300855 9.90476 0.752137V9.02564C9.90476 9.47692 10.1757 9.77778 10.582 9.77778H15.3227C15.7291 9.77778 16 9.47692 16 9.02564V0.752137C16 0.300855 15.7291 0 15.3227 0Z\" fill=\"#475467\"/>\r\n <path d=\"M9.93519 15.1111V12.4444C9.93519 11.9111 10.2047 11.5556 10.6091 11.5556H15.3261C15.7305 11.5556 16 11.9111 16 12.4444V15.1111C16 15.6444 15.7305 16 15.3261 16H10.6091C10.2047 16 9.93519 15.6444 9.93519 15.1111Z\" fill=\"#475467\"/>\r\n <path d=\"M12.0531 13.4336C12.0531 13.7223 11.8748 13.9563 11.6549 13.9563C11.4349 13.9563 11.2566 13.7223 11.2566 13.4336C11.2566 13.1449 11.4349 12.9109 11.6549 12.9109C11.8748 12.9109 12.0531 13.1449 12.0531 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M13.2475 13.4336C13.2475 13.7223 13.0692 13.9563 12.8493 13.9563C12.6294 13.9563 12.4511 13.7223 12.4511 13.4336C12.4511 13.1449 12.6294 12.9109 12.8493 12.9109C13.0692 12.9109 13.2475 13.1449 13.2475 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M14.4433 13.4336C14.4433 13.7223 14.265 13.9563 14.0451 13.9563C13.8251 13.9563 13.6468 13.7223 13.6468 13.4336C13.6468 13.1449 13.8251 12.9109 14.0451 12.9109C14.265 12.9109 14.4433 13.1449 14.4433 13.4336Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView && clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '11': this.headerFilters?.client === '11'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\">\r\n <span class=\"menu-icon\">\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=\"M9.84985 0.264419C9.5033 -0.0881395 8.97086 -0.0881395 8.62713 0.264419L2.76722 6.25478C2.5024 6.5231 2.40943 6.94117 2.52776 7.31557C4.9816 8.10493 6.91142 10.2546 7.60729 12.9815H12.8445C13.5912 12.9815 14.1968 12.3107 14.1968 11.4839V7.98637H15.0984C15.4702 7.98637 15.8027 7.73365 15.938 7.35301C16.0732 6.97238 15.983 6.53557 15.7098 6.25478L9.84985 0.264419ZM7.88619 6.48878C7.88619 6.21422 8.08904 5.98958 8.33696 5.98958H10.14C10.388 5.98958 10.5908 6.21422 10.5908 6.48878V8.48556C10.5908 8.76013 10.388 8.98476 10.14 8.98476H8.33696C8.08904 8.98476 7.88619 8.76013 7.88619 8.48556V6.48878Z\" fill=\"#667085\"/>\r\n <path d=\"M0 8.76165C0 8.34669 0.301447 8.01285 0.676143 8.01285C4.28506 8.01285 7.2122 11.2545 7.2122 15.2512C7.2122 15.6662 6.91075 16 6.53606 16C6.16136 16 5.85991 15.6662 5.85991 15.2512C5.85991 12.0813 3.53848 9.51044 0.676143 9.51044C0.301447 9.51044 0 9.1766 0 8.76165Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M1.539 15.7076C1.36993 15.8948 1.14062 16 0.901525 16C0.662426 16 0.43312 15.8948 0.264051 15.7076C0.0949818 15.5203 0 15.2664 0 15.0017C0 14.7368 0.0949818 14.4829 0.264051 14.2956C0.43312 14.1084 0.662426 14.0032 0.901525 14.0032C1.14062 14.0032 1.36993 14.1084 1.539 14.2956C1.70807 14.4829 1.80305 14.7368 1.80305 15.0017C1.80305 15.2664 1.70807 15.5203 1.539 15.7076Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M0.676143 12.5056C0.301447 12.5056 0 12.1717 0 11.7568C0 11.3418 0.301447 11.0081 0.676143 11.0081C2.79191 11.0081 4.50762 12.9081 4.50762 15.2512C4.50762 15.6662 4.20618 16 3.83148 16C3.45678 16 3.15534 15.6662 3.15534 15.2512C3.15534 13.7349 2.04533 12.5056 0.676143 12.5056Z\" fill=\"#D0D5DD\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" routerLink=\"/manage/controlcenter\">Control Center \r\n </span>\r\n \r\n </span>\r\n </div>\r\n \r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M14.3843 6.77809L13.3937 6.58122C13.1468 6.53122 12.8937 6.60935 12.7156 6.78747L12.2343 7.26872C11.8718 7.63122 11.2625 7.53122 11.0343 7.07498L10.7437 6.49685C10.5937 6.19685 10.2875 6.00622 9.94997 6.00622C9.47497 6.00622 9.13435 6.46248 9.27185 6.91873L9.45935 7.5406C9.6031 8.02185 9.24372 8.50623 8.7406 8.50623H8.66872C8.24998 8.50623 7.85935 8.71561 7.6281 9.06249L7.29373 9.56561C7.11873 9.83123 7.1281 10.1781 7.31873 10.4312L7.82185 11.1031C8.14373 11.5312 7.92498 12.15 7.4031 12.2812L6.87185 12.4156C6.63748 12.475 6.44686 12.6406 6.35623 12.8656L5.84373 14.1437C6.51873 14.3719 7.24373 14.5 7.99998 14.5C11.5906 14.5 14.5 11.5906 14.5 7.99998C14.5 7.58123 14.4593 7.17184 14.3843 6.77809ZM1.64375 6.63435C1.83124 6.63435 1.81249 6.68122 1.92499 6.60935L2.41874 6.47185C2.62812 6.41247 2.84999 6.49997 2.96562 6.68122L3.02812 6.77809C3.21562 7.07184 3.54061 7.24997 3.89061 7.24997C4.24061 7.24997 4.56561 7.07184 4.75311 6.77809L4.94374 6.48122C4.98749 6.41247 5.04998 6.3531 5.12186 6.3156L6.24998 5.68435C6.81561 5.36872 7.04685 4.67185 6.78123 4.08123L6.60935 3.69374C6.34061 3.09374 5.64998 2.80311 5.03124 3.03436L4.94999 3.06561C4.63749 3.18123 4.66874 3.08437 4.39999 2.88749L3.96874 2.90311C2.39999 3.68749 1.92187 4.98436 1.6 6.48748L1.64375 6.63435ZM16 7.99998C16 10.1217 15.1571 12.1566 13.6568 13.6568C12.1565 15.1571 10.1217 16 7.99998 16C5.87825 16 3.84343 15.1571 2.34314 13.6568C0.842852 12.1566 0 10.1217 0 7.99998C0 5.87825 0.842852 3.84342 2.34314 2.34314C3.84343 0.842851 5.87825 0 7.99998 0C10.1217 0 12.1565 0.842851 13.6568 2.34314C15.1571 3.84342 16 5.87825 16 7.99998ZM11.4843 5.12185C11.55 4.8531 11.3875 4.58123 11.1218 4.5156L10.1218 4.2656C9.8531 4.19998 9.58122 4.36248 9.5156 4.6281C9.44997 4.89373 9.61247 5.16872 9.8781 5.23435L10.8781 5.48435C11.1468 5.54997 11.4187 5.38747 11.4843 5.12185ZM8.60935 5.74685C8.67497 5.4781 8.51248 5.20622 8.24685 5.1406C7.98123 5.07498 7.70623 5.23747 7.6406 5.5031L7.3906 6.5031C7.32498 6.77184 7.48748 7.04373 7.7531 7.10935C8.01873 7.17497 8.29373 7.01247 8.35935 6.74685L8.60935 5.74685Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M2.45522 6.05254C2.59366 6.24051 2.35423 6.2781 2.22966 6.2781C2.10509 6.2781 2.0041 6.17711 2.0041 6.05254C2.0041 5.92797 2.10509 5.67661 2.22966 5.67661C2.35423 5.67661 2.45522 5.92797 2.45522 6.05254Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M4.20498 11.8559C4.62113 11.3337 5.57024 10.0682 5.57024 9.35736C5.57024 8.49526 4.87261 7.79579 4.01273 7.79579C3.15285 7.79579 2.45522 8.49526 2.45522 9.35736C2.45522 10.0682 3.40433 11.3337 3.82047 11.8559C3.92025 11.9803 4.10521 11.9803 4.20498 11.8559ZM4.01273 8.83684C4.15042 8.83684 4.28247 8.89168 4.37984 8.98929C4.4772 9.08691 4.5319 9.21931 4.5319 9.35736C4.5319 9.49541 4.4772 9.62781 4.37984 9.72542C4.28247 9.82304 4.15042 9.87788 4.01273 9.87788C3.87504 9.87788 3.74298 9.82304 3.64562 9.72542C3.54826 9.62781 3.49356 9.49541 3.49356 9.35736C3.49356 9.21931 3.54826 9.08691 3.64562 8.98929C3.74298 8.89168 3.87504 8.83684 4.01273 8.83684Z\"\r\n fill=\"#667085\" />\r\n <path\r\n d=\"M13.0419 10.2943C13.9436 9.11946 16 6.27207 16 4.6727C16 2.73295 14.4884 1.1592 12.6253 1.1592C10.7623 1.1592 9.25074 2.73295 9.25074 4.6727C9.25074 6.27207 11.3071 9.11946 12.2088 10.2943C12.425 10.5743 12.8257 10.5743 13.0419 10.2943ZM12.6253 3.50153C12.9237 3.50153 13.2098 3.62492 13.4207 3.84456C13.6317 4.06419 13.7502 4.36208 13.7502 4.6727C13.7502 4.98331 13.6317 5.2812 13.4207 5.50083C13.2098 5.72047 12.9237 5.84386 12.6253 5.84386C12.327 5.84386 12.0409 5.72047 11.8299 5.50083C11.619 5.2812 11.5005 4.98331 11.5005 4.6727C11.5005 4.36208 11.619 4.06419 11.8299 3.84456C12.0409 3.62492 12.327 3.50153 12.6253 3.50153Z\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n \r\n </div>\r\n \r\n</div>\r\n\r\n<div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage/traffic\">REPORTS\r\n </span>\r\n \r\n </span>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage\">MANAGE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_brands_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/brands.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_overview_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/overview.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_stores_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_tickets_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_audit_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/audit.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.settings_paymentSubscriptions_isView || (gs.userAccess | async)?.settings_activityLog_isView || (gs.userAccess | async)?.settings_brandDetails_isView || (gs.userAccess | async)?.settings_configuration_isView || (gs.userAccess | async)?.settings_contactDirectory_isView || (gs.userAccess | async)?.settings_documents_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/settings.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/billing.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/tickets\">MY WORKSPACE\r\n </span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/tickets/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div> -->\r\n\r\n\r\n\r\n\r\n\r\n <!-- Tango Traffic -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView && clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_traffic.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Traffic</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Zone -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_zone.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Zone</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Revop -->\r\n <!-- <div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_revop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Home\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Tagging\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Pending Action\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Customer Profile\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Control Center -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_controlCenter_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/control_center.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Control Center\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Live & Playback\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Screen Manager\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Store Explore\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Tango SOP -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoSop_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_sop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango SOP\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Dashboard\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Create & Manage\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Flag\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Incidents\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n", styles: [".menu-bullet-dot span{display:inline-block;width:6px;height:6px;background-color:#000;border-radius:50%;margin-right:10px;vertical-align:middle}:host::ng-deep .menu-sub .menu-sub-accordion{border-left:2px solid #98A2B3!important}::ng-deep .app-sidebar .menu .menu-item .menu-link.active .menu-title{color:#f5f5f5!important;border-radius:8px!important;border:1px solid var(--text-primary, #FFF)!important;padding:8px!important;color:var(--Primary-500, #33B5FF)!important;font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link .menu-title{font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link.active{transition:color .2s ease;background-color:#0d0e12!important}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
4114
4263
|
}
|
|
4115
4264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuComponent, decorators: [{
|
|
4116
4265
|
type: Component,
|
|
4117
|
-
args: [{ selector: "lib-sidebar-menu", template: "<!--begin::Menu wrapper-->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"scroll-y my-5 mx-3\" 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 *ngIf=\"((gs.userAccess | async)?.analytics_birdsEye_isView || !clientData?.featureConfigs?.isNewDashboard) && (gs.userAccess | async)?.userType !== 'tango' \" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/birds_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Analytics</span>\r\n </a>\r\n </div>\r\n <!-- Analyse -->\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <!-- <lib-keenicon name=\"profile-circle\" class=\"fs-2\"></lib-keenicon> -->\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage/traffic\">Analytics\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/brands.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/overview.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n <!-- Manage -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <!-- <lib-keenicon name=\"profile-circle\" class=\"fs-2\"></lib-keenicon> -->\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage\">Manage\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_brands_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/brands.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_overview_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/overview.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_stores_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_tickets_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_audit_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/audit.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.settings_paymentSubscriptions_isView || (gs.userAccess | async)?.settings_activityLog_isView || (gs.userAccess | async)?.settings_brandDetails_isView || (gs.userAccess | async)?.settings_configuration_isView || (gs.userAccess | async)?.settings_contactDirectory_isView || (gs.userAccess | async)?.settings_documents_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/settings.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/billing.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <!-- Manage -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <!-- <lib-keenicon name=\"profile-circle\" class=\"fs-2\"></lib-keenicon> -->\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/tickets\">My Workspace\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/tickets/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div> -->\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n<!--end::Menu wrapper-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- Tango Traffic -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_traffic.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Traffic</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Zone -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_zone.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Zone</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Revop -->\r\n <!-- <div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_revop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Home\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Tagging\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Pending Action\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Customer Profile\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Control Center -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_controlCenter_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/control_center.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Control Center\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Live & Playback\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Screen Manager\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Store Explore\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Tango SOP -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoSop_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_sop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango SOP\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Dashboard\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Create & Manage\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Flag\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Incidents\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->" }]
|
|
4266
|
+
args: [{ selector: "lib-sidebar-menu", template: "<!--begin::Menu wrapper-->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"scroll-y my-5 mx-3\" 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 *ngIf=\"clientData?.featureConfigs?.isNewDashboard && (gs.userAccess | async)?.userType !== 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/birds_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Analytics</span>\r\n </a>\r\n </div>\r\n\r\n <!-- Analyse -->\r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView && clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-title ms-8\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView && clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-title ms-8\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView && clientData?.featureConfigs?.isNewZoneV2 && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-title ms-8\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/dashboard\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Tango Trax\r\n </span>\r\n </a>\r\n </div> -->\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-title ms-8\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '11': this.headerFilters?.client === '11'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/controlcenter\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/ControlCenter.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\" >Control Center\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic/explore\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Explore.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Explore\r\n </span>\r\n </a>\r\n </div> \r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard && clientData?.featureConfigs?.isNewReports && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Reports\r\n </span>\r\n </a>\r\n </div> \r\n \r\n <!-- Manage -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/manage.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Manage\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.manage_brands_isView && (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n \r\n <span class=\"menu-title ms-8\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.manage_overview_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n \r\n <span class=\"menu-title ms-8\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_stores_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n \r\n <span class=\"menu-title ms-8\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n \r\n <span class=\"menu-title ms-8\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n \r\n <span class=\"menu-title ms-8\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_tickets_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n \r\n <span class=\"menu-title ms-8\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n \r\n <span class=\"menu-title ms-8\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.manage_audit_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n \r\n <span class=\"menu-title ms-8\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n \r\n <span class=\"menu-title ms-8\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n <div *ngIf=\"(gs.userAccess | async)?.settings_paymentSubscriptions_isView || (gs.userAccess | async)?.settings_activityLog_isView || (gs.userAccess | async)?.settings_brandDetails_isView || (gs.userAccess | async)?.settings_configuration_isView || (gs.userAccess | async)?.settings_contactDirectory_isView || (gs.userAccess | async)?.settings_documents_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n \r\n <span class=\"menu-title ms-8\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/user-analysis\" >\r\n \r\n <span class=\"menu-title ms-8\">User Analysis\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n \r\n \r\n </div>\r\n\r\n <!-- Workspace -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Workspace.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Workspace\r\n </span>\r\n </a>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n</div>\r\n<!--end::Menu wrapper-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title \" data-link=\"/manage/traffic\">ANALYZE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n \r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\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=\"M0.677249 15.8223H5.41799C6.09524 15.8223 6.09524 15.5214 6.09524 14.318V6.83461C6.09524 6.39794 5.79228 6.04449 5.41799 6.04449H0.677249C0.2709 6.04449 0 6.34534 0 6.79663V15.0701C0 15.5214 0.2709 15.8223 0.677249 15.8223Z\" fill=\"#475467\"/>\r\n <path d=\"M0.673874 4.44444H5.39099C5.79531 4.44444 6.06486 4.08889 6.06486 3.55555V0.888888C6.06486 0.355555 5.79531 0 5.39099 0H0.673874C0.269549 0 0 0.355555 0 0.888888V3.55555C0 4 0.269549 4.44444 0.673874 4.44444Z\" fill=\"#475467\"/>\r\n <path d=\"M2.27003 1.9131C2.27003 2.20178 2.09173 2.4358 1.87179 2.4358C1.65185 2.4358 1.47354 2.20178 1.47354 1.9131C1.47354 1.62443 1.65185 1.39041 1.87179 1.39041C2.09173 1.39041 2.27003 1.62443 2.27003 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M3.46448 1.9131C3.46448 2.20178 3.28618 2.4358 3.06623 2.4358C2.84629 2.4358 2.66799 2.20178 2.66799 1.9131C2.66799 1.62443 2.84629 1.39041 3.06623 1.39041C3.28618 1.39041 3.46448 1.62443 3.46448 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M4.66025 1.9131C4.66025 2.20178 4.48195 2.4358 4.262 2.4358C4.04206 2.4358 3.86376 2.20178 3.86376 1.9131C3.86376 1.62443 4.04206 1.39041 4.262 1.39041C4.48195 1.39041 4.66025 1.62443 4.66025 1.9131Z\" fill=\"#667085\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.61905 16V0H8.38095V16H7.61905Z\" fill=\"#667085\"/>\r\n <path d=\"M15.3227 0H10.582C10.1757 0 9.90476 0.300855 9.90476 0.752137V9.02564C9.90476 9.47692 10.1757 9.77778 10.582 9.77778H15.3227C15.7291 9.77778 16 9.47692 16 9.02564V0.752137C16 0.300855 15.7291 0 15.3227 0Z\" fill=\"#475467\"/>\r\n <path d=\"M9.93519 15.1111V12.4444C9.93519 11.9111 10.2047 11.5556 10.6091 11.5556H15.3261C15.7305 11.5556 16 11.9111 16 12.4444V15.1111C16 15.6444 15.7305 16 15.3261 16H10.6091C10.2047 16 9.93519 15.6444 9.93519 15.1111Z\" fill=\"#475467\"/>\r\n <path d=\"M12.0531 13.4336C12.0531 13.7223 11.8748 13.9563 11.6549 13.9563C11.4349 13.9563 11.2566 13.7223 11.2566 13.4336C11.2566 13.1449 11.4349 12.9109 11.6549 12.9109C11.8748 12.9109 12.0531 13.1449 12.0531 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M13.2475 13.4336C13.2475 13.7223 13.0692 13.9563 12.8493 13.9563C12.6294 13.9563 12.4511 13.7223 12.4511 13.4336C12.4511 13.1449 12.6294 12.9109 12.8493 12.9109C13.0692 12.9109 13.2475 13.1449 13.2475 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M14.4433 13.4336C14.4433 13.7223 14.265 13.9563 14.0451 13.9563C13.8251 13.9563 13.6468 13.7223 13.6468 13.4336C13.6468 13.1449 13.8251 12.9109 14.0451 12.9109C14.265 12.9109 14.4433 13.1449 14.4433 13.4336Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView && clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '11': this.headerFilters?.client === '11'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\">\r\n <span class=\"menu-icon\">\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=\"M9.84985 0.264419C9.5033 -0.0881395 8.97086 -0.0881395 8.62713 0.264419L2.76722 6.25478C2.5024 6.5231 2.40943 6.94117 2.52776 7.31557C4.9816 8.10493 6.91142 10.2546 7.60729 12.9815H12.8445C13.5912 12.9815 14.1968 12.3107 14.1968 11.4839V7.98637H15.0984C15.4702 7.98637 15.8027 7.73365 15.938 7.35301C16.0732 6.97238 15.983 6.53557 15.7098 6.25478L9.84985 0.264419ZM7.88619 6.48878C7.88619 6.21422 8.08904 5.98958 8.33696 5.98958H10.14C10.388 5.98958 10.5908 6.21422 10.5908 6.48878V8.48556C10.5908 8.76013 10.388 8.98476 10.14 8.98476H8.33696C8.08904 8.98476 7.88619 8.76013 7.88619 8.48556V6.48878Z\" fill=\"#667085\"/>\r\n <path d=\"M0 8.76165C0 8.34669 0.301447 8.01285 0.676143 8.01285C4.28506 8.01285 7.2122 11.2545 7.2122 15.2512C7.2122 15.6662 6.91075 16 6.53606 16C6.16136 16 5.85991 15.6662 5.85991 15.2512C5.85991 12.0813 3.53848 9.51044 0.676143 9.51044C0.301447 9.51044 0 9.1766 0 8.76165Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M1.539 15.7076C1.36993 15.8948 1.14062 16 0.901525 16C0.662426 16 0.43312 15.8948 0.264051 15.7076C0.0949818 15.5203 0 15.2664 0 15.0017C0 14.7368 0.0949818 14.4829 0.264051 14.2956C0.43312 14.1084 0.662426 14.0032 0.901525 14.0032C1.14062 14.0032 1.36993 14.1084 1.539 14.2956C1.70807 14.4829 1.80305 14.7368 1.80305 15.0017C1.80305 15.2664 1.70807 15.5203 1.539 15.7076Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M0.676143 12.5056C0.301447 12.5056 0 12.1717 0 11.7568C0 11.3418 0.301447 11.0081 0.676143 11.0081C2.79191 11.0081 4.50762 12.9081 4.50762 15.2512C4.50762 15.6662 4.20618 16 3.83148 16C3.45678 16 3.15534 15.6662 3.15534 15.2512C3.15534 13.7349 2.04533 12.5056 0.676143 12.5056Z\" fill=\"#D0D5DD\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" routerLink=\"/manage/controlcenter\">Control Center \r\n </span>\r\n \r\n </span>\r\n </div>\r\n \r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M14.3843 6.77809L13.3937 6.58122C13.1468 6.53122 12.8937 6.60935 12.7156 6.78747L12.2343 7.26872C11.8718 7.63122 11.2625 7.53122 11.0343 7.07498L10.7437 6.49685C10.5937 6.19685 10.2875 6.00622 9.94997 6.00622C9.47497 6.00622 9.13435 6.46248 9.27185 6.91873L9.45935 7.5406C9.6031 8.02185 9.24372 8.50623 8.7406 8.50623H8.66872C8.24998 8.50623 7.85935 8.71561 7.6281 9.06249L7.29373 9.56561C7.11873 9.83123 7.1281 10.1781 7.31873 10.4312L7.82185 11.1031C8.14373 11.5312 7.92498 12.15 7.4031 12.2812L6.87185 12.4156C6.63748 12.475 6.44686 12.6406 6.35623 12.8656L5.84373 14.1437C6.51873 14.3719 7.24373 14.5 7.99998 14.5C11.5906 14.5 14.5 11.5906 14.5 7.99998C14.5 7.58123 14.4593 7.17184 14.3843 6.77809ZM1.64375 6.63435C1.83124 6.63435 1.81249 6.68122 1.92499 6.60935L2.41874 6.47185C2.62812 6.41247 2.84999 6.49997 2.96562 6.68122L3.02812 6.77809C3.21562 7.07184 3.54061 7.24997 3.89061 7.24997C4.24061 7.24997 4.56561 7.07184 4.75311 6.77809L4.94374 6.48122C4.98749 6.41247 5.04998 6.3531 5.12186 6.3156L6.24998 5.68435C6.81561 5.36872 7.04685 4.67185 6.78123 4.08123L6.60935 3.69374C6.34061 3.09374 5.64998 2.80311 5.03124 3.03436L4.94999 3.06561C4.63749 3.18123 4.66874 3.08437 4.39999 2.88749L3.96874 2.90311C2.39999 3.68749 1.92187 4.98436 1.6 6.48748L1.64375 6.63435ZM16 7.99998C16 10.1217 15.1571 12.1566 13.6568 13.6568C12.1565 15.1571 10.1217 16 7.99998 16C5.87825 16 3.84343 15.1571 2.34314 13.6568C0.842852 12.1566 0 10.1217 0 7.99998C0 5.87825 0.842852 3.84342 2.34314 2.34314C3.84343 0.842851 5.87825 0 7.99998 0C10.1217 0 12.1565 0.842851 13.6568 2.34314C15.1571 3.84342 16 5.87825 16 7.99998ZM11.4843 5.12185C11.55 4.8531 11.3875 4.58123 11.1218 4.5156L10.1218 4.2656C9.8531 4.19998 9.58122 4.36248 9.5156 4.6281C9.44997 4.89373 9.61247 5.16872 9.8781 5.23435L10.8781 5.48435C11.1468 5.54997 11.4187 5.38747 11.4843 5.12185ZM8.60935 5.74685C8.67497 5.4781 8.51248 5.20622 8.24685 5.1406C7.98123 5.07498 7.70623 5.23747 7.6406 5.5031L7.3906 6.5031C7.32498 6.77184 7.48748 7.04373 7.7531 7.10935C8.01873 7.17497 8.29373 7.01247 8.35935 6.74685L8.60935 5.74685Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M2.45522 6.05254C2.59366 6.24051 2.35423 6.2781 2.22966 6.2781C2.10509 6.2781 2.0041 6.17711 2.0041 6.05254C2.0041 5.92797 2.10509 5.67661 2.22966 5.67661C2.35423 5.67661 2.45522 5.92797 2.45522 6.05254Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M4.20498 11.8559C4.62113 11.3337 5.57024 10.0682 5.57024 9.35736C5.57024 8.49526 4.87261 7.79579 4.01273 7.79579C3.15285 7.79579 2.45522 8.49526 2.45522 9.35736C2.45522 10.0682 3.40433 11.3337 3.82047 11.8559C3.92025 11.9803 4.10521 11.9803 4.20498 11.8559ZM4.01273 8.83684C4.15042 8.83684 4.28247 8.89168 4.37984 8.98929C4.4772 9.08691 4.5319 9.21931 4.5319 9.35736C4.5319 9.49541 4.4772 9.62781 4.37984 9.72542C4.28247 9.82304 4.15042 9.87788 4.01273 9.87788C3.87504 9.87788 3.74298 9.82304 3.64562 9.72542C3.54826 9.62781 3.49356 9.49541 3.49356 9.35736C3.49356 9.21931 3.54826 9.08691 3.64562 8.98929C3.74298 8.89168 3.87504 8.83684 4.01273 8.83684Z\"\r\n fill=\"#667085\" />\r\n <path\r\n d=\"M13.0419 10.2943C13.9436 9.11946 16 6.27207 16 4.6727C16 2.73295 14.4884 1.1592 12.6253 1.1592C10.7623 1.1592 9.25074 2.73295 9.25074 4.6727C9.25074 6.27207 11.3071 9.11946 12.2088 10.2943C12.425 10.5743 12.8257 10.5743 13.0419 10.2943ZM12.6253 3.50153C12.9237 3.50153 13.2098 3.62492 13.4207 3.84456C13.6317 4.06419 13.7502 4.36208 13.7502 4.6727C13.7502 4.98331 13.6317 5.2812 13.4207 5.50083C13.2098 5.72047 12.9237 5.84386 12.6253 5.84386C12.327 5.84386 12.0409 5.72047 11.8299 5.50083C11.619 5.2812 11.5005 4.98331 11.5005 4.6727C11.5005 4.36208 11.619 4.06419 11.8299 3.84456C12.0409 3.62492 12.327 3.50153 12.6253 3.50153Z\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n \r\n </div>\r\n \r\n</div>\r\n\r\n<div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage/traffic\">REPORTS\r\n </span>\r\n \r\n </span>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage\">MANAGE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_brands_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/brands.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_overview_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/overview.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_stores_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_tickets_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_audit_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/audit.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.settings_paymentSubscriptions_isView || (gs.userAccess | async)?.settings_activityLog_isView || (gs.userAccess | async)?.settings_brandDetails_isView || (gs.userAccess | async)?.settings_configuration_isView || (gs.userAccess | async)?.settings_contactDirectory_isView || (gs.userAccess | async)?.settings_documents_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/settings.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/billing.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/tickets\">MY WORKSPACE\r\n </span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/tickets/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div> -->\r\n\r\n\r\n\r\n\r\n\r\n <!-- Tango Traffic -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView && clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_traffic.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Traffic</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Zone -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_zone.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Zone</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Revop -->\r\n <!-- <div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_revop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Home\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Tagging\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Pending Action\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Customer Profile\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Control Center -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_controlCenter_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/control_center.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Control Center\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Live & Playback\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Screen Manager\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Store Explore\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Tango SOP -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoSop_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_sop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango SOP\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Dashboard\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Create & Manage\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Flag\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Incidents\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n", styles: [".menu-bullet-dot span{display:inline-block;width:6px;height:6px;background-color:#000;border-radius:50%;margin-right:10px;vertical-align:middle}:host::ng-deep .menu-sub .menu-sub-accordion{border-left:2px solid #98A2B3!important}::ng-deep .app-sidebar .menu .menu-item .menu-link.active .menu-title{color:#f5f5f5!important;border-radius:8px!important;border:1px solid var(--text-primary, #FFF)!important;padding:8px!important;color:var(--Primary-500, #33B5FF)!important;font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link .menu-title{font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link.active{transition:color .2s ease;background-color:#0d0e12!important}\n"] }]
|
|
4118
4267
|
}], ctorParameters: () => [{ type: AuthService }, { type: i1$1.GlobalStateService }, { type: i1.Router }] });
|
|
4119
4268
|
|
|
4120
4269
|
class SidebarFooterComponent {
|
|
@@ -4212,7 +4361,7 @@ class SidebarFooterComponent {
|
|
|
4212
4361
|
});
|
|
4213
4362
|
}
|
|
4214
4363
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarFooterComponent, deps: [{ token: AuthService }, { token: i1.Router }, { token: i1$1.LayoutService }, { token: i1$1.PageInfoService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
4215
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarFooterComponent, selector: "lib-sidebar-footer", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState", userValuefooter: "userValuefooter" }, ngImport: i0, template: "<div class=\"container-with-overflow\">\r\n <div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"false\" data-kt-scroll-activate=\"false\"\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 <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 <div class=\"menu-item menu-accordion w-100 px-3\" id=\"#kt_app_sidebar_menu\" [ngClass]=\"{'active': isSubMenuActive}\"\r\n data-kt-menu-trigger=\"click\" (mouseover)=\"setArrowDirection(true)\"\r\n (mouseleave)=\"setArrowDirection(false)\" >\r\n <span class=\"menu-link without-sub\">\r\n <span class=\"menu-icon\">\r\n <img class=\"img-src\" *ngIf=\"userProfileData?.userProfile\" (error)=\"userProfileData.userProfile = null\" [src]=\"userProfileData?.userProfile ? userProfileData?.userProfile :'./assets/tango/Images/userProfile.svg'\" alt=\"Profile Image\">\r\n <img class=\"img-src\" *ngIf=\"!userProfileData?.userProfile\" src=\"assets/tango/Images/userProfile.svg\">\r\n </span>\r\n <span class=\"menu-title overflow-hidden ms-2\" data-link=\"/crafted/account\">{{ userValue.userName | titlecase}}<br>\r\n {{ userValue.email | titlecase}}</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" #accordion [class.show]=\"isSubMenuActive\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\"\r\n routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" (click)=\"profileUrl()\" >\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\r\n 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\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n 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\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">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\"\r\n 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\"\r\n fill=\"#D0D5DD\" />\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n 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\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">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\" (click)=\"logout()\" 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\r\n 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\"\r\n 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\"\r\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">Logout</span>\r\n </a>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", 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{transition:max-height .3s ease-out}.menu-sub:not(.show){max-height:0;overflow:hidden}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}.img-src{width:40px;height:40px;border-radius:30px}\n"], dependencies: [{ kind: "directive", type:
|
|
4364
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarFooterComponent, selector: "lib-sidebar-footer", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState", userValuefooter: "userValuefooter" }, ngImport: i0, template: "<div class=\"container-with-overflow\">\r\n <div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"false\" data-kt-scroll-activate=\"false\"\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 <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 <div class=\"menu-item menu-accordion w-100 px-3\" id=\"#kt_app_sidebar_menu\" [ngClass]=\"{'active': isSubMenuActive}\"\r\n data-kt-menu-trigger=\"click\" (mouseover)=\"setArrowDirection(true)\"\r\n (mouseleave)=\"setArrowDirection(false)\" >\r\n <span class=\"menu-link without-sub\">\r\n <span class=\"menu-icon\">\r\n <img class=\"img-src\" *ngIf=\"userProfileData?.userProfile\" (error)=\"userProfileData.userProfile = null\" [src]=\"userProfileData?.userProfile ? userProfileData?.userProfile :'./assets/tango/Images/userProfile.svg'\" alt=\"Profile Image\">\r\n <img class=\"img-src\" *ngIf=\"!userProfileData?.userProfile\" src=\"assets/tango/Images/userProfile.svg\">\r\n </span>\r\n <span class=\"menu-title overflow-hidden ms-2\" data-link=\"/crafted/account\">{{ userValue.userName | titlecase}}<br>\r\n {{ userValue.email | titlecase}}</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" #accordion [class.show]=\"isSubMenuActive\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\"\r\n routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" (click)=\"profileUrl()\" >\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\r\n 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\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n 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\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">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\"\r\n 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\"\r\n fill=\"#D0D5DD\" />\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n 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\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">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\" (click)=\"logout()\" 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\r\n 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\"\r\n 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\"\r\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title overflow-hidden\">Logout</span>\r\n </a>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", 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{transition:max-height .3s ease-out}.menu-sub:not(.show){max-height:0;overflow:hidden}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}.img-src{width:40px;height:40px;border-radius:30px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }] });
|
|
4216
4365
|
}
|
|
4217
4366
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarFooterComponent, decorators: [{
|
|
4218
4367
|
type: Component,
|
|
@@ -4685,7 +4834,7 @@ class LayoutComponent {
|
|
|
4685
4834
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
4686
4835
|
}
|
|
4687
4836
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutComponent, deps: [{ token: i1$1.LayoutInitService }, { token: i1$1.LayoutService }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: AuthService }, { token: ToastService }, { token: i1$1.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4688
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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:
|
|
4837
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.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: FooterComponent, selector: "lib-footer", inputs: ["appFooterContainerCSSClass"] }, { 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" }] });
|
|
4689
4838
|
}
|
|
4690
4839
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LayoutComponent, decorators: [{
|
|
4691
4840
|
type: Component,
|
|
@@ -4889,7 +5038,7 @@ class PaginationComponent {
|
|
|
4889
5038
|
this.pageSizeChange.emit(this.pageSize);
|
|
4890
5039
|
}
|
|
4891
5040
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4892
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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: "<div class=\"container d-flex justify-content-center\">\r\n <div class=\"mt-4 text-center\">\r\n <span class=\"sub-title me-3\">Displaying</span>\r\n <select class=\"border-val\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"onPageSizeChange($event)\" >\r\n <option value=\"{{ size }}\" *ngFor=\"let size of paginationSizes\" >{{ size }}</option>\r\n <!-- [disabled]=\"disableOption(size)\" -->\r\n </select>\r\n <span class=\"ms-3 sub-title\">out of {{ totalItems }} items</span>\r\n </div>\r\n \r\n <div class=\"text-center\">\r\n <ul>\r\n <li *ngFor=\"let item of collection | paginate: { id:instanceId, itemsPerPage: itemsPerPage, currentPage: currentPage, totalItems: totalItems }\">\r\n <!-- Your item template here -->\r\n </li>\r\n </ul>\r\n <pagination-controls \r\n (pageChange)=\"onPageChange($event); currentPage=$event;\" \r\n [id]=\"instanceId\"\r\n [directionLinks]=\"directionLinks\"\r\n [maxSize]=\"7\"\r\n [responsive]=\"true\">\r\n </pagination-controls>\r\n </div>\r\n </div>\r\n ", styles: ["::ng-deep .ngx-pagination .current{padding:12px!important;background:#eaf8ff!important;cursor:default;color:#00a3ff!important;min-width:50px!important;max-width:auto!important;height:45px;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 a:hover,.ngx-pagination button:hover{background:#e6e6e6;padding:12px!important;min-width:50px!important;max-width:auto!important;height:45px;border-radius:8px;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:
|
|
5041
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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: "<div class=\"container d-flex justify-content-center\">\r\n <div class=\"mt-4 text-center\">\r\n <span class=\"sub-title me-3\">Displaying</span>\r\n <select class=\"border-val\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"onPageSizeChange($event)\" >\r\n <option value=\"{{ size }}\" *ngFor=\"let size of paginationSizes\" >{{ size }}</option>\r\n <!-- [disabled]=\"disableOption(size)\" -->\r\n </select>\r\n <span class=\"ms-3 sub-title\">out of {{ totalItems }} items</span>\r\n </div>\r\n \r\n <div class=\"text-center\">\r\n <ul>\r\n <li *ngFor=\"let item of collection | paginate: { id:instanceId, itemsPerPage: itemsPerPage, currentPage: currentPage, totalItems: totalItems }\">\r\n <!-- Your item template here -->\r\n </li>\r\n </ul>\r\n <pagination-controls \r\n (pageChange)=\"onPageChange($event); currentPage=$event;\" \r\n [id]=\"instanceId\"\r\n [directionLinks]=\"directionLinks\"\r\n [maxSize]=\"7\"\r\n [responsive]=\"true\">\r\n </pagination-controls>\r\n </div>\r\n </div>\r\n ", styles: ["::ng-deep .ngx-pagination .current{padding:12px!important;background:#eaf8ff!important;cursor:default;color:#00a3ff!important;min-width:50px!important;max-width:auto!important;height:45px;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 a:hover,.ngx-pagination button:hover{background:#e6e6e6;padding:12px!important;min-width:50px!important;max-width:auto!important;height:45px;border-radius:8px;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: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$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" }] });
|
|
4893
5042
|
}
|
|
4894
5043
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
4895
5044
|
type: Component,
|
|
@@ -5074,7 +5223,7 @@ class FiltersComponent {
|
|
|
5074
5223
|
this.appliedFilters.emit(this.responseArray);
|
|
5075
5224
|
}
|
|
5076
5225
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FiltersComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5077
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FiltersComponent, selector: "lib-filters", inputs: { dataObject: "dataObject" }, outputs: { appliedFilters: "appliedFilters" }, 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 <div class=\"card p-5 dropdown1 position-absolute z-1 end-0\" style=\"z-index: 1 !important;\" *ngIf=\"Opendropdown\">\r\n <div class=\"dropdown-title d-flex justify-content-between\">Filter Options\r\n <!-- <div class=\"text-end\"> -->\r\n <button class=\"btn btn-outline w-25 ms-3 btn-resize\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 btn-resize\" (click)=\"Apply()\">Apply</button>\r\n <!-- </div> -->\r\n </div>\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 *ngIf=\"item.type !== 'single'\">\r\n <div class=\"dropdown form-select position-relative d-flex justify-content-between cursor-pointer\" (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>{{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 cursor-pointer\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\" [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox($event,'Select All', i,0)\">\r\n <label class=\"form-check-label cursor-pointer 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)]=\"dataObject[i].selectedValue\" (input)=\"searchData($event,i)\" [id]=\"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;let j=index\" class=\"form-check d-flex align-items-center py-3 pt-3 ps-0 mt-2 \">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.text\" id=\"option{{issue.text}}\" [checked]=\"issue.checked\"\r\n (change)=\"toggleCheckbox($event,issue.text,i,j)\">\r\n <label class=\"form-check-label cursor-pointer 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 <div *ngIf=\"item.type === 'single'\" class=\"position-relative w-100\">\r\n <button type=\"button\" (click)=\"openDropdown($event,i)\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between\"> {{selectedValuesArray[i]?.text ? selectedValuesArray[i]?.text : item.Description}}\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"item.isOpen\" class=\"card py-1 w-100 dropdown-single position-absolute z-1 top-50px end-0\">\r\n <ul *ngFor=\"let item of item.Issues; let j = index\" class=\"list-unstyled\">\r\n <li [ngClass]=\"selectedValuesArray[i]?.text === item.text ? 'active' : ''\" class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem($event,i,j)\">{{item.text}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\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>", styles: [".dropdown1{position:absolute;top:70px;min-width:270px!important}.dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:14px;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 .items:hover,.dropdown1 .tems.focus,.dropdown1 .items.active,.dropdown1 .camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.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}::ng-deep .dropdown1{z-index:1!important}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:1px!important}.dropdown-single{z-index:1;padding:10px;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;min-height:auto;max-height:200px;overflow:auto}.dropdown-single label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px;text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type:
|
|
5226
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FiltersComponent, selector: "lib-filters", inputs: { dataObject: "dataObject" }, outputs: { appliedFilters: "appliedFilters" }, 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 <div class=\"card p-5 dropdown1 position-absolute z-1 end-0\" style=\"z-index: 1 !important;\" *ngIf=\"Opendropdown\">\r\n <div class=\"dropdown-title d-flex justify-content-between\">Filter Options\r\n <!-- <div class=\"text-end\"> -->\r\n <button class=\"btn btn-outline w-25 ms-3 btn-resize\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 btn-resize\" (click)=\"Apply()\">Apply</button>\r\n <!-- </div> -->\r\n </div>\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 *ngIf=\"item.type !== 'single'\">\r\n <div class=\"dropdown form-select position-relative d-flex justify-content-between cursor-pointer\" (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>{{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 cursor-pointer\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\" [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox($event,'Select All', i,0)\">\r\n <label class=\"form-check-label cursor-pointer 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)]=\"dataObject[i].selectedValue\" (input)=\"searchData($event,i)\" [id]=\"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;let j=index\" class=\"form-check d-flex align-items-center py-3 pt-3 ps-0 mt-2 \">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.text\" id=\"option{{issue.text}}\" [checked]=\"issue.checked\"\r\n (change)=\"toggleCheckbox($event,issue.text,i,j)\">\r\n <label class=\"form-check-label cursor-pointer 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 <div *ngIf=\"item.type === 'single'\" class=\"position-relative w-100\">\r\n <button type=\"button\" (click)=\"openDropdown($event,i)\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between\"> {{selectedValuesArray[i]?.text ? selectedValuesArray[i]?.text : item.Description}}\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"item.isOpen\" class=\"card py-1 w-100 dropdown-single position-absolute z-1 top-50px end-0\">\r\n <ul *ngFor=\"let item of item.Issues; let j = index\" class=\"list-unstyled\">\r\n <li [ngClass]=\"selectedValuesArray[i]?.text === item.text ? 'active' : ''\" class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem($event,i,j)\">{{item.text}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\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>", styles: [".dropdown1{position:absolute;top:70px;min-width:270px!important}.dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:14px;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 .items:hover,.dropdown1 .tems.focus,.dropdown1 .items.active,.dropdown1 .camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.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}::ng-deep .dropdown1{z-index:1!important}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:1px!important}.dropdown-single{z-index:1;padding:10px;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;min-height:auto;max-height:200px;overflow:auto}.dropdown-single label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px;text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$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: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
5078
5227
|
}
|
|
5079
5228
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FiltersComponent, decorators: [{
|
|
5080
5229
|
type: Component,
|
|
@@ -5880,12 +6029,17 @@ const Routing = [
|
|
|
5880
6029
|
},
|
|
5881
6030
|
{
|
|
5882
6031
|
path: 'explore',
|
|
5883
|
-
loadChildren: () => import('./tango-app-ui-shared-intro.module-
|
|
6032
|
+
loadChildren: () => import('./tango-app-ui-shared-intro.module-0F5I6zgS.mjs').then((m) => m.IntroModule),
|
|
5884
6033
|
},
|
|
5885
6034
|
{
|
|
5886
6035
|
path: 'notifications',
|
|
5887
|
-
loadChildren: () => import('./tango-app-ui-shared-notification.module-
|
|
6036
|
+
loadChildren: () => import('./tango-app-ui-shared-notification.module-DrHpMc3M.mjs').then((m) => m.NotificationModule),
|
|
5888
6037
|
},
|
|
6038
|
+
// {
|
|
6039
|
+
// path: 'analyse',
|
|
6040
|
+
// loadChildren: () => import('./route-wraper-modules/analyse-wrapper.module').then((m) => m.AnalyseWrapperModule),
|
|
6041
|
+
// // canActivate:[leadGuard]
|
|
6042
|
+
// },
|
|
5889
6043
|
{
|
|
5890
6044
|
path: '',
|
|
5891
6045
|
redirectTo: '/manage',
|
|
@@ -5978,7 +6132,7 @@ class NotificationsInnerComponent {
|
|
|
5978
6132
|
this.router.navigate(['/notifications/alerts']);
|
|
5979
6133
|
}
|
|
5980
6134
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationsInnerComponent, deps: [{ token: i1.Router }, { token: NotificationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5981
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NotificationsInnerComponent, selector: "lib-notifications-inner", host: { properties: { "class": "this.class", "attr.data-kt-menu": "this.dataKtMenu" } }, ngImport: i0, template: "<div class=\"card topbar\" >\r\n <div class=\"card-header\">\r\n <h3 class=\"title-notify mt-10 mb-6\">\r\n Notifications\r\n </h3>\r\n </div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"alertscroll\" *ngIf=\"notification.length\">\r\n <div *ngFor=\"let item of notification\" class=\"mh-300px ng-star-inserted\" style=\"overflow: auto;\">\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\"><div class=\"alert-title\">{{ item._source.logType }}</div>\r\n <div class=\"alt-desc\">{{ item._source.logSubType }}</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">{{ item._source.date|customDateFormat }}</span>\r\n\r\n \r\n </div>\r\n \r\n </div>\r\n <div class=\"text-center border-top\">\r\n <a (click)=\"viewAll('alerts')\" class=\"btn btn-color-gray-600 btn-active-color-primary mt-4\">\r\n View All\r\n </a>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<!-- <div class=\"d-flex flex-column bgi-no-repeat rounded-top\">\r\n <ul class=\"nav nav-line-tabs nav-line-tabs-2x nav-stretch border-0 fw-bold px-9\">\r\n <li class=\"nav-item w-50 text-center\">\r\n <a class=\"nav-link w-100 opacity-75 opacity-state-100 pb-4 cursor-pointer d-block text-center\"\r\n data-bs-toggle=\"tab\" [ngClass]=\"activeTabId === 'alerts' ? 'active' : ''\" (click)=\"setActiveTabId('alerts')\">\r\n Alerts\r\n </a>\r\n </li>\r\n\r\n\r\n <li class=\"nav-item w-50 text-center\">\r\n <a class=\"\r\n nav-link d-block text-center\r\n text-white w-100\r\n opacity-75 opacity-state-100\r\n pb-4\r\n cursor-pointer\r\n \" data-bs-toggle=\"tab\" [ngClass]=\"activeTabId === 'download' ? 'active' : ''\"\r\n (click)=\"setActiveTabId('download')\">\r\n Download\r\n </a>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n\r\n<!-- <div class=\"tab-content\">\r\n <div class=\"tab-pane fade\" id=\"alerts\" role=\"tabpanel\" [ngClass]=\"activeTabId === 'alerts' ? 'show active' : ''\">\r\n <div>\r\n <div class=\"mh-300px ng-star-inserted\" style=\"overflow: auto;\">\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\"><div class=\"alert-title\">User Added</div>\r\n <div class=\"alt-desc\">rock has been successfully onboarde...</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">28 May</span>\r\n </div>\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\"><div class=\"alert-title\">User Added</div>\r\n <div class=\"alt-desc\">rock has been successfully onboarde...</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">28 May</span>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n\r\n <div class=\"py-3 text-center border-top\">\r\n <a (click)=\"viewAll('alerts')\" class=\"btn btn-color-gray-600 btn-active-color-primary\">\r\n View All\r\n\r\n </a>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"tab-pane fade\" id=\"download\" role=\"tabpanel\" [ngClass]=\"activeTabId === 'download' ? 'show active' : ''\">\r\n <div class=\"scroll-y mh-400px my-5 px-5\">\r\n <div class=\"d-flex flex-stack py-4\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"me-3\">\r\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <g clip-path=\"url(#clip0_9019_100928)\">\r\n <path\r\n d=\"M16.0007 18.6667V16M16.0007 13.3334H16.0073M22.6673 16C22.6673 19.6819 19.6826 22.6667 16.0007 22.6667C12.3188 22.6667 9.33398 19.6819 9.33398 16C9.33398 12.3181 12.3188 9.33337 16.0007 9.33337C19.6826 9.33337 22.6673 12.3181 22.6673 16Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_9019_100928\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(8 8)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <div class=\"mb-0 me-2\">\r\n\r\n <div class=\"title-desc\">Invited <span class=\"title-name\">Lana Steiner</span> to the team</div>\r\n </div>\r\n </div>\r\n\r\n <span class=\"fs-8\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\"\r\n fill=\"none\">\r\n <circle cx=\"5\" cy=\"5\" r=\"4\" fill=\"#12B76A\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"py-3 text-center border-top\">\r\n <a (click)=\"viewAll('download')\" class=\"btn btn-color-gray-600 btn-active-color-primary\">\r\n View All\r\n\r\n </a>\r\n </div>\r\n </div>\r\n</div> -->\r\n", styles: [".nav-line-tabs .nav-item .nav-link.active{border-radius:6px!important;background:var(--Primary-50, #EAF8FF)!important;padding:10px 14px!important;border-bottom:none!important;width:100%!important}.nav-line-tabs.nav-line-tabs-2x{background:var(--Gray-50, #F9FAFB)!important;padding:6px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.title-name{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:500!important;line-height:20px}.title-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.title-notify{color:var(--Gray-900, #101828)!important;font-size:20px!important;font-weight:500!important;line-height:30px}.alert-title{color:var(--Gray-900, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:28px;text-align:left}.alt-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alertscroll{max-height:300px;overflow:scroll}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.notificationAlign{color:var(--Gray-900, #101828);text-align:center;font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.noNotification{color:var(--Gray-500, #667085);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}\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: "pipe", type: CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
6135
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NotificationsInnerComponent, selector: "lib-notifications-inner", host: { properties: { "class": "this.class", "attr.data-kt-menu": "this.dataKtMenu" } }, ngImport: i0, template: "<div class=\"card topbar\" >\r\n <div class=\"card-header\">\r\n <h3 class=\"title-notify mt-10 mb-6\">\r\n Notifications\r\n </h3>\r\n </div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"alertscroll\" *ngIf=\"notification.length\">\r\n <div *ngFor=\"let item of notification\" class=\"mh-300px ng-star-inserted\" style=\"overflow: auto;\">\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\"><div class=\"alert-title\">{{ item._source.logType }}</div>\r\n <div class=\"alt-desc\">{{ item._source.logSubType }}</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">{{ item._source.date|customDateFormat }}</span>\r\n\r\n \r\n </div>\r\n \r\n </div>\r\n <div class=\"text-center border-top\">\r\n <a (click)=\"viewAll('alerts')\" class=\"btn btn-color-gray-600 btn-active-color-primary mt-4\">\r\n View All\r\n </a>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<!-- <div class=\"d-flex flex-column bgi-no-repeat rounded-top\">\r\n <ul class=\"nav nav-line-tabs nav-line-tabs-2x nav-stretch border-0 fw-bold px-9\">\r\n <li class=\"nav-item w-50 text-center\">\r\n <a class=\"nav-link w-100 opacity-75 opacity-state-100 pb-4 cursor-pointer d-block text-center\"\r\n data-bs-toggle=\"tab\" [ngClass]=\"activeTabId === 'alerts' ? 'active' : ''\" (click)=\"setActiveTabId('alerts')\">\r\n Alerts\r\n </a>\r\n </li>\r\n\r\n\r\n <li class=\"nav-item w-50 text-center\">\r\n <a class=\"\r\n nav-link d-block text-center\r\n text-white w-100\r\n opacity-75 opacity-state-100\r\n pb-4\r\n cursor-pointer\r\n \" data-bs-toggle=\"tab\" [ngClass]=\"activeTabId === 'download' ? 'active' : ''\"\r\n (click)=\"setActiveTabId('download')\">\r\n Download\r\n </a>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n\r\n<!-- <div class=\"tab-content\">\r\n <div class=\"tab-pane fade\" id=\"alerts\" role=\"tabpanel\" [ngClass]=\"activeTabId === 'alerts' ? 'show active' : ''\">\r\n <div>\r\n <div class=\"mh-300px ng-star-inserted\" style=\"overflow: auto;\">\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\"><div class=\"alert-title\">User Added</div>\r\n <div class=\"alt-desc\">rock has been successfully onboarde...</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">28 May</span>\r\n </div>\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\"><div class=\"alert-title\">User Added</div>\r\n <div class=\"alt-desc\">rock has been successfully onboarde...</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">28 May</span>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n\r\n <div class=\"py-3 text-center border-top\">\r\n <a (click)=\"viewAll('alerts')\" class=\"btn btn-color-gray-600 btn-active-color-primary\">\r\n View All\r\n\r\n </a>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"tab-pane fade\" id=\"download\" role=\"tabpanel\" [ngClass]=\"activeTabId === 'download' ? 'show active' : ''\">\r\n <div class=\"scroll-y mh-400px my-5 px-5\">\r\n <div class=\"d-flex flex-stack py-4\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"me-3\">\r\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <g clip-path=\"url(#clip0_9019_100928)\">\r\n <path\r\n d=\"M16.0007 18.6667V16M16.0007 13.3334H16.0073M22.6673 16C22.6673 19.6819 19.6826 22.6667 16.0007 22.6667C12.3188 22.6667 9.33398 19.6819 9.33398 16C9.33398 12.3181 12.3188 9.33337 16.0007 9.33337C19.6826 9.33337 22.6673 12.3181 22.6673 16Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_9019_100928\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(8 8)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <div class=\"mb-0 me-2\">\r\n\r\n <div class=\"title-desc\">Invited <span class=\"title-name\">Lana Steiner</span> to the team</div>\r\n </div>\r\n </div>\r\n\r\n <span class=\"fs-8\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\"\r\n fill=\"none\">\r\n <circle cx=\"5\" cy=\"5\" r=\"4\" fill=\"#12B76A\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"py-3 text-center border-top\">\r\n <a (click)=\"viewAll('download')\" class=\"btn btn-color-gray-600 btn-active-color-primary\">\r\n View All\r\n\r\n </a>\r\n </div>\r\n </div>\r\n</div> -->\r\n", styles: [".nav-line-tabs .nav-item .nav-link.active{border-radius:6px!important;background:var(--Primary-50, #EAF8FF)!important;padding:10px 14px!important;border-bottom:none!important;width:100%!important}.nav-line-tabs.nav-line-tabs-2x{background:var(--Gray-50, #F9FAFB)!important;padding:6px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.title-name{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:500!important;line-height:20px}.title-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.title-notify{color:var(--Gray-900, #101828)!important;font-size:20px!important;font-weight:500!important;line-height:30px}.alert-title{color:var(--Gray-900, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:28px;text-align:left}.alt-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alertscroll{max-height:300px;overflow:scroll}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.notificationAlign{color:var(--Gray-900, #101828);text-align:center;font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.noNotification{color:var(--Gray-500, #667085);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
5982
6136
|
}
|
|
5983
6137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationsInnerComponent, decorators: [{
|
|
5984
6138
|
type: Component,
|
|
@@ -6144,6 +6298,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
6144
6298
|
args: [{ selector: 'lib-error403', template: "<!--begin::Title-->\r\n<h1 class=\"fw-bolder fs-2hx text-gray-900 mb-4\">\r\n !Forbidden\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 We can't find that page.\r\n </div>\r\n <!--end::Text-->\r\n \r\n <!--begin::Illustration-->\r\n <div class=\"mb-3\">\r\n <img src=\"./assets/media/auth/404-error.png\" class=\"mw-100 mh-300px theme-light-show\" alt=\"\" />\r\n <img src=\"./assets/media/auth/404-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 routerLink=\"/manage/brands\" class=\"btn btn-sm btn-primary\">Return Home</a>\r\n </div>\r\n <!--end::Link-->\r\n " }]
|
|
6145
6299
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1$1.ThemeModeService }] });
|
|
6146
6300
|
|
|
6301
|
+
class InvalidIpComponent {
|
|
6302
|
+
router;
|
|
6303
|
+
modeService;
|
|
6304
|
+
authService;
|
|
6305
|
+
unsubscribe = [];
|
|
6306
|
+
constructor(router, modeService, authService) {
|
|
6307
|
+
this.router = router;
|
|
6308
|
+
this.modeService = modeService;
|
|
6309
|
+
this.authService = authService;
|
|
6310
|
+
}
|
|
6311
|
+
ngOnInit() {
|
|
6312
|
+
// const subscr = this.modeService.mode.asObservable().subscribe((mode) => {
|
|
6313
|
+
// document.body.style.backgroundImage =
|
|
6314
|
+
// mode === 'dark'
|
|
6315
|
+
// ? 'url(./assets/media/auth/bg1-dark.jpg)'
|
|
6316
|
+
// : 'url(./assets/media/auth/bg1.jpg)';
|
|
6317
|
+
// });
|
|
6318
|
+
// this.unsubscribe.push(subscr);
|
|
6319
|
+
this.getProfile();
|
|
6320
|
+
}
|
|
6321
|
+
ngOnDestroy() {
|
|
6322
|
+
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
6323
|
+
document.body.style.backgroundImage = 'none';
|
|
6324
|
+
}
|
|
6325
|
+
getProfile() {
|
|
6326
|
+
this.unsubscribe.push(this.authService.userProfileDet().subscribe((res) => {
|
|
6327
|
+
if (res?.data?.result !== 'RESTRICTED-IP') {
|
|
6328
|
+
this.router.navigate(['/manage']);
|
|
6329
|
+
}
|
|
6330
|
+
}));
|
|
6331
|
+
}
|
|
6332
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InvalidIpComponent, deps: [{ token: i1.Router }, { token: i1$1.ThemeModeService }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6333
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InvalidIpComponent, selector: "lib-invalid-ip", ngImport: i0, template: "\r\n \r\n <!--begin::Illustration-->\r\n <div class=\"mb-8\">\r\n <img src=\"./assets/media/auth/invalid-ip-error.png\" class=\"mw-100 mh-300px theme-light-show\" alt=\"\" />\r\n <img src=\"./assets/media/auth/invalid-ip-error.png\" class=\"mw-100 mh-300px theme-dark-show\" alt=\"\" />\r\n </div>\r\n <!--end::Illustration-->\r\n \r\n \r\n <!--begin::Text-->\r\n <div class=\"fw-semibold fs-6 text-gray-500 mb-7\">\r\n Your IP address is not whitelisted. Please connect to an authorized network or contact your administrator to whitelist your IP address.\r\n </div>\r\n <!--end::Text-->\r\n ", styles: [""] });
|
|
6334
|
+
}
|
|
6335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InvalidIpComponent, decorators: [{
|
|
6336
|
+
type: Component,
|
|
6337
|
+
args: [{ selector: 'lib-invalid-ip', template: "\r\n \r\n <!--begin::Illustration-->\r\n <div class=\"mb-8\">\r\n <img src=\"./assets/media/auth/invalid-ip-error.png\" class=\"mw-100 mh-300px theme-light-show\" alt=\"\" />\r\n <img src=\"./assets/media/auth/invalid-ip-error.png\" class=\"mw-100 mh-300px theme-dark-show\" alt=\"\" />\r\n </div>\r\n <!--end::Illustration-->\r\n \r\n \r\n <!--begin::Text-->\r\n <div class=\"fw-semibold fs-6 text-gray-500 mb-7\">\r\n Your IP address is not whitelisted. Please connect to an authorized network or contact your administrator to whitelist your IP address.\r\n </div>\r\n <!--end::Text-->\r\n " }]
|
|
6338
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i1$1.ThemeModeService }, { type: AuthService }] });
|
|
6339
|
+
|
|
6147
6340
|
const routes = [
|
|
6148
6341
|
{
|
|
6149
6342
|
path: '',
|
|
@@ -6161,6 +6354,10 @@ const routes = [
|
|
|
6161
6354
|
path: '500',
|
|
6162
6355
|
component: Error500Component,
|
|
6163
6356
|
},
|
|
6357
|
+
{
|
|
6358
|
+
path: '403-ip',
|
|
6359
|
+
component: InvalidIpComponent,
|
|
6360
|
+
},
|
|
6164
6361
|
{ path: '', redirectTo: '404', pathMatch: 'full' },
|
|
6165
6362
|
{ path: '**', redirectTo: '404', pathMatch: 'full' },
|
|
6166
6363
|
],
|
|
@@ -6184,7 +6381,8 @@ class ErrorsModule {
|
|
|
6184
6381
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ErrorsModule, declarations: [ErrorsComponent,
|
|
6185
6382
|
Error404Component,
|
|
6186
6383
|
Error500Component,
|
|
6187
|
-
Error403Component
|
|
6384
|
+
Error403Component,
|
|
6385
|
+
InvalidIpComponent], imports: [CommonModule,
|
|
6188
6386
|
ErrorsRoutingModule] });
|
|
6189
6387
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorsModule, imports: [CommonModule,
|
|
6190
6388
|
ErrorsRoutingModule] });
|
|
@@ -6196,7 +6394,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
6196
6394
|
ErrorsComponent,
|
|
6197
6395
|
Error404Component,
|
|
6198
6396
|
Error500Component,
|
|
6199
|
-
Error403Component
|
|
6397
|
+
Error403Component,
|
|
6398
|
+
InvalidIpComponent
|
|
6200
6399
|
],
|
|
6201
6400
|
imports: [
|
|
6202
6401
|
CommonModule,
|
|
@@ -6252,7 +6451,13 @@ class HttpAuthInterceptor {
|
|
|
6252
6451
|
Authorization: 'Bearer ' + user.authenticationToken
|
|
6253
6452
|
}
|
|
6254
6453
|
});
|
|
6255
|
-
return next.handle(request)
|
|
6454
|
+
return next.handle(request)
|
|
6455
|
+
.pipe(tap((response) => {
|
|
6456
|
+
if (response?.body?.data?.result === 'RESTRICTED-IP') {
|
|
6457
|
+
this.router.navigateByUrl('/error/403-ip');
|
|
6458
|
+
}
|
|
6459
|
+
}))
|
|
6460
|
+
.pipe(catchError((error) => {
|
|
6256
6461
|
if (error instanceof HttpErrorResponse && error.status === 401) {
|
|
6257
6462
|
// If the error is due to unauthorized access, try to refresh the token
|
|
6258
6463
|
return this.handle401Error(request, next);
|