tango-app-ui-shared 3.0.29-dev → 3.0.31-dev
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/guards/tickets.guard.mjs +2 -2
- package/esm2022/lib/interceptors/http-auth-interceptor.mjs +5 -5
- package/esm2022/lib/modules/intro/lead-intro/lead-intro.component.mjs +2 -1
- package/esm2022/lib/modules/layout/layout/layout.component.mjs +1 -18
- package/esm2022/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.mjs +26 -26
- package/esm2022/lib/modules/layout/toolbar/classic/classic.component.mjs +49 -31
- package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +25 -23
- package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +58 -34
- package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +26 -14
- package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +58 -22
- package/fesm2022/{tango-app-ui-shared-intro.module-DT8p6wBf.mjs → tango-app-ui-shared-intro.module-6XgiboVK.mjs} +2 -1
- package/fesm2022/tango-app-ui-shared-intro.module-6XgiboVK.mjs.map +1 -0
- package/fesm2022/tango-app-ui-shared.mjs +239 -165
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/lib/modules/layout/layout/layout.component.d.ts +0 -1
- package/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.d.ts +6 -2
- package/lib/modules/layout/toolbar/datepicker/datepicker.component.d.ts +7 -6
- package/lib/modules/layout/toolbar/toolbar.component.d.ts +1 -0
- package/package.json +1 -1
- package/fesm2022/tango-app-ui-shared-intro.module-DT8p6wBf.mjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Component, Input, HostBinding, HostListener, EventEmitter, ChangeDetectionStrategy, Output, ViewChild, NgModule, inject, Pipe } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/router';
|
|
4
|
-
import { NavigationEnd, NavigationCancel, ResolveEnd, Router, RouterModule } from '@angular/router';
|
|
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
7
|
import { throwError, map, catchError, takeUntil, Subject, take, BehaviorSubject, switchMap } from 'rxjs';
|
|
@@ -1792,8 +1792,9 @@ class ClassicComponent {
|
|
|
1792
1792
|
this.selectedFilters.date = headerFilters.date;
|
|
1793
1793
|
this.selectedDateRange = {
|
|
1794
1794
|
startDate: this.dayjs(headerFilters.date.startDate, "YYYY-MM-DD").format("DD-MM-YYYY"),
|
|
1795
|
-
endDate: this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY")
|
|
1795
|
+
endDate: this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY"),
|
|
1796
1796
|
};
|
|
1797
|
+
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
1797
1798
|
this.globalService.dataRangeValue.next(this.selectedFilters);
|
|
1798
1799
|
// this.cd.detectChanges();
|
|
1799
1800
|
}
|
|
@@ -1802,13 +1803,19 @@ class ClassicComponent {
|
|
|
1802
1803
|
this.toggleCheckbox("Select All", 0);
|
|
1803
1804
|
this.dummyArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1804
1805
|
this.responseArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1805
|
-
this.selectedDateRange.startDate = this.dayjs().format("YYYY-MM-DD");
|
|
1806
|
-
this.selectedDateRange.endDate = this.dayjs().format("YYYY-MM-DD");
|
|
1807
1806
|
const currentIssues = this.dummyArray[0].Issues.map((item) => item.clientId);
|
|
1808
1807
|
this.selectedFilters.clients = currentIssues;
|
|
1809
1808
|
this.selectedFilters.client = headerFilters.client;
|
|
1810
1809
|
this.selectedFilters.store = headerFilters.store;
|
|
1811
|
-
this.
|
|
1810
|
+
this.selectedDateRange = {
|
|
1811
|
+
startDate: this.dayjs().format("DD-MM-YYYY"),
|
|
1812
|
+
endDate: this.dayjs().format("DD-MM-YYYY"),
|
|
1813
|
+
};
|
|
1814
|
+
var datetime = {
|
|
1815
|
+
startDate: this.dayjs().format("YYYY-MM-DD"),
|
|
1816
|
+
endDate: this.dayjs().format("YYYY-MM-DD"),
|
|
1817
|
+
};
|
|
1818
|
+
this.selectedFilters.date = datetime;
|
|
1812
1819
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
1813
1820
|
this.globalService.dataRangeValue.next(this.selectedFilters);
|
|
1814
1821
|
}
|
|
@@ -1818,12 +1825,18 @@ class ClassicComponent {
|
|
|
1818
1825
|
this.toggleCheckbox("Select All", 0);
|
|
1819
1826
|
this.dummyArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1820
1827
|
this.responseArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1821
|
-
this.selectedDateRange.startDate = this.dayjs().format("YYYY-MM-DD");
|
|
1822
|
-
this.selectedDateRange.endDate = this.dayjs().format("YYYY-MM-DD");
|
|
1823
1828
|
const currentIssues = this.dummyArray[0].Issues.map((item) => item.clientId);
|
|
1824
1829
|
this.selectedFilters.clients = currentIssues;
|
|
1825
1830
|
this.selectedFilters.client = currentIssues[0];
|
|
1826
|
-
this.
|
|
1831
|
+
this.selectedDateRange = {
|
|
1832
|
+
startDate: this.dayjs().format("DD-MM-YYYY"),
|
|
1833
|
+
endDate: this.dayjs().format("DD-MM-YYYY"),
|
|
1834
|
+
};
|
|
1835
|
+
var datetime = {
|
|
1836
|
+
startDate: this.dayjs().format("YYYY-MM-DD"),
|
|
1837
|
+
endDate: this.dayjs().format("YYYY-MM-DD"),
|
|
1838
|
+
};
|
|
1839
|
+
this.selectedFilters.date = datetime;
|
|
1827
1840
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
1828
1841
|
this.globalService.dataRangeValue.next(this.selectedFilters);
|
|
1829
1842
|
this.cd.detectChanges();
|
|
@@ -1961,8 +1974,6 @@ class ClassicComponent {
|
|
|
1961
1974
|
: [];
|
|
1962
1975
|
});
|
|
1963
1976
|
this.selectedFilters.clients = this.responseArray[0].Issues;
|
|
1964
|
-
this.selectedFilters.date = this.selectedDateRange;
|
|
1965
|
-
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
1966
1977
|
this.globalService.dataRangeValue.next(this.selectedFilters);
|
|
1967
1978
|
this.cd.detectChanges();
|
|
1968
1979
|
}
|
|
@@ -1990,32 +2001,39 @@ class ClassicComponent {
|
|
|
1990
2001
|
}
|
|
1991
2002
|
datechange(event) {
|
|
1992
2003
|
if (event && event.startDate && event.endDate) {
|
|
1993
|
-
if (this.dayjs(event.startDate).isValid() &&
|
|
1994
|
-
this.
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
.
|
|
1999
|
-
.format("YYYY-MM-DD")
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
else {
|
|
2004
|
+
if (this.dayjs(event.startDate).isValid() &&
|
|
2005
|
+
this.dayjs(event.endDate).isValid()) {
|
|
2006
|
+
this.selectedDateRange.startDate = event.startDate;
|
|
2007
|
+
this.selectedDateRange.endDate = event.endDate;
|
|
2008
|
+
var datetime = {
|
|
2009
|
+
startDate: this.dayjs(event.startDate, "DD-MM-YYYY").format("YYYY-MM-DD"),
|
|
2010
|
+
endDate: this.dayjs(event.endDate, "DD-MM-YYYY").format("YYYY-MM-DD"),
|
|
2011
|
+
};
|
|
2012
|
+
this.selectedFilters.date = datetime;
|
|
2003
2013
|
}
|
|
2014
|
+
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2004
2015
|
}
|
|
2005
2016
|
else {
|
|
2006
2017
|
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2007
|
-
this.
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
}
|
|
2011
|
-
else {
|
|
2012
|
-
this.selectedDateRange = {
|
|
2013
|
-
startDate: dayjs().format("YYYY-MM-DD"),
|
|
2014
|
-
endDate: dayjs().format("YYYY-MM-DD")
|
|
2015
|
-
};
|
|
2016
|
-
}
|
|
2018
|
+
this.selectedDateRange.startDate = this.dayjs(headerFilters.date.startDate, "YYYY-MM-DD").format("DD-MM-YYYY");
|
|
2019
|
+
this.selectedDateRange.endDate = this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY");
|
|
2020
|
+
this.globalService.dataRangeValue.next(headerFilters);
|
|
2017
2021
|
}
|
|
2018
|
-
|
|
2022
|
+
// else {
|
|
2023
|
+
// const headerFilters: any = JSON.parse(
|
|
2024
|
+
// localStorage.getItem("header-filters") || "{}"
|
|
2025
|
+
// );
|
|
2026
|
+
// this.selectedFilters.date = headerFilters.date;
|
|
2027
|
+
// if(headerFilters.date?.startDate&&headerFilters.date?.endDate){
|
|
2028
|
+
// this.selectedDateRange = headerFilters.date;
|
|
2029
|
+
// }else{
|
|
2030
|
+
// this.selectedDateRange = {
|
|
2031
|
+
// startDate: dayjs().format("YYYY-MM-DD"),
|
|
2032
|
+
// endDate: dayjs().format("YYYY-MM-DD")
|
|
2033
|
+
// }
|
|
2034
|
+
// }
|
|
2035
|
+
// }
|
|
2036
|
+
// this.selectedFilters.date = this.selectedDateRange;
|
|
2019
2037
|
}
|
|
2020
2038
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassicComponent, deps: [{ token: i1$1.LayoutService }, { token: i1$1.GlobalStateService }, { token: AuthService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2021
2039
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ClassicComponent, selector: "lib-classic", host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"py-3 dropdown1 cursor-pointer\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select\" (click)=\"Dropdown('Clients',i,$event)\">\r\n <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ?\r\n selectedValuesArray[i]?.length + ' ' + 'Clients'.split(' ').pop() : 'Clients' }}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute\">\r\n <div class=\"form-check d-flex align-items-center pt-3 px-5\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\"\r\n [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-3\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n\r\n <div class=\"border border-gray mt-3\"></div>\r\n <div class=\"mt-3 d-flex align-items-center mx-2\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path\r\n d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\"\r\n stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\"\r\n class=\"form-control searchinput ps-14 py-2 mt-2\" placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 px-5\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.clientName\" id=\"option{{issue.clientId}}\"\r\n [checked]=\"selectedValuesArray[i]?.includes(issue.clientId)\" (change)=\"toggleCheckbox(issue.clientId,i)\">\r\n <label class=\"form-check-label px-3 cursor-pointer\" for=\"option{{issue.clientId}}\">\r\n {{ issue.clientName }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label 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\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>\r\n\r\n\r\n<!-- <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd \r\n [singleDatePicker]=\"true\"\r\n [drops]=\"'down'\"\r\n [opens]=\"'right'\"\r\n [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\"\r\n [showCancel]=\"true\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (selected)=\"onDateSelect($event)\"\r\n name=\"daterange\" /> -->\r\n\r\n<div class=\"btn btn-primary\" (click)=\"Apply()\">Apply</div>", styles: [".dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{z-index:1;padding:0;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;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 td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}.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: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.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"] }] });
|
|
@@ -2248,6 +2266,7 @@ class DatepickerComponent {
|
|
|
2248
2266
|
stores: [],
|
|
2249
2267
|
date: null,
|
|
2250
2268
|
};
|
|
2269
|
+
users;
|
|
2251
2270
|
constructor(layout, gs, service, cd) {
|
|
2252
2271
|
this.layout = layout;
|
|
2253
2272
|
this.gs = gs;
|
|
@@ -2258,69 +2277,92 @@ class DatepickerComponent {
|
|
|
2258
2277
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
2259
2278
|
}
|
|
2260
2279
|
ngOnInit() {
|
|
2280
|
+
if ("user-info" in localStorage) {
|
|
2281
|
+
const userData = JSON.parse(localStorage.getItem("user-info") || "{}");
|
|
2282
|
+
this.users = userData;
|
|
2283
|
+
}
|
|
2261
2284
|
if ("header-filters" in localStorage) {
|
|
2262
|
-
const headerFilters = JSON.parse(localStorage.getItem(
|
|
2285
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2286
|
+
this.selectedFilters.client = this.users.clientId;
|
|
2287
|
+
this.selectedFilters.clients = [this.users.clientId];
|
|
2263
2288
|
this.selectedFilters.date = headerFilters.date;
|
|
2264
2289
|
this.selectedDateRange = {
|
|
2265
2290
|
startDate: this.dayjs(headerFilters.date.startDate, "YYYY-MM-DD").format("DD-MM-YYYY"),
|
|
2266
|
-
endDate: this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY")
|
|
2291
|
+
endDate: this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY"),
|
|
2267
2292
|
};
|
|
2293
|
+
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2268
2294
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2269
2295
|
}
|
|
2270
2296
|
else {
|
|
2271
|
-
this.
|
|
2272
|
-
this.
|
|
2297
|
+
this.selectedFilters.client = this.users.clientId;
|
|
2298
|
+
this.selectedFilters.clients = [this.users.clientId];
|
|
2299
|
+
this.selectedDateRange = {
|
|
2300
|
+
startDate: this.dayjs().format("DD-MM-YYYY"),
|
|
2301
|
+
endDate: this.dayjs().format("DD-MM-YYYY"),
|
|
2302
|
+
};
|
|
2303
|
+
var datetime = {
|
|
2304
|
+
startDate: this.dayjs().format("YYYY-MM-DD"),
|
|
2305
|
+
endDate: this.dayjs().format("YYYY-MM-DD"),
|
|
2306
|
+
};
|
|
2307
|
+
this.selectedFilters.date = datetime;
|
|
2308
|
+
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2309
|
+
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2273
2310
|
}
|
|
2274
2311
|
}
|
|
2275
2312
|
ranges = {
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
this.dayjs().subtract(
|
|
2284
|
-
|
|
2313
|
+
Today: [this.dayjs(), this.dayjs()],
|
|
2314
|
+
Yesterday: [
|
|
2315
|
+
this.dayjs().subtract(1, "days"),
|
|
2316
|
+
this.dayjs().subtract(1, "days"),
|
|
2317
|
+
],
|
|
2318
|
+
"This Week": [this.dayjs().subtract(6, "days"), this.dayjs()],
|
|
2319
|
+
"Last Week": [
|
|
2320
|
+
this.dayjs().subtract(14, "days").startOf("days"),
|
|
2321
|
+
this.dayjs().subtract(8, "days").endOf("days"),
|
|
2322
|
+
],
|
|
2323
|
+
"This Month": [this.dayjs().startOf("month"), this.dayjs().endOf("month")],
|
|
2324
|
+
"Last Month": [
|
|
2325
|
+
this.dayjs().subtract(1, "month").startOf("month"),
|
|
2326
|
+
this.dayjs().subtract(1, "month").endOf("month"),
|
|
2327
|
+
],
|
|
2285
2328
|
};
|
|
2286
2329
|
onStartDateChange(event) {
|
|
2287
2330
|
if (this.dayjs(event.startDate).isValid()) {
|
|
2288
2331
|
this.isCustomDate = (m) => {
|
|
2289
|
-
const isValidDate = m > this.dayjs() || m > this.dayjs(event.startDate.add(90,
|
|
2290
|
-
return isValidDate ?
|
|
2332
|
+
const isValidDate = m > this.dayjs() || m > this.dayjs(event.startDate.add(90, "days"));
|
|
2333
|
+
return isValidDate ? "invalid-date" : false;
|
|
2291
2334
|
};
|
|
2292
2335
|
}
|
|
2293
2336
|
}
|
|
2294
2337
|
datechange(event) {
|
|
2295
2338
|
if (event && event.startDate && event.endDate) {
|
|
2296
|
-
if (this.dayjs(event.startDate).isValid() &&
|
|
2297
|
-
this.
|
|
2298
|
-
this.selectedDateRange.
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
// }
|
|
2339
|
+
if (this.dayjs(event.startDate).isValid() &&
|
|
2340
|
+
this.dayjs(event.endDate).isValid()) {
|
|
2341
|
+
this.selectedDateRange.startDate = event.startDate;
|
|
2342
|
+
this.selectedDateRange.endDate = event.endDate;
|
|
2343
|
+
var datetime = {
|
|
2344
|
+
startDate: this.dayjs(event.startDate, "DD-MM-YYYY").format("YYYY-MM-DD"),
|
|
2345
|
+
endDate: this.dayjs(event.endDate, "DD-MM-YYYY").format("YYYY-MM-DD"),
|
|
2346
|
+
};
|
|
2347
|
+
this.selectedFilters.date = datetime;
|
|
2306
2348
|
}
|
|
2307
2349
|
}
|
|
2308
2350
|
else {
|
|
2309
2351
|
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2310
2352
|
this.selectedFilters.date = headerFilters.date;
|
|
2311
2353
|
}
|
|
2312
|
-
|
|
2313
|
-
this.selectedFilters =
|
|
2314
|
-
this.selectedFilters.date = this.
|
|
2354
|
+
this.selectedFilters.client = this.users.clientId;
|
|
2355
|
+
this.selectedFilters.clients = [this.users.clientId];
|
|
2356
|
+
this.selectedFilters.date = this.selectedFilters.date;
|
|
2315
2357
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2316
|
-
localStorage.setItem(
|
|
2358
|
+
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2317
2359
|
}
|
|
2318
2360
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DatepickerComponent, deps: [{ token: i1$1.LayoutService }, { token: i1$1.GlobalStateService }, { token: AuthService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2319
2361
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DatepickerComponent, selector: "lib-datepicker", ngImport: i0, template: "<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>", 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:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}\n"], dependencies: [{ kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.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"] }] });
|
|
2320
2362
|
}
|
|
2321
2363
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DatepickerComponent, decorators: [{
|
|
2322
2364
|
type: Component,
|
|
2323
|
-
args: [{ selector:
|
|
2365
|
+
args: [{ selector: "lib-datepicker", template: "<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>", 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:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}\n"] }]
|
|
2324
2366
|
}], ctorParameters: () => [{ type: i1$1.LayoutService }, { type: i1$1.GlobalStateService }, { type: AuthService }, { type: i0.ChangeDetectorRef }] });
|
|
2325
2367
|
|
|
2326
2368
|
class DateSingleSelectComponent {
|
|
@@ -2346,7 +2388,6 @@ class DateSingleSelectComponent {
|
|
|
2346
2388
|
this.auth.getClients().subscribe({
|
|
2347
2389
|
next: (e) => {
|
|
2348
2390
|
if (e) {
|
|
2349
|
-
// debugger
|
|
2350
2391
|
this.clientList = e.data.result;
|
|
2351
2392
|
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2352
2393
|
if (headerFilters.client) {
|
|
@@ -2356,22 +2397,30 @@ class DateSingleSelectComponent {
|
|
|
2356
2397
|
}
|
|
2357
2398
|
});
|
|
2358
2399
|
this.selectedFilters.client = headerFilters.client;
|
|
2359
|
-
this.selectedFilters.clients =
|
|
2400
|
+
this.selectedFilters.clients = headerFilters.clients;
|
|
2360
2401
|
this.selectedFilters.store = headerFilters.store;
|
|
2361
2402
|
this.selectedFilters.date = headerFilters.date;
|
|
2403
|
+
this.selectedFilters.date = headerFilters.date;
|
|
2362
2404
|
this.selectedDateRange = {
|
|
2363
2405
|
startDate: this.dayjs(headerFilters.date.startDate, "YYYY-MM-DD").format("DD-MM-YYYY"),
|
|
2364
|
-
endDate: this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY")
|
|
2406
|
+
endDate: this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY"),
|
|
2365
2407
|
};
|
|
2408
|
+
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2366
2409
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2367
2410
|
this.cd.detectChanges();
|
|
2368
2411
|
}
|
|
2369
2412
|
else {
|
|
2370
2413
|
this.selectedClient = this.clientList[0];
|
|
2371
|
-
this.selectedDateRange.startDate =
|
|
2372
|
-
this.dayjs().format("YYYY-MM-DD");
|
|
2373
|
-
this.selectedDateRange.endDate = this.dayjs().format("YYYY-MM-DD");
|
|
2374
2414
|
this.selectedFilters.client = this.selectedClient.clientId;
|
|
2415
|
+
this.selectedDateRange = {
|
|
2416
|
+
startDate: this.dayjs().format("DD-MM-YYYY"),
|
|
2417
|
+
endDate: this.dayjs().format("DD-MM-YYYY"),
|
|
2418
|
+
};
|
|
2419
|
+
var datetime = {
|
|
2420
|
+
startDate: this.dayjs().format("YYYY-MM-DD"),
|
|
2421
|
+
endDate: this.dayjs().format("YYYY-MM-DD"),
|
|
2422
|
+
};
|
|
2423
|
+
this.selectedFilters.date = datetime;
|
|
2375
2424
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2376
2425
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2377
2426
|
this.cd.detectChanges();
|
|
@@ -2417,32 +2466,27 @@ class DateSingleSelectComponent {
|
|
|
2417
2466
|
if (event && event.startDate && event.endDate) {
|
|
2418
2467
|
if (this.dayjs(event.startDate).isValid() &&
|
|
2419
2468
|
this.dayjs(event.endDate).isValid()) {
|
|
2420
|
-
this.selectedDateRange.startDate =
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
.
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
// const storedFilters = JSON.parse(localStorage.getItem('dateRangeFilters') || '{}');
|
|
2429
|
-
// if (storedFilters.startDate && storedFilters.endDate) {
|
|
2430
|
-
// this.selectedDateRange.startDate = dayjs(storedFilters.startDate).format('DD-MM-YYYY');
|
|
2431
|
-
// this.selectedDateRange.endDate = dayjs(storedFilters.endDate).format('DD-MM-YYYY');
|
|
2432
|
-
// }
|
|
2469
|
+
this.selectedDateRange.startDate = event.startDate;
|
|
2470
|
+
this.selectedDateRange.endDate = event.endDate;
|
|
2471
|
+
var datetime = {
|
|
2472
|
+
startDate: this.dayjs(event.startDate, "DD-MM-YYYY").format("YYYY-MM-DD"),
|
|
2473
|
+
endDate: this.dayjs(event.endDate, "DD-MM-YYYY").format("YYYY-MM-DD"),
|
|
2474
|
+
};
|
|
2475
|
+
this.selectedFilters.date = datetime;
|
|
2476
|
+
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2433
2477
|
}
|
|
2434
2478
|
}
|
|
2435
2479
|
else {
|
|
2436
2480
|
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2437
|
-
this.
|
|
2481
|
+
this.selectedDateRange.startDate = this.dayjs(headerFilters.date.startDate, "YYYY-MM-DD").format("DD-MM-YYYY");
|
|
2482
|
+
this.selectedDateRange.endDate = this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY");
|
|
2483
|
+
this.gs.dataRangeValue.next(headerFilters);
|
|
2438
2484
|
}
|
|
2439
|
-
this.selectedFilters.date = this.selectedDateRange;
|
|
2440
2485
|
}
|
|
2441
2486
|
Apply() {
|
|
2442
2487
|
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2443
2488
|
this.selectedFilters = headerFilters;
|
|
2444
2489
|
this.selectedFilters.client = this.selectedClient.clientId;
|
|
2445
|
-
this.selectedFilters.date = this.selectedDateRange;
|
|
2446
2490
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2447
2491
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2448
2492
|
}
|
|
@@ -2495,21 +2539,28 @@ class SingleStoreComponent {
|
|
|
2495
2539
|
});
|
|
2496
2540
|
this.selectedFilters.store = headerFilters.store;
|
|
2497
2541
|
this.selectedFilters.client = headerFilters.client;
|
|
2498
|
-
this.selectedFilters.clients =
|
|
2542
|
+
this.selectedFilters.clients = headerFilters.clients;
|
|
2499
2543
|
this.selectedFilters.date = headerFilters.date;
|
|
2500
2544
|
this.selectedDateRange = {
|
|
2501
2545
|
startDate: this.dayjs(headerFilters.date.startDate, "YYYY-MM-DD").format("DD-MM-YYYY"),
|
|
2502
|
-
endDate: this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY")
|
|
2546
|
+
endDate: this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY"),
|
|
2503
2547
|
};
|
|
2548
|
+
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2504
2549
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2505
2550
|
this.cd.detectChanges();
|
|
2506
2551
|
}
|
|
2507
2552
|
else {
|
|
2508
2553
|
this.selectedClient = this.storeList[0];
|
|
2509
2554
|
this.selectedFilters.store = this.selectedClient.storeId;
|
|
2510
|
-
this.selectedDateRange
|
|
2511
|
-
|
|
2512
|
-
|
|
2555
|
+
this.selectedDateRange = {
|
|
2556
|
+
startDate: this.dayjs().format("DD-MM-YYYY"),
|
|
2557
|
+
endDate: this.dayjs().format("DD-MM-YYYY"),
|
|
2558
|
+
};
|
|
2559
|
+
var datetime = {
|
|
2560
|
+
startDate: this.dayjs().format("YYYY-MM-DD"),
|
|
2561
|
+
endDate: this.dayjs().format("YYYY-MM-DD"),
|
|
2562
|
+
};
|
|
2563
|
+
this.selectedFilters.date = datetime;
|
|
2513
2564
|
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
2514
2565
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2515
2566
|
this.cd.detectChanges();
|
|
@@ -2543,24 +2594,29 @@ class SingleStoreComponent {
|
|
|
2543
2594
|
}
|
|
2544
2595
|
datechange(event) {
|
|
2545
2596
|
if (event && event.startDate && event.endDate) {
|
|
2546
|
-
if (this.dayjs(event.startDate).isValid() &&
|
|
2547
|
-
this.
|
|
2548
|
-
this.selectedDateRange.
|
|
2549
|
-
|
|
2550
|
-
|
|
2597
|
+
if (this.dayjs(event.startDate).isValid() &&
|
|
2598
|
+
this.dayjs(event.endDate).isValid()) {
|
|
2599
|
+
this.selectedDateRange.startDate = event.startDate;
|
|
2600
|
+
this.selectedDateRange.endDate = event.endDate;
|
|
2601
|
+
var datetime = {
|
|
2602
|
+
startDate: this.dayjs(event.startDate, "DD-MM-YYYY").format("YYYY-MM-DD"),
|
|
2603
|
+
endDate: this.dayjs(event.endDate, "DD-MM-YYYY").format("YYYY-MM-DD"),
|
|
2604
|
+
};
|
|
2605
|
+
this.selectedFilters.date = datetime;
|
|
2606
|
+
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
2551
2607
|
}
|
|
2552
2608
|
}
|
|
2553
2609
|
else {
|
|
2554
2610
|
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2555
|
-
this.
|
|
2611
|
+
this.selectedDateRange.startDate = this.dayjs(headerFilters.date.startDate, "YYYY-MM-DD").format("DD-MM-YYYY");
|
|
2612
|
+
this.selectedDateRange.endDate = this.dayjs(headerFilters.date.endDate, "YYYY-MM-DD").format("DD-MM-YYYY");
|
|
2613
|
+
this.gs.dataRangeValue.next(headerFilters);
|
|
2556
2614
|
}
|
|
2557
|
-
this.selectedFilters.date = this.selectedDateRange;
|
|
2558
2615
|
}
|
|
2559
2616
|
Apply() {
|
|
2560
2617
|
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2561
2618
|
this.selectedFilters = headerFilters;
|
|
2562
2619
|
this.selectedFilters.store = this.selectedClient.storeId;
|
|
2563
|
-
this.selectedFilters.date = this.selectedDateRange;
|
|
2564
2620
|
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2565
2621
|
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
2566
2622
|
}
|
|
@@ -2601,6 +2657,7 @@ class ToolbarComponent {
|
|
|
2601
2657
|
singleStore;
|
|
2602
2658
|
headervalue;
|
|
2603
2659
|
storeId;
|
|
2660
|
+
users;
|
|
2604
2661
|
constructor(layout, router, route, gs) {
|
|
2605
2662
|
this.layout = layout;
|
|
2606
2663
|
this.router = router;
|
|
@@ -2608,9 +2665,10 @@ class ToolbarComponent {
|
|
|
2608
2665
|
this.gs = gs;
|
|
2609
2666
|
}
|
|
2610
2667
|
ngOnInit() {
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2668
|
+
if ("user-info" in localStorage) {
|
|
2669
|
+
const userData = JSON.parse(localStorage.getItem("user-info") || "{}");
|
|
2670
|
+
this.users = userData;
|
|
2671
|
+
}
|
|
2614
2672
|
this.showPageTitle();
|
|
2615
2673
|
const subscr = this.layout.layoutConfigSubject
|
|
2616
2674
|
.asObservable()
|
|
@@ -2653,7 +2711,7 @@ class ToolbarComponent {
|
|
|
2653
2711
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
2654
2712
|
}
|
|
2655
2713
|
showPageTitle() {
|
|
2656
|
-
let URL =
|
|
2714
|
+
let URL = "";
|
|
2657
2715
|
if ("header-filters" in localStorage) {
|
|
2658
2716
|
const data = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2659
2717
|
this.storeId = data?.store;
|
|
@@ -2663,23 +2721,57 @@ class ToolbarComponent {
|
|
|
2663
2721
|
// this.router.navigate([URL])
|
|
2664
2722
|
}
|
|
2665
2723
|
const url = URL.split("/");
|
|
2666
|
-
if (
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2724
|
+
if (this.users?.userType === "tango") {
|
|
2725
|
+
if (url[2] == "settings") {
|
|
2726
|
+
this.setUIProperties(true, false, false, false, false);
|
|
2727
|
+
}
|
|
2728
|
+
else if (URL == "/manage/brands") {
|
|
2729
|
+
this.setUIProperties(false, false, false, false, false);
|
|
2730
|
+
}
|
|
2731
|
+
else if (URL == "/manage/users" ||
|
|
2732
|
+
URL == "/manage/stores" ||
|
|
2733
|
+
URL == "/manage/stores/addition-method" ||
|
|
2734
|
+
URL == "/manage/stores/add-single-store" ||
|
|
2735
|
+
url[3] == "edge-app") {
|
|
2736
|
+
this.setUIProperties(false, false, false, false, true);
|
|
2737
|
+
}
|
|
2738
|
+
else if (URL == `/manage/stores/${this.storeId}/infra-ticket` ||
|
|
2739
|
+
URL == `/manage/stores/${this.storeId}/settings` ||
|
|
2740
|
+
URL == `/manage/stores/${this.storeId}/zones` ||
|
|
2741
|
+
URL == `/manage/stores/${this.storeId}/cameras` ||
|
|
2742
|
+
URL == `/manage/stores/${this.storeId}/infrastructure` ||
|
|
2743
|
+
URL == `/manage/stores/${this.storeId}/data-mismatch`) {
|
|
2744
|
+
this.setUIProperties(false, false, false, true, false);
|
|
2745
|
+
}
|
|
2746
|
+
else if (URL == "/profile") {
|
|
2747
|
+
this.setUIProperties(false, false, false, false, false);
|
|
2748
|
+
}
|
|
2749
|
+
else {
|
|
2750
|
+
this.setUIProperties(false, true, false, false, false);
|
|
2751
|
+
}
|
|
2680
2752
|
}
|
|
2681
2753
|
else {
|
|
2682
|
-
|
|
2754
|
+
if (URL == "/manage/users" ||
|
|
2755
|
+
URL == "/manage/stores" ||
|
|
2756
|
+
URL == "/manage/stores/addition-method" ||
|
|
2757
|
+
URL == "/manage/stores/add-single-store" ||
|
|
2758
|
+
url[3] == "edge-app") {
|
|
2759
|
+
this.setUIProperties(false, false, true, false, false);
|
|
2760
|
+
}
|
|
2761
|
+
else if (URL == `/manage/stores/${this.storeId}/infra-ticket` ||
|
|
2762
|
+
URL == `/manage/stores/${this.storeId}/settings` ||
|
|
2763
|
+
URL == `/manage/stores/${this.storeId}/zones` ||
|
|
2764
|
+
URL == `/manage/stores/${this.storeId}/cameras` ||
|
|
2765
|
+
URL == `/manage/stores/${this.storeId}/infrastructure` ||
|
|
2766
|
+
URL == `/manage/stores/${this.storeId}/data-mismatch`) {
|
|
2767
|
+
this.setUIProperties(false, false, false, true, false);
|
|
2768
|
+
}
|
|
2769
|
+
else if (URL == "/profile") {
|
|
2770
|
+
this.setUIProperties(false, false, false, false, false);
|
|
2771
|
+
}
|
|
2772
|
+
else {
|
|
2773
|
+
this.setUIProperties(false, false, true, false, false);
|
|
2774
|
+
}
|
|
2683
2775
|
}
|
|
2684
2776
|
const viewsWithPageTitles = ["classic", "reports", "saas"];
|
|
2685
2777
|
return (this.appPageTitleDisplay &&
|
|
@@ -2693,11 +2785,11 @@ class ToolbarComponent {
|
|
|
2693
2785
|
this.singleSelectdatepicker = singleSelectdatepicker;
|
|
2694
2786
|
}
|
|
2695
2787
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1$1.LayoutService }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i1$1.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2696
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ToolbarComponent, selector: "lib-toolbar", inputs: { currentLayoutType: "currentLayoutType", appToolbarLayout: "appToolbarLayout" }, ngImport: i0, template: "<!--begin::Toolbar container-->\r\n<div id=\"kt_app_toolbar_container\" class=\"app-container\" [ngClass]=\"appToolbarContainerCSSClass\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" >\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\">\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\">\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\">\r\n <lib-datepicker class=\"d-flex align-items-center me-5\"></lib-datepicker>\r\n </ng-container>\r\n <ng-container *ngIf=\"singleSelectdatepicker\">\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=\"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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PageTitleComponent, selector: "lib-page-title", inputs: ["appPageTitleDirection", "appPageTitleBreadcrumb", "appPageTitleDescription"] }, { kind: "component", type: ClassicComponent, selector: "lib-classic" }, { 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: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
2788
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ToolbarComponent, selector: "lib-toolbar", inputs: { currentLayoutType: "currentLayoutType", appToolbarLayout: "appToolbarLayout" }, ngImport: i0, template: "<!--begin::Toolbar container-->\r\n<div id=\"kt_app_toolbar_container\" class=\"app-container\" [ngClass]=\"appToolbarContainerCSSClass\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" >\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=\"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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PageTitleComponent, selector: "lib-page-title", inputs: ["appPageTitleDirection", "appPageTitleBreadcrumb", "appPageTitleDescription"] }, { kind: "component", type: ClassicComponent, selector: "lib-classic" }, { 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: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
2697
2789
|
}
|
|
2698
2790
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
2699
2791
|
type: Component,
|
|
2700
|
-
args: [{ selector: "lib-toolbar", template: "<!--begin::Toolbar container-->\r\n<div id=\"kt_app_toolbar_container\" class=\"app-container\" [ngClass]=\"appToolbarContainerCSSClass\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" >\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\">\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\">\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\">\r\n <lib-datepicker class=\"d-flex align-items-center me-5\"></lib-datepicker>\r\n </ng-container>\r\n <ng-container *ngIf=\"singleSelectdatepicker\">\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=\"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" }]
|
|
2792
|
+
args: [{ selector: "lib-toolbar", template: "<!--begin::Toolbar container-->\r\n<div id=\"kt_app_toolbar_container\" class=\"app-container\" [ngClass]=\"appToolbarContainerCSSClass\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" >\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=\"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" }]
|
|
2701
2793
|
}], ctorParameters: () => [{ type: i1$1.LayoutService }, { type: i1.Router }, { type: i1.ActivatedRoute }, { type: i1$1.GlobalStateService }], propDecorators: { currentLayoutType: [{
|
|
2702
2794
|
type: Input
|
|
2703
2795
|
}], appToolbarLayout: [{
|
|
@@ -2797,6 +2889,7 @@ class SidebarFooterComponent {
|
|
|
2797
2889
|
auth;
|
|
2798
2890
|
router;
|
|
2799
2891
|
layout;
|
|
2892
|
+
ngZone;
|
|
2800
2893
|
isSubMenuActive = false;
|
|
2801
2894
|
userValue;
|
|
2802
2895
|
hovered = false;
|
|
@@ -2810,10 +2903,18 @@ class SidebarFooterComponent {
|
|
|
2810
2903
|
toggleAttr;
|
|
2811
2904
|
shouldShowMenuTop = true;
|
|
2812
2905
|
destroy$ = new Subject();
|
|
2813
|
-
|
|
2906
|
+
openshow = false;
|
|
2907
|
+
constructor(auth, router, layout, ngZone) {
|
|
2814
2908
|
this.auth = auth;
|
|
2815
2909
|
this.router = router;
|
|
2816
2910
|
this.layout = layout;
|
|
2911
|
+
this.ngZone = ngZone;
|
|
2912
|
+
this.router.events.subscribe(event => {
|
|
2913
|
+
if (event instanceof NavigationStart) {
|
|
2914
|
+
// Close the submenu whenever a navigation starts
|
|
2915
|
+
this.isSubMenuActive = false;
|
|
2916
|
+
}
|
|
2917
|
+
});
|
|
2817
2918
|
}
|
|
2818
2919
|
// isSubMenuActive: boolean = false;
|
|
2819
2920
|
isArrowReversed = false;
|
|
@@ -2831,31 +2932,21 @@ class SidebarFooterComponent {
|
|
|
2831
2932
|
this.unsubscribe.push(layoutSubscr);
|
|
2832
2933
|
if ('user-info' in localStorage) {
|
|
2833
2934
|
const userData = JSON.parse(localStorage.getItem('user-info') || "{}");
|
|
2834
|
-
// debugger
|
|
2835
|
-
// if(this.userValuefooter ===''){
|
|
2836
2935
|
this.userValue = userData;
|
|
2837
|
-
// }
|
|
2838
2936
|
}
|
|
2839
2937
|
}
|
|
2840
2938
|
toggleMenu() {
|
|
2841
2939
|
this.isSubMenuActive = !this.isSubMenuActive;
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
// submenu.style.top = `-${offset}px`;
|
|
2853
|
-
// } else {
|
|
2854
|
-
// submenu.style.top = '1800px';
|
|
2855
|
-
// }
|
|
2856
|
-
// console.log(submenu)
|
|
2857
|
-
// }
|
|
2858
|
-
// }
|
|
2940
|
+
}
|
|
2941
|
+
profileUrl() {
|
|
2942
|
+
this.isSubMenuActive = false;
|
|
2943
|
+
this.router.navigate(['/profile']);
|
|
2944
|
+
setTimeout(() => {
|
|
2945
|
+
this.closeMenu();
|
|
2946
|
+
}, 10);
|
|
2947
|
+
}
|
|
2948
|
+
closeMenu() {
|
|
2949
|
+
window.location.reload();
|
|
2859
2950
|
}
|
|
2860
2951
|
logout() {
|
|
2861
2952
|
this.auth.logout();
|
|
@@ -2869,13 +2960,13 @@ class SidebarFooterComponent {
|
|
|
2869
2960
|
this.destroy$.next(true);
|
|
2870
2961
|
this.destroy$.complete();
|
|
2871
2962
|
}
|
|
2872
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, deps: [{ token: AuthService }, { token: i1.Router }, { token: i1$1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2873
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", 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 src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title overflow-hidden\" 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\"
|
|
2963
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, deps: [{ token: AuthService }, { token: i1.Router }, { token: i1$1.LayoutService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2964
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", 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 src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title overflow-hidden\" 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}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }] });
|
|
2874
2965
|
}
|
|
2875
2966
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, decorators: [{
|
|
2876
2967
|
type: Component,
|
|
2877
|
-
args: [{ selector: "lib-sidebar-footer", 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 src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title overflow-hidden\" 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\"
|
|
2878
|
-
}], ctorParameters: () => [{ type: AuthService }, { type: i1.Router }, { type: i1$1.LayoutService }], propDecorators: { toggleButtonClass: [{
|
|
2968
|
+
args: [{ selector: "lib-sidebar-footer", 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 src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title overflow-hidden\" 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}\n"] }]
|
|
2969
|
+
}], ctorParameters: () => [{ type: AuthService }, { type: i1.Router }, { type: i1$1.LayoutService }, { type: i0.NgZone }], propDecorators: { toggleButtonClass: [{
|
|
2879
2970
|
type: Input
|
|
2880
2971
|
}], toggleEnabled: [{
|
|
2881
2972
|
type: Input
|
|
@@ -3159,7 +3250,6 @@ class LayoutComponent {
|
|
|
3159
3250
|
}
|
|
3160
3251
|
}
|
|
3161
3252
|
});
|
|
3162
|
-
this.userProfile();
|
|
3163
3253
|
}
|
|
3164
3254
|
ngOnInit() {
|
|
3165
3255
|
const subscr = this.layout.layoutConfigSubject
|
|
@@ -3343,22 +3433,6 @@ class LayoutComponent {
|
|
|
3343
3433
|
ngOnDestroy() {
|
|
3344
3434
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
3345
3435
|
}
|
|
3346
|
-
userProfile() {
|
|
3347
|
-
this.unsubscribe.push(this.authService.userProfileDet().subscribe({
|
|
3348
|
-
next: (res) => {
|
|
3349
|
-
if (res && res.code == 200) {
|
|
3350
|
-
this.gs.userAccess.next(res.data?.permission);
|
|
3351
|
-
if (res.data?.permission?.userType === 'lead') {
|
|
3352
|
-
this.router.navigateByUrl('/explore');
|
|
3353
|
-
}
|
|
3354
|
-
}
|
|
3355
|
-
},
|
|
3356
|
-
error: (err) => {
|
|
3357
|
-
this.toastService.getErrorToast(err.error.error);
|
|
3358
|
-
localStorage.clear();
|
|
3359
|
-
},
|
|
3360
|
-
}));
|
|
3361
|
-
}
|
|
3362
3436
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", 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 });
|
|
3363
3437
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: LayoutComponent, selector: "lib-layout", viewQueries: [{ propertyName: "ktSidebar", first: true, predicate: ["ktSidebar"], descendants: true, static: true }, { propertyName: "ktAside", first: true, predicate: ["ktAside"], descendants: true, static: true }, { propertyName: "ktHeaderMobile", first: true, predicate: ["ktHeaderMobile"], descendants: true, static: true }, { propertyName: "ktHeader", first: true, predicate: ["ktHeader"], descendants: true, static: true }], ngImport: i0, template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HeaderComponent, selector: "lib-header" }, { kind: "component", type: ContentComponent, selector: "lib-content", inputs: ["contentContainerCSSClass", "appContentContiner", "appContentContainerClass"] }, { kind: "component", type: ScriptsInitComponent, selector: "lib-scripts-init" }, { kind: "component", type: ToolbarComponent, selector: "lib-toolbar", inputs: ["currentLayoutType", "appToolbarLayout"] }, { kind: "component", type: SidebarComponent, selector: "lib-sidebar" }, { kind: "component", type: LayoutScrollTopComponent, selector: "lib-scroll-top" }] });
|
|
3364
3438
|
}
|
|
@@ -4493,7 +4567,7 @@ const ticketsGuard = (route, state) => {
|
|
|
4493
4567
|
const gs = inject(GlobalStateService);
|
|
4494
4568
|
const router = inject(Router);
|
|
4495
4569
|
return gs.userAccess.pipe(map((e) => {
|
|
4496
|
-
if (e && e?.manage_tickets_isView) {
|
|
4570
|
+
if (e && !e?.manage_tickets_isView) {
|
|
4497
4571
|
router.navigateByUrl('/manage');
|
|
4498
4572
|
return false;
|
|
4499
4573
|
}
|
|
@@ -4540,7 +4614,7 @@ const Routing = [
|
|
|
4540
4614
|
},
|
|
4541
4615
|
{
|
|
4542
4616
|
path: 'explore',
|
|
4543
|
-
loadChildren: () => import('./tango-app-ui-shared-intro.module-
|
|
4617
|
+
loadChildren: () => import('./tango-app-ui-shared-intro.module-6XgiboVK.mjs').then((m) => m.IntroModule),
|
|
4544
4618
|
},
|
|
4545
4619
|
{
|
|
4546
4620
|
path: '',
|
|
@@ -4854,10 +4928,10 @@ class HttpAuthInterceptor {
|
|
|
4854
4928
|
// If the error is due to unauthorized access, try to refresh the token
|
|
4855
4929
|
return this.handle401Error(request, next);
|
|
4856
4930
|
}
|
|
4857
|
-
else if (error instanceof HttpErrorResponse && error.status === 403) {
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
}
|
|
4931
|
+
// else if (error instanceof HttpErrorResponse && error.status === 403) {
|
|
4932
|
+
// // If the error is due to unauthorized access, try to refresh the token
|
|
4933
|
+
// this.router.navigate(['/manage/brands'])
|
|
4934
|
+
// }
|
|
4861
4935
|
return throwError(error);
|
|
4862
4936
|
}));
|
|
4863
4937
|
}
|