tango-app-ui-shared 3.0.5 → 3.0.6
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 +17 -5
- package/esm2022/lib/modules/common/custom-select/custom-select.component.mjs +2 -2
- package/esm2022/lib/modules/common/pagination/pagination.component.mjs +2 -2
- package/esm2022/lib/modules/layout/layout.module.mjs +12 -3
- package/esm2022/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.mjs +19 -8
- package/esm2022/lib/modules/layout/sidebar/sidebar.component.mjs +4 -3
- package/esm2022/lib/modules/layout/toolbar/classic/classic.component.mjs +103 -79
- package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +38 -9
- package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +140 -0
- package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +106 -0
- package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +141 -0
- package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +91 -30
- package/esm2022/lib/routes/route-wraper-modules/ticket-wrapper.module.mjs +1 -1
- package/esm2022/lib/services/auth.service.mjs +8 -1
- package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-BLrWsK0B.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared.mjs +1038 -535
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/lib/interceptors/http-auth-interceptor.d.ts +4 -1
- package/lib/modules/layout/layout.module.d.ts +13 -10
- package/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.d.ts +6 -1
- package/lib/modules/layout/toolbar/classic/classic.component.d.ts +9 -8
- package/lib/modules/layout/toolbar/client-settings/client-settings.component.d.ts +3 -2
- package/lib/modules/layout/toolbar/date-single-select/date-single-select.component.d.ts +25 -0
- package/lib/modules/layout/toolbar/datepicker/datepicker.component.d.ts +25 -0
- package/lib/modules/layout/toolbar/single-store/single-store.component.d.ts +25 -0
- package/lib/modules/layout/toolbar/toolbar.component.d.ts +15 -6
- package/lib/services/auth.service.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, HostBinding, HostListener,
|
|
2
|
+
import { Component, Input, HostBinding, HostListener, EventEmitter, ChangeDetectionStrategy, Output, ViewChild, NgModule, Injectable } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/router';
|
|
4
4
|
import { NavigationEnd, NavigationCancel, ResolveEnd, RouterModule } from '@angular/router';
|
|
5
5
|
import * as i1 from 'tango-app-ui-metronics';
|
|
@@ -13,19 +13,19 @@ import 'dayjs/locale/en';
|
|
|
13
13
|
import utc from 'dayjs/plugin/utc';
|
|
14
14
|
import timezone from 'dayjs/plugin/timezone';
|
|
15
15
|
import * as i2$1 from 'projects/tango-app-shared/src/lib/services/global-state.service';
|
|
16
|
-
import * as
|
|
17
|
-
import * as
|
|
16
|
+
import * as i1$2 from 'projects/tango-app-shared/src/lib/services/auth.service';
|
|
17
|
+
import * as i4 from '@angular/forms';
|
|
18
18
|
import { FormsModule } from '@angular/forms';
|
|
19
|
-
import * as
|
|
19
|
+
import * as i5 from 'ngx-daterangepicker-material';
|
|
20
20
|
import { NgxDaterangepickerMd } from 'ngx-daterangepicker-material';
|
|
21
|
-
import
|
|
22
|
-
import * as i3$2 from '@angular/common/http';
|
|
23
|
-
import * as i3$3 from 'ngx-pagination';
|
|
21
|
+
import * as i3$1 from 'ngx-pagination';
|
|
24
22
|
import { NgxPaginationModule } from 'ngx-pagination';
|
|
25
|
-
import * as i1$
|
|
23
|
+
import * as i1$3 from '@ngx-translate/core';
|
|
26
24
|
import { TranslateModule } from '@ngx-translate/core';
|
|
27
25
|
import { InlineSVGModule } from 'ng-inline-svg-2';
|
|
28
26
|
import { NgbDropdownModule, NgbProgressbarModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
27
|
+
import { BehaviorSubject, throwError, map, catchError } from 'rxjs';
|
|
28
|
+
import * as i3$2 from '@angular/common/http';
|
|
29
29
|
import Swal from 'sweetalert2';
|
|
30
30
|
|
|
31
31
|
class HeaderMenuComponent {
|
|
@@ -1592,20 +1592,20 @@ class ClassicComponent {
|
|
|
1592
1592
|
layout;
|
|
1593
1593
|
globalService;
|
|
1594
1594
|
service;
|
|
1595
|
+
cd;
|
|
1595
1596
|
unsubscribe = [];
|
|
1596
|
-
dataObject = [
|
|
1597
|
-
{ Description: 'Clients', Issues: [] }
|
|
1598
|
-
];
|
|
1597
|
+
dataObject = [{ Description: "Clients", Issues: [] }];
|
|
1599
1598
|
isCustomDate;
|
|
1600
1599
|
dummyArray = [];
|
|
1601
1600
|
noFilter = false;
|
|
1602
1601
|
searchValue;
|
|
1603
1602
|
responseArray = [];
|
|
1604
|
-
getClientList;
|
|
1605
|
-
constructor(layout, globalService, service) {
|
|
1603
|
+
getClientList = [];
|
|
1604
|
+
constructor(layout, globalService, service, cd) {
|
|
1606
1605
|
this.layout = layout;
|
|
1607
1606
|
this.globalService = globalService;
|
|
1608
1607
|
this.service = service;
|
|
1608
|
+
this.cd = cd;
|
|
1609
1609
|
}
|
|
1610
1610
|
ngOnDestroy() {
|
|
1611
1611
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
@@ -1613,15 +1613,20 @@ class ClassicComponent {
|
|
|
1613
1613
|
// @Input() dataObject: any[] = [];
|
|
1614
1614
|
Opendropdown = false;
|
|
1615
1615
|
permission = [
|
|
1616
|
-
{
|
|
1617
|
-
|
|
1618
|
-
|
|
1616
|
+
{
|
|
1617
|
+
group: "Super Admin",
|
|
1618
|
+
description: "Lorem ipsum dolor sit amet, consectetur ",
|
|
1619
|
+
},
|
|
1620
|
+
{ group: "Admin", description: "Lorem ipsum dolor sit amet, consectetur " },
|
|
1621
|
+
{ group: "User", description: "Lorem ipsum dolor sit amet, consectetur " },
|
|
1619
1622
|
];
|
|
1620
1623
|
showdropdown;
|
|
1621
1624
|
selectedValues = [];
|
|
1622
1625
|
selectedValuesArray = [];
|
|
1623
1626
|
selectedDateRange = {};
|
|
1624
1627
|
selectedFilters = {
|
|
1628
|
+
client: null,
|
|
1629
|
+
clients: [],
|
|
1625
1630
|
store: null,
|
|
1626
1631
|
stores: [],
|
|
1627
1632
|
date: null,
|
|
@@ -1630,12 +1635,42 @@ class ClassicComponent {
|
|
|
1630
1635
|
this.service.getClients().subscribe({
|
|
1631
1636
|
next: (res) => {
|
|
1632
1637
|
this.getClientList = res?.data?.result;
|
|
1633
|
-
|
|
1634
|
-
|
|
1638
|
+
if ("header-filters" in localStorage) {
|
|
1639
|
+
// debugger
|
|
1640
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
1641
|
+
// debugger
|
|
1642
|
+
if (headerFilters.date) {
|
|
1643
|
+
// this.selectedFilters.date = headerFilters.date;
|
|
1644
|
+
this.selectedDateRange.startDate = headerFilters.date.startDate;
|
|
1645
|
+
this.selectedDateRange.endDate = headerFilters.date.endDate;
|
|
1646
|
+
}
|
|
1647
|
+
// console.log( this.selectedDateRange)
|
|
1648
|
+
this.dataObject[0].Issues = this.getClientList;
|
|
1649
|
+
this.toggleCheckbox("Select All", 0);
|
|
1650
|
+
this.dummyArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1651
|
+
this.responseArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1652
|
+
const currentIssues = this.dummyArray[0].Issues.map((item) => item.clientId);
|
|
1653
|
+
this.selectedFilters.clients = currentIssues;
|
|
1654
|
+
// }
|
|
1655
|
+
this.globalService.dataRangeValue.next(this.selectedFilters);
|
|
1656
|
+
// this.cd.detectChanges();
|
|
1657
|
+
}
|
|
1658
|
+
else {
|
|
1659
|
+
this.dataObject[0].Issues = this.getClientList;
|
|
1660
|
+
this.toggleCheckbox("Select All", 0);
|
|
1661
|
+
this.dummyArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1662
|
+
this.responseArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1663
|
+
// this.selectedDateRange.startDate = dayjs().format("MM-DD-YYYY");
|
|
1664
|
+
// this.selectedDateRange.endDate = dayjs().format("MM-DD-YYYY");
|
|
1665
|
+
const currentIssues = this.dummyArray[0].Issues.map((item) => item.clientId);
|
|
1666
|
+
this.selectedFilters.clients = currentIssues;
|
|
1667
|
+
// this.selectedFilters.date = this.selectedDateRange;
|
|
1668
|
+
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
1669
|
+
this.cd.detectChanges();
|
|
1670
|
+
}
|
|
1671
|
+
console.log(this.selectedDateRange);
|
|
1672
|
+
},
|
|
1635
1673
|
});
|
|
1636
|
-
console.log(this.dataObject);
|
|
1637
|
-
this.dummyArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1638
|
-
this.responseArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1639
1674
|
// this.updateProps();
|
|
1640
1675
|
const subscr = this.layout.layoutConfigSubject
|
|
1641
1676
|
.asObservable()
|
|
@@ -1643,32 +1678,23 @@ class ClassicComponent {
|
|
|
1643
1678
|
// this.updateProps();
|
|
1644
1679
|
});
|
|
1645
1680
|
this.unsubscribe.push(subscr);
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
this.
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
this.
|
|
1654
|
-
this.selectedDateRange.startDate = headerFilters.date.startDate;
|
|
1655
|
-
this.selectedDateRange.endDate = headerFilters.date.endDate;
|
|
1681
|
+
}
|
|
1682
|
+
getclients() {
|
|
1683
|
+
this.service.getClients().subscribe({
|
|
1684
|
+
next: (res) => {
|
|
1685
|
+
this.getClientList = res?.data?.result;
|
|
1686
|
+
this.toggleCheckbox("Select All", 0);
|
|
1687
|
+
this.dummyArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1688
|
+
this.responseArray = JSON.parse(JSON.stringify(this.dataObject));
|
|
1656
1689
|
}
|
|
1657
|
-
}
|
|
1658
|
-
catch (error) {
|
|
1659
|
-
console.error('Error parsing dates from localStorage:', error);
|
|
1660
|
-
// Handle parsing error, e.g., set default dates
|
|
1661
|
-
// Example:
|
|
1662
|
-
this.selectedDateRange.startDate = dayjs().format('MM-DD-YYYY');
|
|
1663
|
-
this.selectedDateRange.endDate = dayjs().format('MM-DD-YYYY');
|
|
1664
|
-
}
|
|
1690
|
+
});
|
|
1665
1691
|
}
|
|
1666
1692
|
onClick(event) {
|
|
1667
1693
|
const target = event.target;
|
|
1668
|
-
if (!target.closest(
|
|
1694
|
+
if (!target.closest(".dropdown1")) {
|
|
1669
1695
|
this.Opendropdown = false;
|
|
1670
1696
|
}
|
|
1671
|
-
if (!target.closest(
|
|
1697
|
+
if (!target.closest(".dropdown-content")) {
|
|
1672
1698
|
this.dataObject.forEach((item, i) => {
|
|
1673
1699
|
item.isOpen = false;
|
|
1674
1700
|
});
|
|
@@ -1703,8 +1729,9 @@ class ClassicComponent {
|
|
|
1703
1729
|
// }
|
|
1704
1730
|
// }
|
|
1705
1731
|
searchData(event, i) {
|
|
1706
|
-
const filteredIssues = this.dummyArray[i].Issues.filter((item) => new RegExp(event.target.value,
|
|
1732
|
+
const filteredIssues = this.dummyArray[i].Issues.filter((item) => new RegExp(event.target.value, "i").test(item.clientName));
|
|
1707
1733
|
this.dataObject[i].Issues = filteredIssues;
|
|
1734
|
+
console.log(i);
|
|
1708
1735
|
if (filteredIssues.length) {
|
|
1709
1736
|
this.noFilter = false;
|
|
1710
1737
|
}
|
|
@@ -1716,7 +1743,7 @@ class ClassicComponent {
|
|
|
1716
1743
|
const currentIssues = this.dataObject[index].Issues;
|
|
1717
1744
|
this.selectedValuesArray[index] = this.selectedValuesArray[index] || [];
|
|
1718
1745
|
const selectedValues = this.selectedValuesArray[index]; // Retrieve selected values array for the current dropdown index
|
|
1719
|
-
if (issue ===
|
|
1746
|
+
if (issue === "Select All") {
|
|
1720
1747
|
const currentIssues = this.dataObject[index].Issues.map((item) => item.clientId);
|
|
1721
1748
|
if (selectedValues.length === currentIssues.length) {
|
|
1722
1749
|
// If all items are already selected, deselect all
|
|
@@ -1726,6 +1753,7 @@ class ClassicComponent {
|
|
|
1726
1753
|
// Otherwise, select all items
|
|
1727
1754
|
this.selectedValuesArray[index] = [...currentIssues];
|
|
1728
1755
|
}
|
|
1756
|
+
this.cd.detectChanges();
|
|
1729
1757
|
}
|
|
1730
1758
|
else {
|
|
1731
1759
|
if (selectedValues.includes(issue)) {
|
|
@@ -1764,7 +1792,7 @@ class ClassicComponent {
|
|
|
1764
1792
|
this.selectedValuesArray[i] = selectedValues.map((selectedId) => {
|
|
1765
1793
|
const issue = issues.find((issueItem) => issueItem.clientId === selectedId);
|
|
1766
1794
|
selectedValue.push(issue);
|
|
1767
|
-
return issue ? issue :
|
|
1795
|
+
return issue ? issue : ""; // Get the text corresponding to the id
|
|
1768
1796
|
});
|
|
1769
1797
|
}
|
|
1770
1798
|
}
|
|
@@ -1776,29 +1804,34 @@ class ClassicComponent {
|
|
|
1776
1804
|
this.selectedValuesArray[index] = item;
|
|
1777
1805
|
});
|
|
1778
1806
|
this.responseArray.forEach((item, index) => {
|
|
1779
|
-
item.Issues = this.selectedValuesArray[index]
|
|
1807
|
+
item.Issues = this.selectedValuesArray[index]
|
|
1808
|
+
? this.selectedValuesArray[index]
|
|
1809
|
+
: [];
|
|
1780
1810
|
});
|
|
1781
1811
|
// this.selectedFilters.stores=this.responseArray
|
|
1782
|
-
this.selectedFilters.
|
|
1812
|
+
this.selectedFilters.clients = this.responseArray[0].Issues;
|
|
1783
1813
|
this.selectedFilters.date = this.selectedDateRange;
|
|
1784
|
-
localStorage.setItem(
|
|
1814
|
+
localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
|
|
1785
1815
|
}
|
|
1786
1816
|
ranges = {
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1817
|
+
Today: [dayjs(), dayjs()],
|
|
1818
|
+
Yesterday: [dayjs().subtract(1, "days"), dayjs().subtract(1, "days")],
|
|
1819
|
+
"This Week": [dayjs().subtract(6, "days"), dayjs()],
|
|
1820
|
+
"Last Week": [
|
|
1821
|
+
dayjs().subtract(14, "days").startOf("days"),
|
|
1822
|
+
dayjs().subtract(8, "days").endOf("days"),
|
|
1823
|
+
],
|
|
1824
|
+
"This Month": [dayjs().startOf("month"), dayjs().endOf("month")],
|
|
1825
|
+
"Last Month": [
|
|
1826
|
+
dayjs().subtract(1, "month").startOf("month"),
|
|
1827
|
+
dayjs().subtract(1, "month").endOf("month"),
|
|
1828
|
+
],
|
|
1796
1829
|
};
|
|
1797
1830
|
onStartDateChange(event) {
|
|
1798
1831
|
if (dayjs(event.startDate).isValid()) {
|
|
1799
1832
|
this.isCustomDate = (m) => {
|
|
1800
|
-
const isValidDate = m > dayjs() || m > dayjs(event.startDate.add(90,
|
|
1801
|
-
return isValidDate ?
|
|
1833
|
+
const isValidDate = m > dayjs() || m > dayjs(event.startDate.add(90, "days"));
|
|
1834
|
+
return isValidDate ? "invalid-date" : false;
|
|
1802
1835
|
};
|
|
1803
1836
|
}
|
|
1804
1837
|
}
|
|
@@ -1806,176 +1839,801 @@ class ClassicComponent {
|
|
|
1806
1839
|
if (event && event.startDate && event.endDate) {
|
|
1807
1840
|
if (dayjs(event.startDate).isValid() && dayjs(event.endDate).isValid()) {
|
|
1808
1841
|
// Dates are valid, proceed with formatting
|
|
1809
|
-
this.selectedDateRange.startDate = dayjs(event.startDate)
|
|
1810
|
-
|
|
1842
|
+
this.selectedDateRange.startDate = dayjs(event.startDate)
|
|
1843
|
+
.utc()
|
|
1844
|
+
.format("DD-MM-YYYY");
|
|
1845
|
+
this.selectedDateRange.endDate = dayjs(event.endDate)
|
|
1846
|
+
.utc()
|
|
1847
|
+
.format("DD-MM-YYYY");
|
|
1811
1848
|
}
|
|
1812
1849
|
else {
|
|
1813
1850
|
// Dates are not valid, handle the scenario accordingly
|
|
1814
|
-
console.error(
|
|
1815
|
-
// If you want to fallback to stored filters when the dates are invalid, you can keep the existing logic
|
|
1816
|
-
const storedFilters = JSON.parse(localStorage.getItem('dateRangeFilters') || '{}');
|
|
1817
|
-
if (storedFilters.startDate && storedFilters.endDate) {
|
|
1818
|
-
this.selectedDateRange.startDate = dayjs(storedFilters.startDate).format('DD-MM-YYYY');
|
|
1819
|
-
this.selectedDateRange.endDate = dayjs(storedFilters.endDate).format('DD-MM-YYYY');
|
|
1820
|
-
}
|
|
1851
|
+
console.error("Invalid dates provided:", event.startDate, event.endDate);
|
|
1821
1852
|
}
|
|
1822
1853
|
}
|
|
1823
1854
|
else {
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
// Fallback to stored filters or any other handling logic as needed
|
|
1855
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
1856
|
+
this.selectedFilters.date = headerFilters.date;
|
|
1827
1857
|
}
|
|
1828
1858
|
this.selectedFilters.date = this.selectedDateRange;
|
|
1829
|
-
|
|
1830
|
-
localStorage.setItem('dateRangeFilters', JSON.stringify(this.selectedDateRange));
|
|
1831
|
-
// this.globalService.sendData(this.selectedDateRange);
|
|
1859
|
+
console.log(this.selectedDateRange);
|
|
1832
1860
|
}
|
|
1833
|
-
|
|
1834
|
-
console.log('Selected date:', event);
|
|
1835
|
-
// Handle the selected date here
|
|
1836
|
-
}
|
|
1837
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassicComponent, deps: [{ token: i1.LayoutService }, { token: i2$1.GlobalStateService }, { token: i3$1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1838
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ClassicComponent, selector: "lib-classic", host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"py-3 dropdown1 cursor-pointer\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select\" (click)=\"Dropdown('Clients',i,$event)\">\r\n <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ?\r\n selectedValuesArray[i]?.length + ' ' + 'Clients'.split(' ').pop() : 'Clients' }}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute\">\r\n <div class=\"form-check d-flex align-items-center pt-3 px-5\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\"\r\n [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-3\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n\r\n <div class=\"border border-gray mt-3\"></div>\r\n <div class=\"mt-3 d-flex align-items-center mx-2\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path\r\n d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\"\r\n stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\"\r\n class=\"form-control searchinput ps-14 py-2 mt-2\" placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 px-5\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.clientName\" id=\"option{{issue.clientId}}\"\r\n [checked]=\"selectedValuesArray[i]?.includes(issue.clientId)\" (change)=\"toggleCheckbox(issue.clientId,i)\">\r\n <label class=\"form-check-label px-3 cursor-pointer\" for=\"option{{issue.clientId}}\">\r\n {{ issue.clientName }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>\r\n\r\n\r\n<!-- <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd \r\n [singleDatePicker]=\"true\"\r\n [drops]=\"'down'\"\r\n [opens]=\"'right'\"\r\n [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\"\r\n [showCancel]=\"true\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (selected)=\"onDateSelect($event)\"\r\n name=\"daterange\" /> -->\r\n\r\n<div class=\"btn btn-primary\" (click)=\"Apply()\">Apply</div>", styles: [".dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{z-index:1;padding:0;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:250px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }] });
|
|
1861
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassicComponent, deps: [{ token: i1.LayoutService }, { token: i2$1.GlobalStateService }, { token: i1$2.AuthService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1862
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ClassicComponent, selector: "lib-classic", host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"py-3 dropdown1 cursor-pointer\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select\" (click)=\"Dropdown('Clients',i,$event)\">\r\n <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ?\r\n selectedValuesArray[i]?.length + ' ' + 'Clients'.split(' ').pop() : 'Clients' }}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute\">\r\n <div class=\"form-check d-flex align-items-center pt-3 px-5\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\"\r\n [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-3\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n\r\n <div class=\"border border-gray mt-3\"></div>\r\n <div class=\"mt-3 d-flex align-items-center mx-2\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path\r\n d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\"\r\n stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\"\r\n class=\"form-control searchinput ps-14 py-2 mt-2\" placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 px-5\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.clientName\" id=\"option{{issue.clientId}}\"\r\n [checked]=\"selectedValuesArray[i]?.includes(issue.clientId)\" (change)=\"toggleCheckbox(issue.clientId,i)\">\r\n <label class=\"form-check-label px-3 cursor-pointer\" for=\"option{{issue.clientId}}\">\r\n {{ issue.clientName }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>\r\n\r\n\r\n<!-- <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd \r\n [singleDatePicker]=\"true\"\r\n [drops]=\"'down'\"\r\n [opens]=\"'right'\"\r\n [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\"\r\n [showCancel]=\"true\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (selected)=\"onDateSelect($event)\"\r\n name=\"daterange\" /> -->\r\n\r\n<div class=\"btn btn-primary\" (click)=\"Apply()\">Apply</div>", styles: [".dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{z-index:1;padding:0;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:250px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: 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"] }] });
|
|
1839
1863
|
}
|
|
1840
1864
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassicComponent, decorators: [{
|
|
1841
1865
|
type: Component,
|
|
1842
|
-
args: [{ selector: 'lib-classic', template: "<div class=\"py-3 dropdown1 cursor-pointer\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select\" (click)=\"Dropdown('Clients',i,$event)\">\r\n <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ?\r\n selectedValuesArray[i]?.length + ' ' + 'Clients'.split(' ').pop() : 'Clients' }}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute\">\r\n <div class=\"form-check d-flex align-items-center pt-3 px-5\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\"\r\n [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-3\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n\r\n <div class=\"border border-gray mt-3\"></div>\r\n <div class=\"mt-3 d-flex align-items-center mx-2\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path\r\n d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\"\r\n stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\"\r\n class=\"form-control searchinput ps-14 py-2 mt-2\" placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 px-5\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.clientName\" id=\"option{{issue.clientId}}\"\r\n [checked]=\"selectedValuesArray[i]?.includes(issue.clientId)\" (change)=\"toggleCheckbox(issue.clientId,i)\">\r\n <label class=\"form-check-label px-3 cursor-pointer\" for=\"option{{issue.clientId}}\">\r\n {{ issue.clientName }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>\r\n\r\n\r\n<!-- <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd \r\n [singleDatePicker]=\"true\"\r\n [drops]=\"'down'\"\r\n [opens]=\"'right'\"\r\n [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\"\r\n [showCancel]=\"true\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (selected)=\"onDateSelect($event)\"\r\n name=\"daterange\" /> -->\r\n\r\n<div class=\"btn btn-primary\" (click)=\"Apply()\">Apply</div>", styles: [".dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{z-index:1;padding:0;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:250px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}\n"] }]
|
|
1843
|
-
}], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2$1.GlobalStateService }, { type:
|
|
1866
|
+
args: [{ selector: "lib-classic", template: "<div class=\"py-3 dropdown1 cursor-pointer\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select\" (click)=\"Dropdown('Clients',i,$event)\">\r\n <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ?\r\n selectedValuesArray[i]?.length + ' ' + 'Clients'.split(' ').pop() : 'Clients' }}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute\">\r\n <div class=\"form-check d-flex align-items-center pt-3 px-5\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\"\r\n [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-3\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n\r\n <div class=\"border border-gray mt-3\"></div>\r\n <div class=\"mt-3 d-flex align-items-center mx-2\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path\r\n d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\"\r\n stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\"\r\n class=\"form-control searchinput ps-14 py-2 mt-2\" placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 px-5\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.clientName\" id=\"option{{issue.clientId}}\"\r\n [checked]=\"selectedValuesArray[i]?.includes(issue.clientId)\" (change)=\"toggleCheckbox(issue.clientId,i)\">\r\n <label class=\"form-check-label px-3 cursor-pointer\" for=\"option{{issue.clientId}}\">\r\n {{ issue.clientName }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>\r\n\r\n\r\n<!-- <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd \r\n [singleDatePicker]=\"true\"\r\n [drops]=\"'down'\"\r\n [opens]=\"'right'\"\r\n [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\"\r\n [showCancel]=\"true\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (selected)=\"onDateSelect($event)\"\r\n name=\"daterange\" /> -->\r\n\r\n<div class=\"btn btn-primary\" (click)=\"Apply()\">Apply</div>", styles: [".dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{z-index:1;padding:0;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:250px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}\n"] }]
|
|
1867
|
+
}], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2$1.GlobalStateService }, { type: i1$2.AuthService }, { type: i0.ChangeDetectorRef }], propDecorators: { onClick: [{
|
|
1844
1868
|
type: HostListener,
|
|
1845
|
-
args: [
|
|
1869
|
+
args: ["document:click", ["$event"]]
|
|
1846
1870
|
}] } });
|
|
1847
1871
|
|
|
1848
|
-
class
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
appToolbarDisplay;
|
|
1856
|
-
appToolbarContainer;
|
|
1857
|
-
appToolbarContainerCSSClass = '';
|
|
1858
|
-
appToolbarFixedDesktop;
|
|
1859
|
-
appToolbarFixedMobile;
|
|
1860
|
-
appPageTitleDisplay;
|
|
1861
|
-
// page title
|
|
1862
|
-
appPageTitleDirection = '';
|
|
1863
|
-
appPageTitleCSSClass = '';
|
|
1864
|
-
appPageTitleBreadcrumb;
|
|
1865
|
-
appPageTitleDescription;
|
|
1866
|
-
constructor(layout) {
|
|
1867
|
-
this.layout = layout;
|
|
1872
|
+
class CustomSelectComponent {
|
|
1873
|
+
cd;
|
|
1874
|
+
onClick(event) {
|
|
1875
|
+
const target = event.target;
|
|
1876
|
+
if (!target.closest('.dropdown')) {
|
|
1877
|
+
this.showDropdown = false;
|
|
1878
|
+
}
|
|
1868
1879
|
}
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1880
|
+
items;
|
|
1881
|
+
searchField;
|
|
1882
|
+
multi;
|
|
1883
|
+
idField;
|
|
1884
|
+
selectedValues = [];
|
|
1885
|
+
disabled;
|
|
1886
|
+
label;
|
|
1887
|
+
selected = new EventEmitter();
|
|
1888
|
+
filteredValues = [];
|
|
1889
|
+
showDropdown;
|
|
1890
|
+
searchValue;
|
|
1891
|
+
constructor(cd) {
|
|
1892
|
+
this.cd = cd;
|
|
1893
|
+
}
|
|
1894
|
+
ngOnChanges(changes) {
|
|
1895
|
+
if (changes['items'] && this.items?.length) {
|
|
1896
|
+
this.initializeItems();
|
|
1897
|
+
}
|
|
1898
|
+
if (changes['selectedValues'] && this.selectedValues?.length) {
|
|
1899
|
+
this.updateSelectedValues();
|
|
1900
|
+
}
|
|
1901
|
+
}
|
|
1902
|
+
initializeItems() {
|
|
1903
|
+
this.filteredValues = this.items.map((item) => ({ ...item }));
|
|
1904
|
+
this.updateSelectedValues();
|
|
1905
|
+
}
|
|
1906
|
+
updateSelectedValues() {
|
|
1907
|
+
this.selectedValues?.forEach((selectedItem) => {
|
|
1908
|
+
const item = this.filteredValues?.find((filteredItem) => filteredItem?.[this.idField] === selectedItem?.[this.idField]);
|
|
1909
|
+
if (item) {
|
|
1910
|
+
item.isSelected = true;
|
|
1911
|
+
}
|
|
1874
1912
|
});
|
|
1875
|
-
this.unsubscribe.push(subscr);
|
|
1876
1913
|
}
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1914
|
+
openDropdown(event) {
|
|
1915
|
+
event.stopPropagation();
|
|
1916
|
+
this.showDropdown = !this.showDropdown;
|
|
1917
|
+
}
|
|
1918
|
+
onInput(event) {
|
|
1919
|
+
if (!event.target.value) {
|
|
1920
|
+
this.filteredValues = [...this.items];
|
|
1881
1921
|
}
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
this.appToolbarContainer === 'fixed'
|
|
1886
|
-
? 'container-xxl'
|
|
1887
|
-
: 'container-fluid';
|
|
1888
|
-
const containerClass = this.layout.getProp('app.toolbar.containerClass', config);
|
|
1889
|
-
if (containerClass) {
|
|
1890
|
-
this.appToolbarContainerCSSClass += ` ${containerClass}`;
|
|
1922
|
+
else {
|
|
1923
|
+
const searchTerm = event.target.value.toLowerCase();
|
|
1924
|
+
this.filteredValues = this.items.filter((item) => item[this.searchField].toLowerCase().includes(searchTerm));
|
|
1891
1925
|
}
|
|
1892
|
-
this.
|
|
1893
|
-
|
|
1894
|
-
|
|
1926
|
+
this.cd.detectChanges();
|
|
1927
|
+
}
|
|
1928
|
+
onSelect(event, item) {
|
|
1929
|
+
if (this.multi) {
|
|
1930
|
+
if (event.currentTarget.checked) {
|
|
1931
|
+
this.selectedValues.push({ ...item });
|
|
1932
|
+
}
|
|
1933
|
+
else {
|
|
1934
|
+
this.selectedValues = this.selectedValues.filter((elem) => elem[this.idField] !== item[this.idField]);
|
|
1935
|
+
}
|
|
1895
1936
|
}
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1937
|
+
else {
|
|
1938
|
+
this.selectedValues = [{ ...item }];
|
|
1939
|
+
this.showDropdown = false;
|
|
1899
1940
|
}
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
this.
|
|
1905
|
-
|
|
1941
|
+
const valuesToEmit = this.selectedValues.map((value) => {
|
|
1942
|
+
const { isSelected, ...selectedItem } = value;
|
|
1943
|
+
return selectedItem;
|
|
1944
|
+
});
|
|
1945
|
+
this.cd.detectChanges();
|
|
1946
|
+
this.emitSelectedValues(valuesToEmit);
|
|
1906
1947
|
}
|
|
1907
|
-
|
|
1908
|
-
|
|
1948
|
+
onSelectAll(event) {
|
|
1949
|
+
const selectAll = event.currentTarget.checked;
|
|
1950
|
+
this.filteredValues.forEach((item) => item.isSelected = selectAll);
|
|
1951
|
+
if (selectAll) {
|
|
1952
|
+
this.selectedValues = [...this.filteredValues];
|
|
1953
|
+
}
|
|
1954
|
+
else {
|
|
1955
|
+
this.selectedValues = [];
|
|
1956
|
+
}
|
|
1957
|
+
const valuesToEmit = this.selectedValues.map((value) => {
|
|
1958
|
+
const { isSelected, ...selectedItem } = value;
|
|
1959
|
+
return selectedItem;
|
|
1960
|
+
});
|
|
1961
|
+
this.cd.detectChanges();
|
|
1962
|
+
this.emitSelectedValues(valuesToEmit);
|
|
1909
1963
|
}
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1964
|
+
emitSelectedValues(values) {
|
|
1965
|
+
if (this.multi) {
|
|
1966
|
+
this.selected.emit(values);
|
|
1967
|
+
}
|
|
1968
|
+
else {
|
|
1969
|
+
this.selected.emit(values[0]);
|
|
1970
|
+
}
|
|
1971
|
+
}
|
|
1972
|
+
checkIfAllSelected() {
|
|
1973
|
+
return this.filteredValues.every((item) => item.isSelected);
|
|
1914
1974
|
}
|
|
1915
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type:
|
|
1916
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type:
|
|
1975
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CustomSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1976
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CustomSelectComponent, selector: "lib-select", inputs: { items: "items", searchField: "searchField", multi: "multi", idField: "idField", selectedValues: "selectedValues", disabled: "disabled", label: "label" }, outputs: { selected: "selected" }, host: { listeners: { "document:click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n {{selectedValues?.length}} {{label}} Selected \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField]}}\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi\">\r\n <div class=\"form-check\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <label class=\"form-check-label\" for=\"selectAll\">\r\n Select All\r\n </label>\r\n </div>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues; let i = index\" >\r\n <div [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"i\">\r\n <label class=\"form-check-label\" [for]=\"i\">\r\n {{item[searchField]}}\r\n </label>\r\n </div>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>\r\n ", styles: [":host{width:100%;height:100%}.outer-container{z-index:1;position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:200px;overflow-y:scroll;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul li{list-style:none;padding:10px 16px}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: 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.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1917
1977
|
}
|
|
1918
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type:
|
|
1978
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CustomSelectComponent, decorators: [{
|
|
1919
1979
|
type: Component,
|
|
1920
|
-
args: [{ selector: 'lib-
|
|
1921
|
-
}], ctorParameters: () => [{ type:
|
|
1980
|
+
args: [{ selector: 'lib-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n {{selectedValues?.length}} {{label}} Selected \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField]}}\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi\">\r\n <div class=\"form-check\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <label class=\"form-check-label\" for=\"selectAll\">\r\n Select All\r\n </label>\r\n </div>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues; let i = index\" >\r\n <div [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"i\">\r\n <label class=\"form-check-label\" [for]=\"i\">\r\n {{item[searchField]}}\r\n </label>\r\n </div>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>\r\n ", styles: [":host{width:100%;height:100%}.outer-container{z-index:1;position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:200px;overflow-y:scroll;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul li{list-style:none;padding:10px 16px}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}\n"] }]
|
|
1981
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { onClick: [{
|
|
1982
|
+
type: HostListener,
|
|
1983
|
+
args: ['document:click', ['$event']]
|
|
1984
|
+
}], items: [{
|
|
1922
1985
|
type: Input
|
|
1923
|
-
}],
|
|
1986
|
+
}], searchField: [{
|
|
1924
1987
|
type: Input
|
|
1925
|
-
}]
|
|
1926
|
-
|
|
1927
|
-
class SidebarLogoComponent {
|
|
1928
|
-
layout;
|
|
1929
|
-
unsubscribe = [];
|
|
1930
|
-
toggleButtonClass = '';
|
|
1931
|
-
toggleEnabled;
|
|
1932
|
-
toggleType = '';
|
|
1933
|
-
toggleState = '';
|
|
1934
|
-
currentLayoutType;
|
|
1935
|
-
toggleAttr;
|
|
1936
|
-
constructor(layout) {
|
|
1937
|
-
this.layout = layout;
|
|
1938
|
-
}
|
|
1939
|
-
ngOnInit() {
|
|
1940
|
-
this.toggleAttr = `app-sidebar-${this.toggleType}`;
|
|
1941
|
-
const layoutSubscr = this.layout.currentLayoutTypeSubject
|
|
1942
|
-
.asObservable()
|
|
1943
|
-
.subscribe((layout) => {
|
|
1944
|
-
this.currentLayoutType = layout;
|
|
1945
|
-
});
|
|
1946
|
-
this.unsubscribe.push(layoutSubscr);
|
|
1947
|
-
}
|
|
1948
|
-
ngOnDestroy() {
|
|
1949
|
-
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
1950
|
-
}
|
|
1951
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarLogoComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1952
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarLogoComponent, selector: "lib-sidebar-logo", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState" }, ngImport: i0, template: "<!--begin::Logo image-->\r\n<a routerLink=\"/dashboard\">\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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
1953
|
-
}
|
|
1954
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarLogoComponent, decorators: [{
|
|
1955
|
-
type: Component,
|
|
1956
|
-
args: [{ selector: 'lib-sidebar-logo', template: "<!--begin::Logo image-->\r\n<a routerLink=\"/dashboard\">\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" }]
|
|
1957
|
-
}], ctorParameters: () => [{ type: i1.LayoutService }], propDecorators: { toggleButtonClass: [{
|
|
1988
|
+
}], multi: [{
|
|
1958
1989
|
type: Input
|
|
1959
|
-
}],
|
|
1990
|
+
}], idField: [{
|
|
1960
1991
|
type: Input
|
|
1961
|
-
}],
|
|
1992
|
+
}], selectedValues: [{
|
|
1962
1993
|
type: Input
|
|
1963
|
-
}],
|
|
1994
|
+
}], disabled: [{
|
|
1995
|
+
type: Input
|
|
1996
|
+
}], label: [{
|
|
1964
1997
|
type: Input
|
|
1998
|
+
}], selected: [{
|
|
1999
|
+
type: Output
|
|
1965
2000
|
}] } });
|
|
1966
2001
|
|
|
1967
|
-
class
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", 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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\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\">Birds Eye</span>\r\n </a>\r\n </div>\r\n\r\n <!-- Tango Traffic -->\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\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 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\">\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\">\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\">\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 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\">\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\">\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\">\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\">\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\" routerLink=\"/crafted/account/settings\">\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 <!-- Manage -->\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 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 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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/overview\">\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\">Overview\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/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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users\">\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 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 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 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 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>\r\n </div>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n<!--end::Menu wrapper-->", styles: [""], dependencies: [{ kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
|
|
2002
|
+
class ClientSettingsComponent {
|
|
2003
|
+
auth;
|
|
2004
|
+
gs;
|
|
2005
|
+
cd;
|
|
2006
|
+
clientList = [];
|
|
2007
|
+
selectedClient;
|
|
2008
|
+
selectedFilters = {
|
|
2009
|
+
client: null,
|
|
2010
|
+
clients: [],
|
|
2011
|
+
store: null,
|
|
2012
|
+
stores: [],
|
|
2013
|
+
date: null,
|
|
2014
|
+
};
|
|
2015
|
+
constructor(auth, gs, cd) {
|
|
2016
|
+
this.auth = auth;
|
|
2017
|
+
this.gs = gs;
|
|
2018
|
+
this.cd = cd;
|
|
2019
|
+
this.auth.getClients().subscribe({
|
|
2020
|
+
next: (e) => {
|
|
2021
|
+
if (e) {
|
|
2022
|
+
this.clientList = e.data.result;
|
|
2023
|
+
if ("header-filters" in localStorage) {
|
|
2024
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2025
|
+
this.cd.detectChanges();
|
|
2026
|
+
if (headerFilters.client) {
|
|
2027
|
+
this.clientList.find((obj) => {
|
|
2028
|
+
if (obj.clientId === headerFilters.client) {
|
|
2029
|
+
this.selectedClient = obj;
|
|
2030
|
+
}
|
|
2031
|
+
});
|
|
2032
|
+
}
|
|
2033
|
+
else {
|
|
2034
|
+
this.selectedClient = this.clientList[0];
|
|
2035
|
+
this.gs.selectedClient.next(this.selectedClient);
|
|
2036
|
+
this.cd.detectChanges();
|
|
2037
|
+
}
|
|
2038
|
+
this.selectedFilters.client = headerFilters.client;
|
|
2039
|
+
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2040
|
+
}
|
|
2041
|
+
}
|
|
2042
|
+
else {
|
|
2043
|
+
}
|
|
2044
|
+
},
|
|
2045
|
+
});
|
|
2046
|
+
}
|
|
2047
|
+
onClientSelect(event) {
|
|
2048
|
+
this.selectedClient = event;
|
|
2049
|
+
this.gs.selectedClient.next(this.selectedClient);
|
|
2050
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2051
|
+
this.selectedFilters = headerFilters;
|
|
2052
|
+
this.selectedFilters.client = this.selectedClient.clientId;
|
|
2053
|
+
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2054
|
+
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
2055
|
+
}
|
|
2056
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClientSettingsComponent, deps: [{ token: i1$2.AuthService }, { token: i2$1.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2057
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ClientSettingsComponent, selector: "lib-client-settings", ngImport: i0, template: " <div class=\"wrapper\" >\r\n <lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'clientName'\" [disabled]=\"false\" [idField]=\"'clientId'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n </div>\r\n", styles: [".wrapper{min-width:200px}\n"], dependencies: [{ kind: "component", type: CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }] });
|
|
2058
|
+
}
|
|
2059
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClientSettingsComponent, decorators: [{
|
|
2060
|
+
type: Component,
|
|
2061
|
+
args: [{ selector: 'lib-client-settings', template: " <div class=\"wrapper\" >\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", styles: [".wrapper{min-width:200px}\n"] }]
|
|
2062
|
+
}], ctorParameters: () => [{ type: i1$2.AuthService }, { type: i2$1.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
|
|
2063
|
+
|
|
2064
|
+
class DatepickerComponent {
|
|
2065
|
+
layout;
|
|
2066
|
+
gs;
|
|
2067
|
+
service;
|
|
2068
|
+
cd;
|
|
2069
|
+
unsubscribe = [];
|
|
2070
|
+
isCustomDate;
|
|
2071
|
+
selectedDateRange = {};
|
|
2072
|
+
selectedFilters = {
|
|
2073
|
+
client: null,
|
|
2074
|
+
clients: [],
|
|
2075
|
+
store: null,
|
|
2076
|
+
stores: [],
|
|
2077
|
+
date: null,
|
|
2078
|
+
};
|
|
2079
|
+
constructor(layout, gs, service, cd) {
|
|
2080
|
+
this.layout = layout;
|
|
2081
|
+
this.gs = gs;
|
|
2082
|
+
this.service = service;
|
|
2083
|
+
this.cd = cd;
|
|
2084
|
+
}
|
|
2085
|
+
ngOnDestroy() {
|
|
2086
|
+
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
2087
|
+
}
|
|
2088
|
+
ngOnInit() {
|
|
2089
|
+
if ("header-filters" in localStorage) {
|
|
2090
|
+
const headerFilters = JSON.parse(localStorage.getItem('header-filters') || '{}');
|
|
2091
|
+
// if (headerFilters.date) {
|
|
2092
|
+
this.selectedFilters.date = headerFilters.date;
|
|
2093
|
+
this.selectedDateRange.startDate = headerFilters.date.startDate;
|
|
2094
|
+
this.selectedDateRange.endDate = headerFilters.date.endDate;
|
|
2095
|
+
// this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2096
|
+
this.cd.detectChanges();
|
|
2097
|
+
// }
|
|
2098
|
+
}
|
|
2099
|
+
else {
|
|
2100
|
+
this.selectedDateRange.startDate = dayjs().format("MM-DD-YYYY");
|
|
2101
|
+
this.selectedDateRange.endDate = dayjs().format("MM-DD-YYYY");
|
|
2102
|
+
}
|
|
2103
|
+
}
|
|
2104
|
+
ranges = {
|
|
2105
|
+
'Today': [dayjs(), dayjs()],
|
|
2106
|
+
'Yesterday': [dayjs().subtract(1, 'days'), dayjs().subtract(1, 'days')],
|
|
2107
|
+
'This Week': [dayjs().subtract(6, 'days'), dayjs()],
|
|
2108
|
+
'Last Week': [dayjs().subtract(14, 'days').startOf('days'), dayjs().subtract(8, 'days').endOf('days')],
|
|
2109
|
+
'This Month': [dayjs().startOf('month'), dayjs().endOf('month')],
|
|
2110
|
+
'Last Month': [
|
|
2111
|
+
dayjs().subtract(1, 'month').startOf('month'),
|
|
2112
|
+
dayjs().subtract(1, 'month').endOf('month')
|
|
2113
|
+
]
|
|
2114
|
+
};
|
|
2115
|
+
onStartDateChange(event) {
|
|
2116
|
+
if (dayjs(event.startDate).isValid()) {
|
|
2117
|
+
this.isCustomDate = (m) => {
|
|
2118
|
+
const isValidDate = m > dayjs() || m > dayjs(event.startDate.add(90, 'days'));
|
|
2119
|
+
return isValidDate ? 'invalid-date' : false;
|
|
2120
|
+
};
|
|
2121
|
+
}
|
|
2122
|
+
}
|
|
2123
|
+
datechange(event) {
|
|
2124
|
+
// debugger
|
|
2125
|
+
if (event && event.startDate && event.endDate) {
|
|
2126
|
+
if (dayjs(event.startDate).isValid() && dayjs(event.endDate).isValid()) {
|
|
2127
|
+
// Dates are valid, proceed with formatting
|
|
2128
|
+
this.selectedDateRange.startDate = dayjs(event.startDate).utc().format('DD-MM-YYYY');
|
|
2129
|
+
this.selectedDateRange.endDate = dayjs(event.endDate).utc().format('DD-MM-YYYY');
|
|
2130
|
+
}
|
|
2131
|
+
else {
|
|
2132
|
+
// Dates are not valid, handle the scenario accordingly
|
|
2133
|
+
console.error('Invalid dates provided:', event.startDate, event.endDate);
|
|
2134
|
+
// If you want to fallback to stored filters when the dates are invalid, you can keep the existing logic
|
|
2135
|
+
const storedFilters = JSON.parse(localStorage.getItem('header-filters') || '{}');
|
|
2136
|
+
if (storedFilters.startDate && storedFilters.endDate) {
|
|
2137
|
+
this.selectedDateRange.startDate = dayjs(storedFilters.startDate).format('DD-MM-YYYY');
|
|
2138
|
+
this.selectedDateRange.endDate = dayjs(storedFilters.endDate).format('DD-MM-YYYY');
|
|
2139
|
+
}
|
|
2140
|
+
}
|
|
2141
|
+
}
|
|
2142
|
+
else {
|
|
2143
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2144
|
+
this.selectedFilters.date = headerFilters.date;
|
|
2145
|
+
}
|
|
2146
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2147
|
+
this.selectedFilters = headerFilters;
|
|
2148
|
+
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2149
|
+
this.selectedFilters.date = this.selectedDateRange;
|
|
2150
|
+
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
2151
|
+
// this.globalService.sendData(this.selectedDateRange);
|
|
2152
|
+
}
|
|
2153
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DatepickerComponent, deps: [{ token: i1.LayoutService }, { token: i2$1.GlobalStateService }, { token: i1$2.AuthService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2154
|
+
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"] }] });
|
|
2155
|
+
}
|
|
2156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DatepickerComponent, decorators: [{
|
|
2157
|
+
type: Component,
|
|
2158
|
+
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"] }]
|
|
2159
|
+
}], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2$1.GlobalStateService }, { type: i1$2.AuthService }, { type: i0.ChangeDetectorRef }] });
|
|
2160
|
+
|
|
2161
|
+
class DateSingleSelectComponent {
|
|
2162
|
+
auth;
|
|
2163
|
+
gs;
|
|
2164
|
+
cd;
|
|
2165
|
+
isCustomDate;
|
|
2166
|
+
selectedDateRange = {};
|
|
2167
|
+
clientList = [];
|
|
2168
|
+
selectedClient;
|
|
2169
|
+
selectedFilters = {
|
|
2170
|
+
client: null,
|
|
2171
|
+
clients: [],
|
|
2172
|
+
store: null,
|
|
2173
|
+
stores: [],
|
|
2174
|
+
date: null,
|
|
2175
|
+
};
|
|
2176
|
+
constructor(auth, gs, cd) {
|
|
2177
|
+
this.auth = auth;
|
|
2178
|
+
this.gs = gs;
|
|
2179
|
+
this.cd = cd;
|
|
2180
|
+
this.auth.getClients().subscribe({
|
|
2181
|
+
next: (e) => {
|
|
2182
|
+
if (e) {
|
|
2183
|
+
this.clientList = e.data.result;
|
|
2184
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2185
|
+
this.cd.detectChanges();
|
|
2186
|
+
if (headerFilters.client) {
|
|
2187
|
+
this.clientList.find((obj) => {
|
|
2188
|
+
if (obj.clientId === headerFilters.client) {
|
|
2189
|
+
this.selectedClient = obj;
|
|
2190
|
+
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2191
|
+
}
|
|
2192
|
+
});
|
|
2193
|
+
}
|
|
2194
|
+
else {
|
|
2195
|
+
this.selectedClient = this.clientList[0];
|
|
2196
|
+
this.gs.selectedClient.next(this.selectedClient);
|
|
2197
|
+
this.cd.detectChanges();
|
|
2198
|
+
}
|
|
2199
|
+
}
|
|
2200
|
+
},
|
|
2201
|
+
});
|
|
2202
|
+
}
|
|
2203
|
+
ngOnInit() {
|
|
2204
|
+
if ("header-filters" in localStorage) {
|
|
2205
|
+
const headerFilters = JSON.parse(localStorage.getItem('header-filters') || '{}');
|
|
2206
|
+
this.cd.detectChanges();
|
|
2207
|
+
if (headerFilters.client) {
|
|
2208
|
+
this.clientList.find((obj) => {
|
|
2209
|
+
if (obj.clientId === headerFilters.client) {
|
|
2210
|
+
this.selectedClient = obj;
|
|
2211
|
+
}
|
|
2212
|
+
});
|
|
2213
|
+
}
|
|
2214
|
+
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2215
|
+
this.selectedFilters.client = headerFilters.client;
|
|
2216
|
+
this.selectedFilters.clients = [headerFilters.clients];
|
|
2217
|
+
this.selectedFilters.date = headerFilters.date;
|
|
2218
|
+
this.selectedDateRange.startDate = headerFilters.date.startDate;
|
|
2219
|
+
this.selectedDateRange.endDate = headerFilters.date.endDate;
|
|
2220
|
+
}
|
|
2221
|
+
else {
|
|
2222
|
+
this.selectedDateRange.startDate = dayjs().format('MM-DD-YYYY');
|
|
2223
|
+
this.selectedDateRange.endDate = dayjs().format('MM-DD-YYYY');
|
|
2224
|
+
}
|
|
2225
|
+
}
|
|
2226
|
+
onClientSelect(event) {
|
|
2227
|
+
this.selectedClient = event;
|
|
2228
|
+
this.gs.selectedClient.next(this.selectedClient);
|
|
2229
|
+
}
|
|
2230
|
+
ranges = {
|
|
2231
|
+
'Today': [dayjs(), dayjs()],
|
|
2232
|
+
'Yesterday': [dayjs().subtract(1, 'days'), dayjs().subtract(1, 'days')],
|
|
2233
|
+
'This Week': [dayjs().subtract(6, 'days'), dayjs()],
|
|
2234
|
+
'Last Week': [dayjs().subtract(14, 'days').startOf('days'), dayjs().subtract(8, 'days').endOf('days')],
|
|
2235
|
+
'This Month': [dayjs().startOf('month'), dayjs().endOf('month')],
|
|
2236
|
+
'Last Month': [
|
|
2237
|
+
dayjs().subtract(1, 'month').startOf('month'),
|
|
2238
|
+
dayjs().subtract(1, 'month').endOf('month')
|
|
2239
|
+
]
|
|
2240
|
+
};
|
|
2241
|
+
onStartDateChange(event) {
|
|
2242
|
+
if (dayjs(event.startDate).isValid()) {
|
|
2243
|
+
this.isCustomDate = (m) => {
|
|
2244
|
+
const isValidDate = m > dayjs() || m > dayjs(event.startDate.add(90, 'days'));
|
|
2245
|
+
return isValidDate ? 'invalid-date' : false;
|
|
2246
|
+
};
|
|
2247
|
+
}
|
|
2248
|
+
}
|
|
2249
|
+
datechange(event) {
|
|
2250
|
+
if (event && event.startDate && event.endDate) {
|
|
2251
|
+
if (dayjs(event.startDate).isValid() && dayjs(event.endDate).isValid()) {
|
|
2252
|
+
// Dates are valid, proceed with formatting
|
|
2253
|
+
this.selectedDateRange.startDate = dayjs(event.startDate).utc().format('DD-MM-YYYY');
|
|
2254
|
+
this.selectedDateRange.endDate = dayjs(event.endDate).utc().format('DD-MM-YYYY');
|
|
2255
|
+
}
|
|
2256
|
+
else {
|
|
2257
|
+
// Dates are not valid, handle the scenario accordingly
|
|
2258
|
+
console.error('Invalid dates provided:', event.startDate, event.endDate);
|
|
2259
|
+
// If you want to fallback to stored filters when the dates are invalid, you can keep the existing logic
|
|
2260
|
+
// const storedFilters = JSON.parse(localStorage.getItem('dateRangeFilters') || '{}');
|
|
2261
|
+
// if (storedFilters.startDate && storedFilters.endDate) {
|
|
2262
|
+
// this.selectedDateRange.startDate = dayjs(storedFilters.startDate).format('DD-MM-YYYY');
|
|
2263
|
+
// this.selectedDateRange.endDate = dayjs(storedFilters.endDate).format('DD-MM-YYYY');
|
|
2264
|
+
// }
|
|
2265
|
+
}
|
|
2266
|
+
}
|
|
2267
|
+
else {
|
|
2268
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2269
|
+
this.selectedFilters.date = headerFilters.date;
|
|
2270
|
+
}
|
|
2271
|
+
this.selectedFilters.date = this.selectedDateRange;
|
|
2272
|
+
// this.globalService.sendData(JSON.stringify(this.selectedFilters.date));
|
|
2273
|
+
// localStorage.setItem('dateRangeFilters', JSON.stringify(this.selectedDateRange));
|
|
2274
|
+
// this.globalService.sendData(this.selectedDateRange);
|
|
2275
|
+
}
|
|
2276
|
+
Apply() {
|
|
2277
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2278
|
+
this.selectedFilters = headerFilters;
|
|
2279
|
+
this.selectedFilters.client = this.selectedClient.clientId;
|
|
2280
|
+
this.selectedFilters.date = this.selectedDateRange;
|
|
2281
|
+
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2282
|
+
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
2283
|
+
}
|
|
2284
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DateSingleSelectComponent, deps: [{ token: i1$2.AuthService }, { token: i2$1.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2285
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DateSingleSelectComponent, selector: "lib-date-single-select", ngImport: i0, template: "<div class=\"wrapper mx-2\" >\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\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\" 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<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: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}.wrapper{min-width:200px}\n"], dependencies: [{ kind: "component", type: CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { 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"] }] });
|
|
2286
|
+
}
|
|
2287
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DateSingleSelectComponent, decorators: [{
|
|
2288
|
+
type: Component,
|
|
2289
|
+
args: [{ selector: 'lib-date-single-select', template: "<div class=\"wrapper mx-2\" >\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\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\" 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<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: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}.wrapper{min-width:200px}\n"] }]
|
|
2290
|
+
}], ctorParameters: () => [{ type: i1$2.AuthService }, { type: i2$1.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
|
|
2291
|
+
|
|
2292
|
+
class SingleStoreComponent {
|
|
2293
|
+
auth;
|
|
2294
|
+
gs;
|
|
2295
|
+
cd;
|
|
2296
|
+
isCustomDate;
|
|
2297
|
+
selectedDateRange = {};
|
|
2298
|
+
storeList = [];
|
|
2299
|
+
selectedClient;
|
|
2300
|
+
selectedFilters = {
|
|
2301
|
+
client: null,
|
|
2302
|
+
clients: [],
|
|
2303
|
+
store: null,
|
|
2304
|
+
stores: [],
|
|
2305
|
+
date: null,
|
|
2306
|
+
};
|
|
2307
|
+
constructor(auth, gs, cd) {
|
|
2308
|
+
this.auth = auth;
|
|
2309
|
+
this.gs = gs;
|
|
2310
|
+
this.cd = cd;
|
|
2311
|
+
this.auth.getStores().subscribe({
|
|
2312
|
+
next: (e) => {
|
|
2313
|
+
if (e) {
|
|
2314
|
+
this.storeList = e.data.result;
|
|
2315
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2316
|
+
this.cd.detectChanges();
|
|
2317
|
+
if (headerFilters.store) {
|
|
2318
|
+
this.storeList.find((obj) => {
|
|
2319
|
+
if (obj.storeId === headerFilters.store) {
|
|
2320
|
+
this.selectedClient = obj;
|
|
2321
|
+
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2322
|
+
}
|
|
2323
|
+
});
|
|
2324
|
+
}
|
|
2325
|
+
else {
|
|
2326
|
+
this.selectedClient = this.storeList[0];
|
|
2327
|
+
this.gs.selectedClient.next(this.selectedClient);
|
|
2328
|
+
this.cd.detectChanges();
|
|
2329
|
+
}
|
|
2330
|
+
}
|
|
2331
|
+
},
|
|
2332
|
+
});
|
|
2333
|
+
}
|
|
2334
|
+
ngOnInit() {
|
|
2335
|
+
if ("header-filters" in localStorage) {
|
|
2336
|
+
const headerFilters = JSON.parse(localStorage.getItem('header-filters') || '{}');
|
|
2337
|
+
this.cd.detectChanges();
|
|
2338
|
+
if (headerFilters.store) {
|
|
2339
|
+
this.storeList.find((obj) => {
|
|
2340
|
+
if (obj.storeId === headerFilters.store) {
|
|
2341
|
+
this.selectedClient = obj;
|
|
2342
|
+
}
|
|
2343
|
+
});
|
|
2344
|
+
}
|
|
2345
|
+
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2346
|
+
this.selectedFilters.store = headerFilters.store;
|
|
2347
|
+
this.selectedFilters.client = headerFilters.client;
|
|
2348
|
+
this.selectedFilters.clients = [headerFilters.clients];
|
|
2349
|
+
this.selectedFilters.date = headerFilters.date;
|
|
2350
|
+
this.selectedDateRange.startDate = headerFilters.date.startDate;
|
|
2351
|
+
this.selectedDateRange.endDate = headerFilters.date.endDate;
|
|
2352
|
+
}
|
|
2353
|
+
else {
|
|
2354
|
+
this.selectedDateRange.startDate = dayjs().format('MM-DD-YYYY');
|
|
2355
|
+
this.selectedDateRange.endDate = dayjs().format('MM-DD-YYYY');
|
|
2356
|
+
}
|
|
2357
|
+
}
|
|
2358
|
+
onClientSelect(event) {
|
|
2359
|
+
this.selectedClient = event;
|
|
2360
|
+
this.gs.selectedClient.next(this.selectedClient);
|
|
2361
|
+
}
|
|
2362
|
+
ranges = {
|
|
2363
|
+
'Today': [dayjs(), dayjs()],
|
|
2364
|
+
'Yesterday': [dayjs().subtract(1, 'days'), dayjs().subtract(1, 'days')],
|
|
2365
|
+
'This Week': [dayjs().subtract(6, 'days'), dayjs()],
|
|
2366
|
+
'Last Week': [dayjs().subtract(14, 'days').startOf('days'), dayjs().subtract(8, 'days').endOf('days')],
|
|
2367
|
+
'This Month': [dayjs().startOf('month'), dayjs().endOf('month')],
|
|
2368
|
+
'Last Month': [
|
|
2369
|
+
dayjs().subtract(1, 'month').startOf('month'),
|
|
2370
|
+
dayjs().subtract(1, 'month').endOf('month')
|
|
2371
|
+
]
|
|
2372
|
+
};
|
|
2373
|
+
onStartDateChange(event) {
|
|
2374
|
+
if (dayjs(event.startDate).isValid()) {
|
|
2375
|
+
this.isCustomDate = (m) => {
|
|
2376
|
+
const isValidDate = m > dayjs() || m > dayjs(event.startDate.add(90, 'days'));
|
|
2377
|
+
return isValidDate ? 'invalid-date' : false;
|
|
2378
|
+
};
|
|
2379
|
+
}
|
|
2380
|
+
}
|
|
2381
|
+
datechange(event) {
|
|
2382
|
+
if (event && event.startDate && event.endDate) {
|
|
2383
|
+
if (dayjs(event.startDate).isValid() && dayjs(event.endDate).isValid()) {
|
|
2384
|
+
// Dates are valid, proceed with formatting
|
|
2385
|
+
this.selectedDateRange.startDate = dayjs(event.startDate).utc().format('DD-MM-YYYY');
|
|
2386
|
+
this.selectedDateRange.endDate = dayjs(event.endDate).utc().format('DD-MM-YYYY');
|
|
2387
|
+
}
|
|
2388
|
+
else {
|
|
2389
|
+
// Dates are not valid, handle the scenario accordingly
|
|
2390
|
+
console.error('Invalid dates provided:', event.startDate, event.endDate);
|
|
2391
|
+
// If you want to fallback to stored filters when the dates are invalid, you can keep the existing logic
|
|
2392
|
+
// const storedFilters = JSON.parse(localStorage.getItem('dateRangeFilters') || '{}');
|
|
2393
|
+
// if (storedFilters.startDate && storedFilters.endDate) {
|
|
2394
|
+
// this.selectedDateRange.startDate = dayjs(storedFilters.startDate).format('DD-MM-YYYY');
|
|
2395
|
+
// this.selectedDateRange.endDate = dayjs(storedFilters.endDate).format('DD-MM-YYYY');
|
|
2396
|
+
// }
|
|
2397
|
+
}
|
|
2398
|
+
}
|
|
2399
|
+
else {
|
|
2400
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2401
|
+
this.selectedFilters.date = headerFilters.date;
|
|
2402
|
+
}
|
|
2403
|
+
this.selectedFilters.date = this.selectedDateRange;
|
|
2404
|
+
// this.globalService.sendData(JSON.stringify(this.selectedFilters.date));
|
|
2405
|
+
// localStorage.setItem('dateRangeFilters', JSON.stringify(this.selectedDateRange));
|
|
2406
|
+
// this.globalService.sendData(this.selectedDateRange);
|
|
2407
|
+
}
|
|
2408
|
+
Apply() {
|
|
2409
|
+
const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
|
|
2410
|
+
this.selectedFilters = headerFilters;
|
|
2411
|
+
this.selectedFilters.store = this.selectedClient.store;
|
|
2412
|
+
this.selectedFilters.date = this.selectedDateRange;
|
|
2413
|
+
this.gs.dataRangeValue.next(this.selectedFilters);
|
|
2414
|
+
localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
|
|
2415
|
+
}
|
|
2416
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SingleStoreComponent, deps: [{ token: i1$2.AuthService }, { token: i2$1.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2417
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", 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\" 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<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: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}.wrapper{min-width:200px}\n"], dependencies: [{ kind: "component", type: CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { 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"] }] });
|
|
2418
|
+
}
|
|
2419
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SingleStoreComponent, decorators: [{
|
|
2420
|
+
type: Component,
|
|
2421
|
+
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\" 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<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: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}.wrapper{min-width:200px}\n"] }]
|
|
2422
|
+
}], ctorParameters: () => [{ type: i1$2.AuthService }, { type: i2$1.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
|
|
2423
|
+
|
|
2424
|
+
class ToolbarComponent {
|
|
2425
|
+
layout;
|
|
2426
|
+
router;
|
|
2427
|
+
route;
|
|
2428
|
+
unsubscribe = [];
|
|
2429
|
+
// Public props
|
|
2430
|
+
currentLayoutType;
|
|
2431
|
+
appToolbarLayout;
|
|
2432
|
+
// toolbar
|
|
2433
|
+
appToolbarDisplay;
|
|
2434
|
+
appToolbarContainer;
|
|
2435
|
+
appToolbarContainerCSSClass = "";
|
|
2436
|
+
appToolbarFixedDesktop;
|
|
2437
|
+
appToolbarFixedMobile;
|
|
2438
|
+
appPageTitleDisplay;
|
|
2439
|
+
// page title
|
|
2440
|
+
appPageTitleDirection = "";
|
|
2441
|
+
appPageTitleCSSClass = "";
|
|
2442
|
+
appPageTitleBreadcrumb;
|
|
2443
|
+
appPageTitleDescription;
|
|
2444
|
+
querParams;
|
|
2445
|
+
singleSelect;
|
|
2446
|
+
multiSelect;
|
|
2447
|
+
datepicker;
|
|
2448
|
+
singleSelectdatepicker;
|
|
2449
|
+
singleStore;
|
|
2450
|
+
constructor(layout, router, route) {
|
|
2451
|
+
this.layout = layout;
|
|
2452
|
+
this.router = router;
|
|
2453
|
+
this.route = route;
|
|
2454
|
+
}
|
|
2455
|
+
ngOnInit() {
|
|
2456
|
+
const subscr = this.layout.layoutConfigSubject
|
|
2457
|
+
.asObservable()
|
|
2458
|
+
.subscribe((config) => {
|
|
2459
|
+
this.updateProps(config);
|
|
2460
|
+
});
|
|
2461
|
+
this.unsubscribe.push(subscr);
|
|
2462
|
+
let url = this.router.url.split("/");
|
|
2463
|
+
this.route.queryParams.subscribe((queryParams) => {
|
|
2464
|
+
this.querParams = queryParams;
|
|
2465
|
+
});
|
|
2466
|
+
}
|
|
2467
|
+
updateProps(config) {
|
|
2468
|
+
this.appToolbarDisplay = this.layout.getProp("app.toolbar.display", config);
|
|
2469
|
+
if (!this.appToolbarDisplay) {
|
|
2470
|
+
return;
|
|
2471
|
+
}
|
|
2472
|
+
this.appPageTitleDisplay = this.layout.getProp("app.pageTitle.display", config);
|
|
2473
|
+
this.appToolbarContainer = this.layout.getProp("app.toolbar.container", config);
|
|
2474
|
+
this.appToolbarContainerCSSClass =
|
|
2475
|
+
this.appToolbarContainer === "fixed"
|
|
2476
|
+
? "container-xxl"
|
|
2477
|
+
: "container-fluid";
|
|
2478
|
+
const containerClass = this.layout.getProp("app.toolbar.containerClass", config);
|
|
2479
|
+
if (containerClass) {
|
|
2480
|
+
this.appToolbarContainerCSSClass += ` ${containerClass}`;
|
|
2481
|
+
}
|
|
2482
|
+
this.appToolbarFixedDesktop = this.layout.getProp("app.toolbar.fixed.desktop", config);
|
|
2483
|
+
if (this.appToolbarFixedDesktop) {
|
|
2484
|
+
document.body.setAttribute("data-kt-app-toolbar-fixed", "true");
|
|
2485
|
+
}
|
|
2486
|
+
this.appToolbarFixedMobile = this.layout.getProp("app.toolbar.fixed.mobile", config);
|
|
2487
|
+
if (this.appToolbarFixedMobile) {
|
|
2488
|
+
document.body.setAttribute("data-kt-app-toolbar-fixed-mobile", "true");
|
|
2489
|
+
}
|
|
2490
|
+
// toolbar
|
|
2491
|
+
this.appPageTitleDirection = this.layout.getProp("app.pageTitle.direction", config);
|
|
2492
|
+
this.appPageTitleCSSClass = this.layout.getProp("app.pageTitle.class", config);
|
|
2493
|
+
this.appPageTitleBreadcrumb = this.layout.getProp("app.pageTitle.breadCrumb", config);
|
|
2494
|
+
this.appPageTitleDescription = this.layout.getProp("app.pageTitle.description", config);
|
|
2495
|
+
document.body.setAttribute("data-kt-app-toolbar-enabled", "true");
|
|
2496
|
+
}
|
|
2497
|
+
ngOnDestroy() {
|
|
2498
|
+
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
2499
|
+
}
|
|
2500
|
+
showPageTitle() {
|
|
2501
|
+
if (this.router.url == "/manage/settings") {
|
|
2502
|
+
this.singleSelect = true;
|
|
2503
|
+
this.multiSelect = false;
|
|
2504
|
+
this.datepicker = false;
|
|
2505
|
+
this.singleStore = false;
|
|
2506
|
+
this.singleSelectdatepicker = false;
|
|
2507
|
+
}
|
|
2508
|
+
else if (this.router.url == "/manage/brands") {
|
|
2509
|
+
this.singleSelect = false;
|
|
2510
|
+
this.multiSelect = false;
|
|
2511
|
+
this.datepicker = false;
|
|
2512
|
+
this.singleStore = false;
|
|
2513
|
+
this.singleSelectdatepicker = false;
|
|
2514
|
+
}
|
|
2515
|
+
else if (this.router.url == "/manage/users") {
|
|
2516
|
+
this.singleSelect = false;
|
|
2517
|
+
this.multiSelect = false;
|
|
2518
|
+
this.datepicker = true;
|
|
2519
|
+
this.singleStore = false;
|
|
2520
|
+
this.singleSelectdatepicker = false;
|
|
2521
|
+
}
|
|
2522
|
+
else if (this.router.url == "/manage/stores") {
|
|
2523
|
+
this.singleSelect = false;
|
|
2524
|
+
this.multiSelect = false;
|
|
2525
|
+
this.datepicker = false;
|
|
2526
|
+
this.singleStore = false;
|
|
2527
|
+
this.singleSelectdatepicker = true;
|
|
2528
|
+
}
|
|
2529
|
+
else if (this.router.url == "/manage/stores/LKST123/infra-ticket") {
|
|
2530
|
+
this.singleSelect = false;
|
|
2531
|
+
this.multiSelect = false;
|
|
2532
|
+
this.datepicker = false;
|
|
2533
|
+
this.singleSelectdatepicker = false;
|
|
2534
|
+
this.singleStore = true;
|
|
2535
|
+
}
|
|
2536
|
+
else {
|
|
2537
|
+
this.singleSelect = false;
|
|
2538
|
+
this.multiSelect = true;
|
|
2539
|
+
this.datepicker = false;
|
|
2540
|
+
this.singleSelectdatepicker = false;
|
|
2541
|
+
this.singleStore = false;
|
|
2542
|
+
}
|
|
2543
|
+
const viewsWithPageTitles = ["classic", "reports", "saas"];
|
|
2544
|
+
return (this.appPageTitleDisplay &&
|
|
2545
|
+
viewsWithPageTitles.some((t) => t === this.appToolbarLayout));
|
|
2546
|
+
}
|
|
2547
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.LayoutService }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
2548
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ToolbarComponent, selector: "lib-toolbar", inputs: { currentLayoutType: "currentLayoutType", appToolbarLayout: "appToolbarLayout" }, ngImport: i0, template: "<!--begin::Toolbar container-->\r\n<div id=\"kt_app_toolbar_container\" class=\"app-container\" [ngClass]=\"appToolbarContainerCSSClass\">\r\n <ng-container *ngIf=\"showPageTitle()\">\r\n <lib-page-title [appPageTitleDirection]=\"appPageTitleDirection\" [appPageTitleBreadcrumb]=\"appPageTitleBreadcrumb\"\r\n [appPageTitleDescription]=\"appPageTitleDescription\" class=\"page-title d-flex flex-wrap me-3\"\r\n [ngClass]=\"{'flex-column justify-content-center': appPageTitleDirection === 'column', 'align-items-center': appPageTitleDirection !== 'column', appPageTitleCSSClass}\">\r\n </lib-page-title>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"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</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" }] });
|
|
2549
|
+
}
|
|
2550
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
2551
|
+
type: Component,
|
|
2552
|
+
args: [{ selector: "lib-toolbar", template: "<!--begin::Toolbar container-->\r\n<div id=\"kt_app_toolbar_container\" class=\"app-container\" [ngClass]=\"appToolbarContainerCSSClass\">\r\n <ng-container *ngIf=\"showPageTitle()\">\r\n <lib-page-title [appPageTitleDirection]=\"appPageTitleDirection\" [appPageTitleBreadcrumb]=\"appPageTitleBreadcrumb\"\r\n [appPageTitleDescription]=\"appPageTitleDescription\" class=\"page-title d-flex flex-wrap me-3\"\r\n [ngClass]=\"{'flex-column justify-content-center': appPageTitleDirection === 'column', 'align-items-center': appPageTitleDirection !== 'column', appPageTitleCSSClass}\">\r\n </lib-page-title>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"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</div>\r\n<!--end::Toolbar container-->\r\n" }]
|
|
2553
|
+
}], ctorParameters: () => [{ type: i1.LayoutService }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }], propDecorators: { currentLayoutType: [{
|
|
2554
|
+
type: Input
|
|
2555
|
+
}], appToolbarLayout: [{
|
|
2556
|
+
type: Input
|
|
2557
|
+
}] } });
|
|
2558
|
+
|
|
2559
|
+
class SidebarLogoComponent {
|
|
2560
|
+
layout;
|
|
2561
|
+
unsubscribe = [];
|
|
2562
|
+
toggleButtonClass = '';
|
|
2563
|
+
toggleEnabled;
|
|
2564
|
+
toggleType = '';
|
|
2565
|
+
toggleState = '';
|
|
2566
|
+
currentLayoutType;
|
|
2567
|
+
toggleAttr;
|
|
2568
|
+
constructor(layout) {
|
|
2569
|
+
this.layout = layout;
|
|
2570
|
+
}
|
|
2571
|
+
ngOnInit() {
|
|
2572
|
+
this.toggleAttr = `app-sidebar-${this.toggleType}`;
|
|
2573
|
+
const layoutSubscr = this.layout.currentLayoutTypeSubject
|
|
2574
|
+
.asObservable()
|
|
2575
|
+
.subscribe((layout) => {
|
|
2576
|
+
this.currentLayoutType = layout;
|
|
2577
|
+
});
|
|
2578
|
+
this.unsubscribe.push(layoutSubscr);
|
|
2579
|
+
}
|
|
2580
|
+
ngOnDestroy() {
|
|
2581
|
+
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
2582
|
+
}
|
|
2583
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarLogoComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2584
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarLogoComponent, selector: "lib-sidebar-logo", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState" }, ngImport: i0, template: "<!--begin::Logo image-->\r\n<a routerLink=\"/dashboard\">\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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
2585
|
+
}
|
|
2586
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarLogoComponent, decorators: [{
|
|
2587
|
+
type: Component,
|
|
2588
|
+
args: [{ selector: 'lib-sidebar-logo', template: "<!--begin::Logo image-->\r\n<a routerLink=\"/dashboard\">\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" }]
|
|
2589
|
+
}], ctorParameters: () => [{ type: i1.LayoutService }], propDecorators: { toggleButtonClass: [{
|
|
2590
|
+
type: Input
|
|
2591
|
+
}], toggleEnabled: [{
|
|
2592
|
+
type: Input
|
|
2593
|
+
}], toggleType: [{
|
|
2594
|
+
type: Input
|
|
2595
|
+
}], toggleState: [{
|
|
2596
|
+
type: Input
|
|
2597
|
+
}] } });
|
|
2598
|
+
|
|
2599
|
+
class SidebarMenuComponent {
|
|
2600
|
+
constructor() { }
|
|
2601
|
+
ngOnInit() {
|
|
2602
|
+
}
|
|
2603
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2604
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", 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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\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\">Birds Eye</span>\r\n </a>\r\n </div>\r\n\r\n <!-- Tango Traffic -->\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\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 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\">\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\">\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\">\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 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\">\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\">\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\">\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\">\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\" routerLink=\"/crafted/account/settings\">\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 <!-- Manage -->\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 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 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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/overview\">\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\">Overview\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/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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users\">\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 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 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 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 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>\r\n </div>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n<!--end::Menu wrapper-->", styles: [""], dependencies: [{ kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
|
|
1973
2605
|
}
|
|
1974
2606
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarMenuComponent, decorators: [{
|
|
1975
2607
|
type: Component,
|
|
1976
2608
|
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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\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\">Birds Eye</span>\r\n </a>\r\n </div>\r\n\r\n <!-- Tango Traffic -->\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\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 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\">\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\">\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\">\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 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\">\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\">\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\">\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\">\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\" routerLink=\"/crafted/account/settings\">\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 <!-- Manage -->\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 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 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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/overview\">\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\">Overview\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/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 class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users\">\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 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 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 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 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>\r\n </div>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n<!--end::Menu wrapper-->" }]
|
|
1977
2609
|
}], ctorParameters: () => [] });
|
|
1978
2610
|
|
|
2611
|
+
class SidebarFooterComponent {
|
|
2612
|
+
auth;
|
|
2613
|
+
router;
|
|
2614
|
+
isSubMenuActive = false;
|
|
2615
|
+
constructor(auth, router) {
|
|
2616
|
+
this.auth = auth;
|
|
2617
|
+
this.router = router;
|
|
2618
|
+
}
|
|
2619
|
+
ngOnInit() { }
|
|
2620
|
+
toggleMenu() {
|
|
2621
|
+
this.isSubMenuActive = !this.isSubMenuActive;
|
|
2622
|
+
}
|
|
2623
|
+
logout() {
|
|
2624
|
+
this.auth.logout();
|
|
2625
|
+
localStorage.clear();
|
|
2626
|
+
localStorage.clear();
|
|
2627
|
+
this.router.navigate(["/auth/login"]);
|
|
2628
|
+
}
|
|
2629
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, deps: [{ token: i1$2.AuthService }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
2630
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarFooterComponent, selector: "lib-sidebar-footer", ngImport: i0, template: "<!-- <div class=\"dropdown \">\r\n <button class=\"btn dropdown-toggle btn-flex flex-center btn-custom overflow-hidden text-nowrap px-0 h-40px w-100\" type=\"button\" id=\"dropdownMenu1\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\" data-bs-toggle=\"tooltip\" data-bs-trigger=\"hover\" data-bs-dismiss=\"click\" title=\"Metronic Docs & Components\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n <span class=\"btn-label caret\">\r\n Olivia Rhye<br>\r\n oliviatangoeye.com\r\n </span>\r\n </button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu1\">\r\n <li><a href=\"#\">Action</a></li>\r\n <li><a href=\"#\">Another action</a></li>\r\n <li><a href=\"#\">Something else here</a></li>\r\n <li><a href=\"#\">Separated link</a></li>\r\n </ul>\r\n</div> -->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\" (click)=\"logout()\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <!--begin::Menu-->\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <!-- Birds Eye -->\r\n <div class=\"menu-item menu-accordion w-100 px-3\" [ngClass]=\"{'active': isSubMenuActive}\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <!-- <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop</span> -->\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <!-- <div class=\"menu-sub menu-sub-accordion w-100\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Profile</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\" d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\" fill=\"#D0D5DD\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Support</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" (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 d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Logout</span>\r\n </a>\r\n </div>\r\n \r\n </div> -->\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
|
|
2631
|
+
}
|
|
2632
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, decorators: [{
|
|
2633
|
+
type: Component,
|
|
2634
|
+
args: [{ selector: "lib-sidebar-footer", template: "<!-- <div class=\"dropdown \">\r\n <button class=\"btn dropdown-toggle btn-flex flex-center btn-custom overflow-hidden text-nowrap px-0 h-40px w-100\" type=\"button\" id=\"dropdownMenu1\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\" data-bs-toggle=\"tooltip\" data-bs-trigger=\"hover\" data-bs-dismiss=\"click\" title=\"Metronic Docs & Components\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n <span class=\"btn-label caret\">\r\n Olivia Rhye<br>\r\n oliviatangoeye.com\r\n </span>\r\n </button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu1\">\r\n <li><a href=\"#\">Action</a></li>\r\n <li><a href=\"#\">Another action</a></li>\r\n <li><a href=\"#\">Something else here</a></li>\r\n <li><a href=\"#\">Separated link</a></li>\r\n </ul>\r\n</div> -->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\" (click)=\"logout()\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <!--begin::Menu-->\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <!-- Birds Eye -->\r\n <div class=\"menu-item menu-accordion w-100 px-3\" [ngClass]=\"{'active': isSubMenuActive}\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <!-- <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop</span> -->\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <!-- <div class=\"menu-sub menu-sub-accordion w-100\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Profile</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\" d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\" fill=\"#D0D5DD\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Support</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" (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 d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Logout</span>\r\n </a>\r\n </div>\r\n \r\n </div> -->\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}\n"] }]
|
|
2635
|
+
}], ctorParameters: () => [{ type: i1$2.AuthService }, { type: i1$1.Router }] });
|
|
2636
|
+
|
|
1979
2637
|
class SidebarComponent {
|
|
1980
2638
|
layout;
|
|
1981
2639
|
unsubscribe = [];
|
|
@@ -2096,11 +2754,11 @@ class SidebarComponent {
|
|
|
2096
2754
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
2097
2755
|
}
|
|
2098
2756
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2099
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarComponent, selector: "lib-sidebar", ngImport: i0, template: "<!--begin::Logo-->\r\n<lib-sidebar-logo class=\"app-sidebar-logo px-6\" id=\"kt_app_sidebar_logo\"\r\n [toggleButtonClass]=\"toggleButtonClass\" [toggleEnabled]=\"toggleEnabled\" [toggleType]=\"toggleType\"\r\n [toggleState]=\"toggleState\">\r\n</lib-sidebar-logo>\r\n<!--end::Logo-->\r\n\r\n<!--begin::sidebar menu-->\r\n<lib-sidebar-menu class=\"app-sidebar-menu overflow-hidden flex-column-fluid\">\r\n</lib-sidebar-menu>\r\n<!--end::sidebar menu-->\r\n\r\n<!--begin::Footer-->\r\n
|
|
2757
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarComponent, selector: "lib-sidebar", ngImport: i0, template: "<!--begin::Logo-->\r\n<lib-sidebar-logo class=\"app-sidebar-logo px-6\" id=\"kt_app_sidebar_logo\"\r\n [toggleButtonClass]=\"toggleButtonClass\" [toggleEnabled]=\"toggleEnabled\" [toggleType]=\"toggleType\"\r\n [toggleState]=\"toggleState\">\r\n</lib-sidebar-logo>\r\n<!--end::Logo-->\r\n\r\n<!--begin::sidebar menu-->\r\n<lib-sidebar-menu class=\"app-sidebar-menu overflow-hidden flex-column-fluid\">\r\n</lib-sidebar-menu>\r\n<!--end::sidebar menu-->\r\n\r\n<!--begin::Footer-->\r\n<lib-sidebar-footer class=\"app-sidebar-footer flex-column-auto pt-2 pb-6\" id=\"kt_app_sidebar_footer\">\r\n</lib-sidebar-footer>\r\n<!--end::Footer-->\r\n", styles: [".app-sidebar-footer{background:var(--Gray-700, #344054)}\n"], dependencies: [{ kind: "component", type: SidebarLogoComponent, selector: "lib-sidebar-logo", inputs: ["toggleButtonClass", "toggleEnabled", "toggleType", "toggleState"] }, { kind: "component", type: SidebarMenuComponent, selector: "lib-sidebar-menu" }, { kind: "component", type: SidebarFooterComponent, selector: "lib-sidebar-footer" }] });
|
|
2100
2758
|
}
|
|
2101
2759
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
2102
2760
|
type: Component,
|
|
2103
|
-
args: [{ selector: 'lib-sidebar', template: "<!--begin::Logo-->\r\n<lib-sidebar-logo class=\"app-sidebar-logo px-6\" id=\"kt_app_sidebar_logo\"\r\n [toggleButtonClass]=\"toggleButtonClass\" [toggleEnabled]=\"toggleEnabled\" [toggleType]=\"toggleType\"\r\n [toggleState]=\"toggleState\">\r\n</lib-sidebar-logo>\r\n<!--end::Logo-->\r\n\r\n<!--begin::sidebar menu-->\r\n<lib-sidebar-menu class=\"app-sidebar-menu overflow-hidden flex-column-fluid\">\r\n</lib-sidebar-menu>\r\n<!--end::sidebar menu-->\r\n\r\n<!--begin::Footer-->\r\n
|
|
2761
|
+
args: [{ selector: 'lib-sidebar', template: "<!--begin::Logo-->\r\n<lib-sidebar-logo class=\"app-sidebar-logo px-6\" id=\"kt_app_sidebar_logo\"\r\n [toggleButtonClass]=\"toggleButtonClass\" [toggleEnabled]=\"toggleEnabled\" [toggleType]=\"toggleType\"\r\n [toggleState]=\"toggleState\">\r\n</lib-sidebar-logo>\r\n<!--end::Logo-->\r\n\r\n<!--begin::sidebar menu-->\r\n<lib-sidebar-menu class=\"app-sidebar-menu overflow-hidden flex-column-fluid\">\r\n</lib-sidebar-menu>\r\n<!--end::sidebar menu-->\r\n\r\n<!--begin::Footer-->\r\n<lib-sidebar-footer class=\"app-sidebar-footer flex-column-auto pt-2 pb-6\" id=\"kt_app_sidebar_footer\">\r\n</lib-sidebar-footer>\r\n<!--end::Footer-->\r\n", styles: [".app-sidebar-footer{background:var(--Gray-700, #344054)}\n"] }]
|
|
2104
2762
|
}], ctorParameters: () => [{ type: i1.LayoutService }] });
|
|
2105
2763
|
|
|
2106
2764
|
class LayoutScrollTopComponent {
|
|
@@ -2349,363 +3007,132 @@ class LayoutComponent {
|
|
|
2349
3007
|
}
|
|
2350
3008
|
}
|
|
2351
3009
|
}
|
|
2352
|
-
}, 0);
|
|
2353
|
-
}
|
|
2354
|
-
updateFooter(config) {
|
|
2355
|
-
this.appFooterCSSClass = this.layout.getProp('app.footer.class', config);
|
|
2356
|
-
this.appFooterContainer = this.layout.getProp('app.footer.container', config);
|
|
2357
|
-
this.appFooterContainerCSSClass = this.layout.getProp('app.footer.containerClass', config);
|
|
2358
|
-
if (this.appFooterContainer === 'fixed') {
|
|
2359
|
-
this.appFooterContainerCSSClass += ' container-xxl';
|
|
2360
|
-
}
|
|
2361
|
-
else {
|
|
2362
|
-
if (this.appFooterContainer === 'fluid') {
|
|
2363
|
-
this.appFooterContainerCSSClass += ' container-fluid';
|
|
2364
|
-
}
|
|
2365
|
-
}
|
|
2366
|
-
this.appFooterFixedDesktop = this.layout.getProp('app.footer.fixed.desktop', config);
|
|
2367
|
-
if (this.appFooterFixedDesktop) {
|
|
2368
|
-
document.body.setAttribute('data-kt-app-footer-fixed', 'true');
|
|
2369
|
-
}
|
|
2370
|
-
this.appFooterFixedMobile = this.layout.getProp('app.footer.fixed.mobile');
|
|
2371
|
-
if (this.appFooterFixedMobile) {
|
|
2372
|
-
document.body.setAttribute('data-kt-app-footer-fixed-mobile', 'true');
|
|
2373
|
-
}
|
|
2374
|
-
}
|
|
2375
|
-
updateToolbar(config) {
|
|
2376
|
-
this.appToolbarLayout = this.layout.getProp('app.toolbar.layout', config);
|
|
2377
|
-
this.appToolbarSwapEnabled = this.layout.getProp('app.toolbar.swap.enabled', config);
|
|
2378
|
-
if (this.appToolbarSwapEnabled) {
|
|
2379
|
-
this.appToolbarSwapAttributes = this.layout.getProp('app.toolbar.swap.attributes', config);
|
|
2380
|
-
}
|
|
2381
|
-
this.appToolbarStickyEnabled = this.layout.getProp('app.toolbar.sticky.enabled', config);
|
|
2382
|
-
if (this.appToolbarStickyEnabled) {
|
|
2383
|
-
this.appToolbarStickyAttributes = this.layout.getProp('app.toolbar.sticky.attributes', config);
|
|
2384
|
-
}
|
|
2385
|
-
this.appToolbarCSSClass =
|
|
2386
|
-
this.layout.getProp('app.toolbar.class', config) || '';
|
|
2387
|
-
this.appToolbarMinimizeEnabled = this.layout.getProp('app.toolbar.minimize.enabled', config);
|
|
2388
|
-
if (this.appToolbarMinimizeEnabled) {
|
|
2389
|
-
this.appToolbarMinimizeAttributes = this.layout.getProp('app.toolbar.minimize.attributes', config);
|
|
2390
|
-
this.appToolbarCSSClass += ' app-toolbar-minimize';
|
|
2391
|
-
}
|
|
2392
|
-
setTimeout(() => {
|
|
2393
|
-
const toolbarElement = document.getElementById('kt_app_toolbar');
|
|
2394
|
-
// toolbar
|
|
2395
|
-
if (this.appToolbarDisplay && toolbarElement) {
|
|
2396
|
-
const toolbarAttributes = toolbarElement
|
|
2397
|
-
.getAttributeNames()
|
|
2398
|
-
.filter((t) => t.indexOf('data-') > -1);
|
|
2399
|
-
toolbarAttributes.forEach((attr) => toolbarElement.removeAttribute(attr));
|
|
2400
|
-
if (this.appToolbarSwapEnabled) {
|
|
2401
|
-
for (const key in this.appToolbarSwapAttributes) {
|
|
2402
|
-
if (this.appToolbarSwapAttributes.hasOwnProperty(key)) {
|
|
2403
|
-
toolbarElement.setAttribute(key, this.appToolbarSwapAttributes[key]);
|
|
2404
|
-
}
|
|
2405
|
-
}
|
|
2406
|
-
}
|
|
2407
|
-
if (this.appToolbarStickyEnabled) {
|
|
2408
|
-
for (const key in this.appToolbarStickyAttributes) {
|
|
2409
|
-
if (this.appToolbarStickyAttributes.hasOwnProperty(key)) {
|
|
2410
|
-
toolbarElement.setAttribute(key, this.appToolbarStickyAttributes[key]);
|
|
2411
|
-
}
|
|
2412
|
-
}
|
|
2413
|
-
}
|
|
2414
|
-
if (this.appToolbarMinimizeEnabled) {
|
|
2415
|
-
for (const key in this.appToolbarMinimizeAttributes) {
|
|
2416
|
-
if (this.appToolbarMinimizeAttributes.hasOwnProperty(key)) {
|
|
2417
|
-
toolbarElement.setAttribute(key, this.appToolbarMinimizeAttributes[key]);
|
|
2418
|
-
}
|
|
2419
|
-
}
|
|
2420
|
-
}
|
|
2421
|
-
}
|
|
2422
|
-
}, 0);
|
|
2423
|
-
}
|
|
2424
|
-
ngOnDestroy() {
|
|
2425
|
-
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
2426
|
-
}
|
|
2427
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.LayoutInitService }, { token: i1.LayoutService }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
2428
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: LayoutComponent, selector: "lib-layout", viewQueries: [{ propertyName: "ktSidebar", first: true, predicate: ["ktSidebar"], descendants: true, static: true }, { propertyName: "ktAside", first: true, predicate: ["ktAside"], descendants: true, static: true }, { propertyName: "ktHeaderMobile", first: true, predicate: ["ktHeaderMobile"], descendants: true, static: true }, { propertyName: "ktHeader", first: true, predicate: ["ktHeader"], descendants: true, static: true }], ngImport: i0, template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HeaderComponent, selector: "lib-header" }, { kind: "component", type: ContentComponent, selector: "lib-content", inputs: ["contentContainerCSSClass", "appContentContiner", "appContentContainerClass"] }, { kind: "component", type: ScriptsInitComponent, selector: "lib-scripts-init" }, { kind: "component", type: ToolbarComponent, selector: "lib-toolbar", inputs: ["currentLayoutType", "appToolbarLayout"] }, { kind: "component", type: SidebarComponent, selector: "lib-sidebar" }, { kind: "component", type: LayoutScrollTopComponent, selector: "lib-scroll-top" }] });
|
|
2429
|
-
}
|
|
2430
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutComponent, decorators: [{
|
|
2431
|
-
type: Component,
|
|
2432
|
-
args: [{ selector: 'lib-layout', template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"] }]
|
|
2433
|
-
}], ctorParameters: () => [{ type: i1.LayoutInitService }, { type: i1.LayoutService }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }], propDecorators: { ktSidebar: [{
|
|
2434
|
-
type: ViewChild,
|
|
2435
|
-
args: ['ktSidebar', { static: true }]
|
|
2436
|
-
}], ktAside: [{
|
|
2437
|
-
type: ViewChild,
|
|
2438
|
-
args: ['ktAside', { static: true }]
|
|
2439
|
-
}], ktHeaderMobile: [{
|
|
2440
|
-
type: ViewChild,
|
|
2441
|
-
args: ['ktHeaderMobile', { static: true }]
|
|
2442
|
-
}], ktHeader: [{
|
|
2443
|
-
type: ViewChild,
|
|
2444
|
-
args: ['ktHeader', { static: true }]
|
|
2445
|
-
}] } });
|
|
2446
|
-
|
|
2447
|
-
class FooterComponent {
|
|
2448
|
-
appFooterContainerCSSClass = '';
|
|
2449
|
-
currentDateStr = new Date().getFullYear().toString();
|
|
2450
|
-
constructor() { }
|
|
2451
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2452
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", 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\" [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 href=\"https://keenthemes.com/\" target=\"_blank\" class=\"text-gray-800 text-hover-primary\">Keenthemes</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\">\r\n <li class=\"menu-item\"><a href=\"https://keenthemes.com/\" target=\"_blank\" class=\"menu-link px-2\">About</a></li>\r\n\r\n <li class=\"menu-item\"><a href=\"https://devs.keenthemes.com/\" target=\"_blank\" class=\"menu-link px-2\">Support</a></li>\r\n\r\n <li class=\"menu-item\"><a href=\"https://themeforest.net/item/metronic-responsive-admin-dashboard-template/4021469\"\r\n target=\"_blank\" class=\"menu-link px-2\">Purchase</a></li>\r\n </ul>\r\n <!--end::Menu-->\r\n\r\n</ng-template>\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: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
2453
|
-
}
|
|
2454
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FooterComponent, decorators: [{
|
|
2455
|
-
type: Component,
|
|
2456
|
-
args: [{ selector: 'lib-footer', template: "<ng-container *ngIf=\"appFooterContainerCSSClass\">\r\n <!--begin::Footer container-->\r\n <div class=\"app-container\" [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 href=\"https://keenthemes.com/\" target=\"_blank\" class=\"text-gray-800 text-hover-primary\">Keenthemes</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\">\r\n <li class=\"menu-item\"><a href=\"https://keenthemes.com/\" target=\"_blank\" class=\"menu-link px-2\">About</a></li>\r\n\r\n <li class=\"menu-item\"><a href=\"https://devs.keenthemes.com/\" target=\"_blank\" class=\"menu-link px-2\">Support</a></li>\r\n\r\n <li class=\"menu-item\"><a href=\"https://themeforest.net/item/metronic-responsive-admin-dashboard-template/4021469\"\r\n target=\"_blank\" class=\"menu-link px-2\">Purchase</a></li>\r\n </ul>\r\n <!--end::Menu-->\r\n\r\n</ng-template>\r\n" }]
|
|
2457
|
-
}], ctorParameters: () => [], propDecorators: { appFooterContainerCSSClass: [{
|
|
2458
|
-
type: Input
|
|
2459
|
-
}] } });
|
|
2460
|
-
|
|
2461
|
-
class SidebarFooterComponent {
|
|
2462
|
-
isSubMenuActive = false;
|
|
2463
|
-
constructor() { }
|
|
2464
|
-
ngOnInit() {
|
|
2465
|
-
}
|
|
2466
|
-
toggleMenu() {
|
|
2467
|
-
this.isSubMenuActive = !this.isSubMenuActive;
|
|
2468
|
-
}
|
|
2469
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2470
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarFooterComponent, selector: "lib-sidebar-footer", ngImport: i0, template: "<!-- <div class=\"dropdown \">\r\n <button class=\"btn dropdown-toggle btn-flex flex-center btn-custom overflow-hidden text-nowrap px-0 h-40px w-100\" type=\"button\" id=\"dropdownMenu1\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\" data-bs-toggle=\"tooltip\" data-bs-trigger=\"hover\" data-bs-dismiss=\"click\" title=\"Metronic Docs & Components\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n <span class=\"btn-label caret\">\r\n Olivia Rhye<br>\r\n oliviatangoeye.com\r\n </span>\r\n </button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu1\">\r\n <li><a href=\"#\">Action</a></li>\r\n <li><a href=\"#\">Another action</a></li>\r\n <li><a href=\"#\">Something else here</a></li>\r\n <li><a href=\"#\">Separated link</a></li>\r\n </ul>\r\n</div> -->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <!--begin::Menu-->\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <!-- Birds Eye -->\r\n <div class=\"menu-item menu-accordion w-100 px-3\" [ngClass]=\"{'active': isSubMenuActive}\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Profile</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\" d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\" fill=\"#D0D5DD\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Support</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <path d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Logout</span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
|
|
2471
|
-
}
|
|
2472
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, decorators: [{
|
|
2473
|
-
type: Component,
|
|
2474
|
-
args: [{ selector: 'lib-sidebar-footer', template: "<!-- <div class=\"dropdown \">\r\n <button class=\"btn dropdown-toggle btn-flex flex-center btn-custom overflow-hidden text-nowrap px-0 h-40px w-100\" type=\"button\" id=\"dropdownMenu1\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"true\" data-bs-toggle=\"tooltip\" data-bs-trigger=\"hover\" data-bs-dismiss=\"click\" title=\"Metronic Docs & Components\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n <span class=\"btn-label caret\">\r\n Olivia Rhye<br>\r\n oliviatangoeye.com\r\n </span>\r\n </button>\r\n <ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenu1\">\r\n <li><a href=\"#\">Action</a></li>\r\n <li><a href=\"#\">Another action</a></li>\r\n <li><a href=\"#\">Something else here</a></li>\r\n <li><a href=\"#\">Separated link</a></li>\r\n </ul>\r\n</div> -->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <!--begin::Menu-->\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <!-- Birds Eye -->\r\n <div class=\"menu-item menu-accordion w-100 px-3\" [ngClass]=\"{'active': isSubMenuActive}\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Profile</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\" d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\" fill=\"#D0D5DD\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Support</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <path d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Logout</span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}\n"] }]
|
|
2475
|
-
}], ctorParameters: () => [] });
|
|
2476
|
-
|
|
2477
|
-
class AccountingComponent {
|
|
2478
|
-
constructor() { }
|
|
2479
|
-
ngOnInit() {
|
|
2480
|
-
}
|
|
2481
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccountingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2482
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AccountingComponent, selector: "lib-accounting", ngImport: i0, template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
2483
|
-
}
|
|
2484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccountingComponent, decorators: [{
|
|
2485
|
-
type: Component,
|
|
2486
|
-
args: [{ selector: 'lib-accounting', template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n" }]
|
|
2487
|
-
}], ctorParameters: () => [] });
|
|
2488
|
-
|
|
2489
|
-
class GlobalStateService {
|
|
2490
|
-
userData = new BehaviorSubject(null);
|
|
2491
|
-
environment = new BehaviorSubject(null);
|
|
2492
|
-
dataRangeValue = new BehaviorSubject(null);
|
|
2493
|
-
selectedClient = new BehaviorSubject(null);
|
|
2494
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2495
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalStateService, providedIn: 'root' });
|
|
2496
|
-
}
|
|
2497
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalStateService, decorators: [{
|
|
2498
|
-
type: Injectable,
|
|
2499
|
-
args: [{
|
|
2500
|
-
providedIn: 'root'
|
|
2501
|
-
}]
|
|
2502
|
-
}] });
|
|
2503
|
-
|
|
2504
|
-
class AuthService {
|
|
2505
|
-
router;
|
|
2506
|
-
gs;
|
|
2507
|
-
http;
|
|
2508
|
-
clientApiUrl;
|
|
2509
|
-
constructor(router, gs, http) {
|
|
2510
|
-
this.router = router;
|
|
2511
|
-
this.gs = gs;
|
|
2512
|
-
this.http = http;
|
|
2513
|
-
this.gs.environment.subscribe((env) => {
|
|
2514
|
-
if (env) {
|
|
2515
|
-
this.clientApiUrl = env.clientApiUrl;
|
|
2516
|
-
}
|
|
2517
|
-
});
|
|
2518
|
-
}
|
|
2519
|
-
handleError(res) {
|
|
2520
|
-
return throwError(res.error);
|
|
2521
|
-
}
|
|
2522
|
-
logout() {
|
|
2523
|
-
this.router.navigate(['/auth/login'], {
|
|
2524
|
-
queryParams: {},
|
|
2525
|
-
});
|
|
2526
|
-
}
|
|
2527
|
-
getClients() {
|
|
2528
|
-
return this.http.get(`${this.clientApiUrl}/get-clients`, {})
|
|
2529
|
-
.pipe(map((response) => response), catchError(this.handleError));
|
|
2530
|
-
}
|
|
2531
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, deps: [{ token: i1$1.Router }, { token: GlobalStateService }, { token: i3$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2532
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
2533
|
-
}
|
|
2534
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, decorators: [{
|
|
2535
|
-
type: Injectable,
|
|
2536
|
-
args: [{
|
|
2537
|
-
providedIn: 'root'
|
|
2538
|
-
}]
|
|
2539
|
-
}], ctorParameters: () => [{ type: i1$1.Router }, { type: GlobalStateService }, { type: i3$2.HttpClient }] });
|
|
2540
|
-
|
|
2541
|
-
class CustomSelectComponent {
|
|
2542
|
-
cd;
|
|
2543
|
-
onClick(event) {
|
|
2544
|
-
const target = event.target;
|
|
2545
|
-
if (!target.closest('.dropdown')) {
|
|
2546
|
-
this.showDropdown = false;
|
|
2547
|
-
}
|
|
2548
|
-
}
|
|
2549
|
-
items;
|
|
2550
|
-
searchField;
|
|
2551
|
-
multi;
|
|
2552
|
-
idField;
|
|
2553
|
-
selectedValues = [];
|
|
2554
|
-
disabled;
|
|
2555
|
-
label;
|
|
2556
|
-
selected = new EventEmitter();
|
|
2557
|
-
filteredValues = [];
|
|
2558
|
-
showDropdown;
|
|
2559
|
-
searchValue;
|
|
2560
|
-
constructor(cd) {
|
|
2561
|
-
this.cd = cd;
|
|
2562
|
-
}
|
|
2563
|
-
ngOnChanges(changes) {
|
|
2564
|
-
if (changes['items'] && this.items?.length) {
|
|
2565
|
-
this.initializeItems();
|
|
2566
|
-
}
|
|
2567
|
-
if (changes['selectedValues'] && this.selectedValues?.length) {
|
|
2568
|
-
this.updateSelectedValues();
|
|
2569
|
-
}
|
|
2570
|
-
}
|
|
2571
|
-
initializeItems() {
|
|
2572
|
-
this.filteredValues = this.items.map((item) => ({ ...item }));
|
|
2573
|
-
this.updateSelectedValues();
|
|
2574
|
-
}
|
|
2575
|
-
updateSelectedValues() {
|
|
2576
|
-
this.selectedValues?.forEach((selectedItem) => {
|
|
2577
|
-
const item = this.filteredValues?.find((filteredItem) => filteredItem?.[this.idField] === selectedItem?.[this.idField]);
|
|
2578
|
-
if (item) {
|
|
2579
|
-
item.isSelected = true;
|
|
2580
|
-
}
|
|
2581
|
-
});
|
|
2582
|
-
}
|
|
2583
|
-
openDropdown(event) {
|
|
2584
|
-
event.stopPropagation();
|
|
2585
|
-
this.showDropdown = !this.showDropdown;
|
|
3010
|
+
}, 0);
|
|
2586
3011
|
}
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
3012
|
+
updateFooter(config) {
|
|
3013
|
+
this.appFooterCSSClass = this.layout.getProp('app.footer.class', config);
|
|
3014
|
+
this.appFooterContainer = this.layout.getProp('app.footer.container', config);
|
|
3015
|
+
this.appFooterContainerCSSClass = this.layout.getProp('app.footer.containerClass', config);
|
|
3016
|
+
if (this.appFooterContainer === 'fixed') {
|
|
3017
|
+
this.appFooterContainerCSSClass += ' container-xxl';
|
|
2590
3018
|
}
|
|
2591
3019
|
else {
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
}
|
|
2595
|
-
this.cd.detectChanges();
|
|
2596
|
-
}
|
|
2597
|
-
onSelect(event, item) {
|
|
2598
|
-
if (this.multi) {
|
|
2599
|
-
if (event.currentTarget.checked) {
|
|
2600
|
-
this.selectedValues.push({ ...item });
|
|
2601
|
-
}
|
|
2602
|
-
else {
|
|
2603
|
-
this.selectedValues = this.selectedValues.filter((elem) => elem[this.idField] !== item[this.idField]);
|
|
3020
|
+
if (this.appFooterContainer === 'fluid') {
|
|
3021
|
+
this.appFooterContainerCSSClass += ' container-fluid';
|
|
2604
3022
|
}
|
|
2605
3023
|
}
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
}
|
|
2610
|
-
const valuesToEmit = this.selectedValues.map((value) => {
|
|
2611
|
-
const { isSelected, ...selectedItem } = value;
|
|
2612
|
-
return selectedItem;
|
|
2613
|
-
});
|
|
2614
|
-
this.cd.detectChanges();
|
|
2615
|
-
this.emitSelectedValues(valuesToEmit);
|
|
2616
|
-
}
|
|
2617
|
-
onSelectAll(event) {
|
|
2618
|
-
const selectAll = event.currentTarget.checked;
|
|
2619
|
-
this.filteredValues.forEach((item) => item.isSelected = selectAll);
|
|
2620
|
-
if (selectAll) {
|
|
2621
|
-
this.selectedValues = [...this.filteredValues];
|
|
3024
|
+
this.appFooterFixedDesktop = this.layout.getProp('app.footer.fixed.desktop', config);
|
|
3025
|
+
if (this.appFooterFixedDesktop) {
|
|
3026
|
+
document.body.setAttribute('data-kt-app-footer-fixed', 'true');
|
|
2622
3027
|
}
|
|
2623
|
-
|
|
2624
|
-
|
|
3028
|
+
this.appFooterFixedMobile = this.layout.getProp('app.footer.fixed.mobile');
|
|
3029
|
+
if (this.appFooterFixedMobile) {
|
|
3030
|
+
document.body.setAttribute('data-kt-app-footer-fixed-mobile', 'true');
|
|
2625
3031
|
}
|
|
2626
|
-
const valuesToEmit = this.selectedValues.map((value) => {
|
|
2627
|
-
const { isSelected, ...selectedItem } = value;
|
|
2628
|
-
return selectedItem;
|
|
2629
|
-
});
|
|
2630
|
-
this.cd.detectChanges();
|
|
2631
|
-
this.emitSelectedValues(valuesToEmit);
|
|
2632
3032
|
}
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
3033
|
+
updateToolbar(config) {
|
|
3034
|
+
this.appToolbarLayout = this.layout.getProp('app.toolbar.layout', config);
|
|
3035
|
+
this.appToolbarSwapEnabled = this.layout.getProp('app.toolbar.swap.enabled', config);
|
|
3036
|
+
if (this.appToolbarSwapEnabled) {
|
|
3037
|
+
this.appToolbarSwapAttributes = this.layout.getProp('app.toolbar.swap.attributes', config);
|
|
2636
3038
|
}
|
|
2637
|
-
|
|
2638
|
-
|
|
3039
|
+
this.appToolbarStickyEnabled = this.layout.getProp('app.toolbar.sticky.enabled', config);
|
|
3040
|
+
if (this.appToolbarStickyEnabled) {
|
|
3041
|
+
this.appToolbarStickyAttributes = this.layout.getProp('app.toolbar.sticky.attributes', config);
|
|
2639
3042
|
}
|
|
3043
|
+
this.appToolbarCSSClass =
|
|
3044
|
+
this.layout.getProp('app.toolbar.class', config) || '';
|
|
3045
|
+
this.appToolbarMinimizeEnabled = this.layout.getProp('app.toolbar.minimize.enabled', config);
|
|
3046
|
+
if (this.appToolbarMinimizeEnabled) {
|
|
3047
|
+
this.appToolbarMinimizeAttributes = this.layout.getProp('app.toolbar.minimize.attributes', config);
|
|
3048
|
+
this.appToolbarCSSClass += ' app-toolbar-minimize';
|
|
3049
|
+
}
|
|
3050
|
+
setTimeout(() => {
|
|
3051
|
+
const toolbarElement = document.getElementById('kt_app_toolbar');
|
|
3052
|
+
// toolbar
|
|
3053
|
+
if (this.appToolbarDisplay && toolbarElement) {
|
|
3054
|
+
const toolbarAttributes = toolbarElement
|
|
3055
|
+
.getAttributeNames()
|
|
3056
|
+
.filter((t) => t.indexOf('data-') > -1);
|
|
3057
|
+
toolbarAttributes.forEach((attr) => toolbarElement.removeAttribute(attr));
|
|
3058
|
+
if (this.appToolbarSwapEnabled) {
|
|
3059
|
+
for (const key in this.appToolbarSwapAttributes) {
|
|
3060
|
+
if (this.appToolbarSwapAttributes.hasOwnProperty(key)) {
|
|
3061
|
+
toolbarElement.setAttribute(key, this.appToolbarSwapAttributes[key]);
|
|
3062
|
+
}
|
|
3063
|
+
}
|
|
3064
|
+
}
|
|
3065
|
+
if (this.appToolbarStickyEnabled) {
|
|
3066
|
+
for (const key in this.appToolbarStickyAttributes) {
|
|
3067
|
+
if (this.appToolbarStickyAttributes.hasOwnProperty(key)) {
|
|
3068
|
+
toolbarElement.setAttribute(key, this.appToolbarStickyAttributes[key]);
|
|
3069
|
+
}
|
|
3070
|
+
}
|
|
3071
|
+
}
|
|
3072
|
+
if (this.appToolbarMinimizeEnabled) {
|
|
3073
|
+
for (const key in this.appToolbarMinimizeAttributes) {
|
|
3074
|
+
if (this.appToolbarMinimizeAttributes.hasOwnProperty(key)) {
|
|
3075
|
+
toolbarElement.setAttribute(key, this.appToolbarMinimizeAttributes[key]);
|
|
3076
|
+
}
|
|
3077
|
+
}
|
|
3078
|
+
}
|
|
3079
|
+
}
|
|
3080
|
+
}, 0);
|
|
2640
3081
|
}
|
|
2641
|
-
|
|
2642
|
-
|
|
3082
|
+
ngOnDestroy() {
|
|
3083
|
+
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
2643
3084
|
}
|
|
2644
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type:
|
|
2645
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type:
|
|
3085
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.LayoutInitService }, { token: i1.LayoutService }, { token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
3086
|
+
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" }] });
|
|
2646
3087
|
}
|
|
2647
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type:
|
|
3088
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutComponent, decorators: [{
|
|
2648
3089
|
type: Component,
|
|
2649
|
-
args: [{ selector: 'lib-
|
|
2650
|
-
}], ctorParameters: () => [{ type:
|
|
2651
|
-
type:
|
|
2652
|
-
args: ['
|
|
2653
|
-
}],
|
|
2654
|
-
type:
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
}],
|
|
2660
|
-
type:
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
3090
|
+
args: [{ selector: 'lib-layout', template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"] }]
|
|
3091
|
+
}], ctorParameters: () => [{ type: i1.LayoutInitService }, { type: i1.LayoutService }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }], propDecorators: { ktSidebar: [{
|
|
3092
|
+
type: ViewChild,
|
|
3093
|
+
args: ['ktSidebar', { static: true }]
|
|
3094
|
+
}], ktAside: [{
|
|
3095
|
+
type: ViewChild,
|
|
3096
|
+
args: ['ktAside', { static: true }]
|
|
3097
|
+
}], ktHeaderMobile: [{
|
|
3098
|
+
type: ViewChild,
|
|
3099
|
+
args: ['ktHeaderMobile', { static: true }]
|
|
3100
|
+
}], ktHeader: [{
|
|
3101
|
+
type: ViewChild,
|
|
3102
|
+
args: ['ktHeader', { static: true }]
|
|
3103
|
+
}] } });
|
|
3104
|
+
|
|
3105
|
+
class FooterComponent {
|
|
3106
|
+
appFooterContainerCSSClass = '';
|
|
3107
|
+
currentDateStr = new Date().getFullYear().toString();
|
|
3108
|
+
constructor() { }
|
|
3109
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3110
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", 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\" [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 href=\"https://keenthemes.com/\" target=\"_blank\" class=\"text-gray-800 text-hover-primary\">Keenthemes</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\">\r\n <li class=\"menu-item\"><a href=\"https://keenthemes.com/\" target=\"_blank\" class=\"menu-link px-2\">About</a></li>\r\n\r\n <li class=\"menu-item\"><a href=\"https://devs.keenthemes.com/\" target=\"_blank\" class=\"menu-link px-2\">Support</a></li>\r\n\r\n <li class=\"menu-item\"><a href=\"https://themeforest.net/item/metronic-responsive-admin-dashboard-template/4021469\"\r\n target=\"_blank\" class=\"menu-link px-2\">Purchase</a></li>\r\n </ul>\r\n <!--end::Menu-->\r\n\r\n</ng-template>\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: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
3111
|
+
}
|
|
3112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FooterComponent, decorators: [{
|
|
3113
|
+
type: Component,
|
|
3114
|
+
args: [{ selector: 'lib-footer', template: "<ng-container *ngIf=\"appFooterContainerCSSClass\">\r\n <!--begin::Footer container-->\r\n <div class=\"app-container\" [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 href=\"https://keenthemes.com/\" target=\"_blank\" class=\"text-gray-800 text-hover-primary\">Keenthemes</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\">\r\n <li class=\"menu-item\"><a href=\"https://keenthemes.com/\" target=\"_blank\" class=\"menu-link px-2\">About</a></li>\r\n\r\n <li class=\"menu-item\"><a href=\"https://devs.keenthemes.com/\" target=\"_blank\" class=\"menu-link px-2\">Support</a></li>\r\n\r\n <li class=\"menu-item\"><a href=\"https://themeforest.net/item/metronic-responsive-admin-dashboard-template/4021469\"\r\n target=\"_blank\" class=\"menu-link px-2\">Purchase</a></li>\r\n </ul>\r\n <!--end::Menu-->\r\n\r\n</ng-template>\r\n" }]
|
|
3115
|
+
}], ctorParameters: () => [], propDecorators: { appFooterContainerCSSClass: [{
|
|
2666
3116
|
type: Input
|
|
2667
|
-
}], selected: [{
|
|
2668
|
-
type: Output
|
|
2669
3117
|
}] } });
|
|
2670
3118
|
|
|
2671
|
-
class
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
cd;
|
|
2675
|
-
clientList = [];
|
|
2676
|
-
selectedClient;
|
|
2677
|
-
constructor(auth, gs, cd) {
|
|
2678
|
-
this.auth = auth;
|
|
2679
|
-
this.gs = gs;
|
|
2680
|
-
this.cd = cd;
|
|
2681
|
-
this.auth.getClients().subscribe({
|
|
2682
|
-
next: (e) => {
|
|
2683
|
-
if (e) {
|
|
2684
|
-
this.clientList = e.data.result;
|
|
2685
|
-
this.selectedClient = this.clientList[0];
|
|
2686
|
-
this.gs.selectedClient.next(this.selectedClient);
|
|
2687
|
-
this.cd.detectChanges();
|
|
2688
|
-
}
|
|
2689
|
-
}
|
|
2690
|
-
});
|
|
2691
|
-
}
|
|
2692
|
-
onClientSelect(event) {
|
|
2693
|
-
this.selectedClient = event;
|
|
2694
|
-
this.gs.selectedClient.next(this.selectedClient);
|
|
3119
|
+
class AccountingComponent {
|
|
3120
|
+
constructor() { }
|
|
3121
|
+
ngOnInit() {
|
|
2695
3122
|
}
|
|
2696
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type:
|
|
2697
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type:
|
|
3123
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccountingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3124
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AccountingComponent, selector: "lib-accounting", ngImport: i0, template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
2698
3125
|
}
|
|
2699
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type:
|
|
3126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccountingComponent, decorators: [{
|
|
2700
3127
|
type: Component,
|
|
2701
|
-
args: [{ selector: 'lib-
|
|
2702
|
-
}], ctorParameters: () => [
|
|
3128
|
+
args: [{ selector: 'lib-accounting', template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n" }]
|
|
3129
|
+
}], ctorParameters: () => [] });
|
|
2703
3130
|
|
|
2704
3131
|
class ExtendedComponent {
|
|
2705
3132
|
constructor() { }
|
|
2706
3133
|
ngOnInit() { }
|
|
2707
3134
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ExtendedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2708
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ExtendedComponent, selector: "lib-extended", ngImport: i0, template: "<!--begin::Label-->\r\n<span class=\"fs-7 fw-bold text-gray-700 pe-4 d-none d-md-block\">Team:</span>\r\n<!--end::Label-->\r\n\r\n<!--begin::Users-->\r\n<div class=\"symbol-group symbol-hover flex-shrink-0 me-2\">\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-warning text-inverse-warning\">A</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-1.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-2.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-primary text-inverse-primary\">S</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-5.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-danger text-inverse-danger\">P</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-20.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n</div>\r\n<!--end::Users-->\r\n\r\n<!--begin::Button-->\r\n<div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2hx text-success\"></lib-keenicon>\r\n </a>\r\n</div>\r\n<!--end::Button-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center overflow-auto\">\r\n <!--begin::Search-->\r\n <div class=\"position-relative my-1\">\r\n <lib-keenicon name=\"magnifier\" class=\"fs-3 text-gray500 position-absolute top-50 translate-middle ps-10\"></lib-keenicon>\r\n <input type=\"text\" class=\"form-control form-control-sm form-control-solid w-150px ps-10\" name=\"Search Team\" value=\"\"\r\n placeholder=\"Search Team\" />\r\n </div>\r\n <!--end::Search-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-6\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-125px form-select-solid me-6\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-3 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"row-horizontal\" class=\"fs-3 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n", styles: [""], dependencies: [{ kind: "directive", type:
|
|
3135
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ExtendedComponent, selector: "lib-extended", ngImport: i0, template: "<!--begin::Label-->\r\n<span class=\"fs-7 fw-bold text-gray-700 pe-4 d-none d-md-block\">Team:</span>\r\n<!--end::Label-->\r\n\r\n<!--begin::Users-->\r\n<div class=\"symbol-group symbol-hover flex-shrink-0 me-2\">\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-warning text-inverse-warning\">A</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-1.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-2.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-primary text-inverse-primary\">S</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-5.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <div class=\"symbol-label fw-bold bg-danger text-inverse-danger\">P</div>\r\n </div>\r\n <!--end::User-->\r\n\r\n <!--begin::User-->\r\n <div class=\"symbol symbol-circle symbol-35px\">\r\n <img src=\"./assets/media/avatars/300-20.jpg\" alt=\"\" />\r\n </div>\r\n <!--end::User-->\r\n</div>\r\n<!--end::Users-->\r\n\r\n<!--begin::Button-->\r\n<div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2hx text-success\"></lib-keenicon>\r\n </a>\r\n</div>\r\n<!--end::Button-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center overflow-auto\">\r\n <!--begin::Search-->\r\n <div class=\"position-relative my-1\">\r\n <lib-keenicon name=\"magnifier\" class=\"fs-3 text-gray500 position-absolute top-50 translate-middle ps-10\"></lib-keenicon>\r\n <input type=\"text\" class=\"form-control form-control-sm form-control-solid w-150px ps-10\" name=\"Search Team\" value=\"\"\r\n placeholder=\"Search Team\" />\r\n </div>\r\n <!--end::Search-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-6\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-125px form-select-solid me-6\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-3 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"row-horizontal\" class=\"fs-3 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
2709
3136
|
}
|
|
2710
3137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ExtendedComponent, decorators: [{
|
|
2711
3138
|
type: Component,
|
|
@@ -2717,7 +3144,7 @@ class ReportsComponent {
|
|
|
2717
3144
|
constructor() { }
|
|
2718
3145
|
ngOnInit() { }
|
|
2719
3146
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReportsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2720
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ReportsComponent, selector: "lib-reports", inputs: { appPageTitleDisplay: "appPageTitleDisplay" }, ngImport: i0, template: "<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Filter By:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"flex-shrink-0 \">\r\n <ul class=\"nav\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light active fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"#\">Today</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"\">Week</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4\"\r\n data-bs-toggle=\"tab\" href=\"#\">Day</a>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n<!--end::Wrapper-->\r\n\r\n<!--begin::Separartor-->\r\n<div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n<!--end::Separartor-->\r\n\r\n<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-md-125px form-select-solid\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center ms-3\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-2 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-2 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Wrapper-->\r\n", styles: [""], dependencies: [{ kind: "directive", type:
|
|
3147
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ReportsComponent, selector: "lib-reports", inputs: { appPageTitleDisplay: "appPageTitleDisplay" }, ngImport: i0, template: "<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Filter By:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"flex-shrink-0 \">\r\n <ul class=\"nav\">\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light active fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"#\">Today</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4 me-1\"\r\n data-bs-toggle=\"tab\" href=\"\">Week</a>\r\n </li>\r\n\r\n <li class=\"nav-item\">\r\n <a class=\"nav-link btn btn-sm btn-color-muted btn-active-color-primary btn-active-light fw-semibold fs-7 px-4\"\r\n data-bs-toggle=\"tab\" href=\"#\">Day</a>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n<!--end::Wrapper-->\r\n\r\n<!--begin::Separartor-->\r\n<div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n<!--end::Separartor-->\r\n\r\n<!--begin::Wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 flex-shrink-0 pe-4 d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm w-md-125px form-select-solid\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex align-items-center ms-3\">\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light-primary me-3\" data-bs-toggle=\"tooltip\"\r\n data-bs-placement=\"top\" title=\"Enable grid view\">\r\n <lib-keenicon name=\"element-11\" class=\"fs-2 text-primary\"></lib-keenicon>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-light\" data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"\r\n title=\"Enable row view\">\r\n <lib-keenicon name=\"abstract-14\" class=\"fs-2 text-gray400\"></lib-keenicon>\r\n </button>\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Wrapper-->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
2721
3148
|
}
|
|
2722
3149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReportsComponent, decorators: [{
|
|
2723
3150
|
type: Component,
|
|
@@ -2731,7 +3158,7 @@ class SaasComponent {
|
|
|
2731
3158
|
constructor() { }
|
|
2732
3159
|
ngOnInit() { }
|
|
2733
3160
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SaasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2734
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SaasComponent, selector: "lib-saas", inputs: { appPageTitleDisplay: "appPageTitleDisplay" }, ngImport: i0, template: "<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 pe-4 text-nowrap d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-100px w-xxl-125px\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold\">Impact Level:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::NoUiSlider-->\r\n <div class=\"d-flex align-items-center ps-4\">\r\n <div id=\"kt_app_toolbar_slider\" class=\"noUi-target noUi-target-success w-75px w-xxl-150px noUi-sm\"></div>\r\n\r\n <span id=\"kt_app_toolbar_slider_value\"\r\n class=\"d-flex flex-center bg-light-success rounded-circle w-35px h-35px ms-4 fs-7 fw-bold text-success\"\r\n data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" title=\"Set impact level\">\r\n </span>\r\n </div>\r\n <!--end::NoUiSlider-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Quick Tools:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex\">\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new page\">\r\n <lib-keenicon name=\"files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new category\">\r\n <lib-keenicon name=\"add-files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new section\">\r\n <lib-keenicon name=\"search-list\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n", styles: [""], dependencies: [{ kind: "directive", type:
|
|
3161
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SaasComponent, selector: "lib-saas", inputs: { appPageTitleDisplay: "appPageTitleDisplay" }, ngImport: i0, template: "<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 fw-bold text-gray-700 pe-4 text-nowrap d-none d-md-block\">Sort By:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-100px w-xxl-125px\" data-control=\"select2\"\r\n data-placeholder=\"Latest\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Latest</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold\">Impact Level:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::NoUiSlider-->\r\n <div class=\"d-flex align-items-center ps-4\">\r\n <div id=\"kt_app_toolbar_slider\" class=\"noUi-target noUi-target-success w-75px w-xxl-150px noUi-sm\"></div>\r\n\r\n <span id=\"kt_app_toolbar_slider_value\"\r\n class=\"d-flex flex-center bg-light-success rounded-circle w-35px h-35px ms-4 fs-7 fw-bold text-success\"\r\n data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" title=\"Set impact level\">\r\n </span>\r\n </div>\r\n <!--end::NoUiSlider-->\r\n\r\n <!--begin::Separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Separartor-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n\r\n<!--begin::Action wrapper-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Quick Tools:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex\">\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new page\">\r\n <lib-keenicon name=\"files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new category\">\r\n <lib-keenicon name=\"add-files\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n\r\n <!--begin::Action-->\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-icon-muted btn-active-icon-success\" data-bs-toggle=\"tooltip\"\r\n data-bs-trigger=\"hover\" data-bs-placement=\"top\" title=\"Add new section\">\r\n <lib-keenicon name=\"search-list\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n <!--end::Action-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Action wrapper-->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
|
|
2735
3162
|
}
|
|
2736
3163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SaasComponent, decorators: [{
|
|
2737
3164
|
type: Component,
|
|
@@ -2873,11 +3300,11 @@ class PaginationComponent {
|
|
|
2873
3300
|
this.pageSizeChange.emit(this.pageSize);
|
|
2874
3301
|
}
|
|
2875
3302
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2876
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PaginationComponent, selector: "lib-pagination", inputs: { collection: "collection", itemsPerPage: "itemsPerPage", currentPage: "currentPage", totalItems: "totalItems", directionLinks: "directionLinks", pageSize: "pageSize", paginationSizes: "paginationSizes" }, outputs: { pageChange: "pageChange", pageSizeChange: "pageSizeChange" }, ngImport: i0, template: "\r\n<div class=\"row\">\r\n <div class=\"col-md-3\"></div>\r\n <div class=\"col-md-3 mt-4 text-end pe-0\"><span class=\"sub-title\">\r\n <span class=\"me-3\">Displaying</span>\r\n <select class=\"border-val \" [(ngModel)]=\"pageSize\" (change)=\"onPageSizeChange()\">\r\n <option value=\"{{ size }}\" *ngFor=\"let size of paginationSizes\">\r\n {{ size }}\r\n </option>>\r\n </select>\r\n <span class=\"ms-3\">out of {{totalItems}} items</span>\r\n </span></div>\r\n <div class=\"col-md-4 text-start ps-0\">\r\n <ul>\r\n <li\r\n *ngFor=\"let item of collection | paginate: { itemsPerPage: itemsPerPage, currentPage: currentPage, totalItems: totalItems }\">\r\n </li>\r\n </ul>\r\n <pagination-controls \r\n (pageChange)=\"onPageChange($event);currentPage=$event;\" \r\n [directionLinks]=\"directionLinks\"\r\n [maxSize]=\"7\"\r\n [responsive]=\"true\">\r\n </pagination-controls>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n</div>\r\n", styles: ["::ng-deep .ngx-pagination .current{padding:12px!important;background:#eaf8ff!important;cursor:default;color:#00a3ff!important;width:
|
|
3303
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PaginationComponent, selector: "lib-pagination", inputs: { collection: "collection", itemsPerPage: "itemsPerPage", currentPage: "currentPage", totalItems: "totalItems", directionLinks: "directionLinks", pageSize: "pageSize", paginationSizes: "paginationSizes" }, outputs: { pageChange: "pageChange", pageSizeChange: "pageSizeChange" }, ngImport: i0, template: "\r\n<div class=\"row\">\r\n <div class=\"col-md-3\"></div>\r\n <div class=\"col-md-3 mt-4 text-end pe-0\"><span class=\"sub-title\">\r\n <span class=\"me-3\">Displaying</span>\r\n <select class=\"border-val \" [(ngModel)]=\"pageSize\" (change)=\"onPageSizeChange()\">\r\n <option value=\"{{ size }}\" *ngFor=\"let size of paginationSizes\">\r\n {{ size }}\r\n </option>>\r\n </select>\r\n <span class=\"ms-3\">out of {{totalItems}} items</span>\r\n </span></div>\r\n <div class=\"col-md-4 text-start ps-0\">\r\n <ul>\r\n <li\r\n *ngFor=\"let item of collection | paginate: { itemsPerPage: itemsPerPage, currentPage: currentPage, totalItems: totalItems }\">\r\n </li>\r\n </ul>\r\n <pagination-controls \r\n (pageChange)=\"onPageChange($event);currentPage=$event;\" \r\n [directionLinks]=\"directionLinks\"\r\n [maxSize]=\"7\"\r\n [responsive]=\"true\">\r\n </pagination-controls>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n</div>\r\n", styles: ["::ng-deep .ngx-pagination .current{padding:12px!important;background:#eaf8ff!important;cursor:default;color:#00a3ff!important;width:50px;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{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px}::ng-deep .ngx-pagination a{padding:.1875rem 1rem!important}*{font-family:Inter!important}.border-val{padding:10px 14px!important;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\"><path d=\"M10 12l-6-6h12l-6 6z\" fill=\"%23777\"/></svg>');background-repeat:no-repeat;background-position-x:calc(100% - 12px);background-position-y:50%;padding-right:20px}.sub-title{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:500!important;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { 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: "component", type: i3$1.PaginationControlsComponent, selector: "pagination-controls", inputs: ["id", "maxSize", "directionLinks", "autoHide", "responsive", "previousLabel", "nextLabel", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel"], outputs: ["pageChange", "pageBoundsCorrection"] }, { kind: "pipe", type: i3$1.PaginatePipe, name: "paginate" }] });
|
|
2877
3304
|
}
|
|
2878
3305
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
2879
3306
|
type: Component,
|
|
2880
|
-
args: [{ selector: 'lib-pagination', template: "\r\n<div class=\"row\">\r\n <div class=\"col-md-3\"></div>\r\n <div class=\"col-md-3 mt-4 text-end pe-0\"><span class=\"sub-title\">\r\n <span class=\"me-3\">Displaying</span>\r\n <select class=\"border-val \" [(ngModel)]=\"pageSize\" (change)=\"onPageSizeChange()\">\r\n <option value=\"{{ size }}\" *ngFor=\"let size of paginationSizes\">\r\n {{ size }}\r\n </option>>\r\n </select>\r\n <span class=\"ms-3\">out of {{totalItems}} items</span>\r\n </span></div>\r\n <div class=\"col-md-4 text-start ps-0\">\r\n <ul>\r\n <li\r\n *ngFor=\"let item of collection | paginate: { itemsPerPage: itemsPerPage, currentPage: currentPage, totalItems: totalItems }\">\r\n </li>\r\n </ul>\r\n <pagination-controls \r\n (pageChange)=\"onPageChange($event);currentPage=$event;\" \r\n [directionLinks]=\"directionLinks\"\r\n [maxSize]=\"7\"\r\n [responsive]=\"true\">\r\n </pagination-controls>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n</div>\r\n", styles: ["::ng-deep .ngx-pagination .current{padding:12px!important;background:#eaf8ff!important;cursor:default;color:#00a3ff!important;width:
|
|
3307
|
+
args: [{ selector: 'lib-pagination', template: "\r\n<div class=\"row\">\r\n <div class=\"col-md-3\"></div>\r\n <div class=\"col-md-3 mt-4 text-end pe-0\"><span class=\"sub-title\">\r\n <span class=\"me-3\">Displaying</span>\r\n <select class=\"border-val \" [(ngModel)]=\"pageSize\" (change)=\"onPageSizeChange()\">\r\n <option value=\"{{ size }}\" *ngFor=\"let size of paginationSizes\">\r\n {{ size }}\r\n </option>>\r\n </select>\r\n <span class=\"ms-3\">out of {{totalItems}} items</span>\r\n </span></div>\r\n <div class=\"col-md-4 text-start ps-0\">\r\n <ul>\r\n <li\r\n *ngFor=\"let item of collection | paginate: { itemsPerPage: itemsPerPage, currentPage: currentPage, totalItems: totalItems }\">\r\n </li>\r\n </ul>\r\n <pagination-controls \r\n (pageChange)=\"onPageChange($event);currentPage=$event;\" \r\n [directionLinks]=\"directionLinks\"\r\n [maxSize]=\"7\"\r\n [responsive]=\"true\">\r\n </pagination-controls>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n</div>\r\n", styles: ["::ng-deep .ngx-pagination .current{padding:12px!important;background:#eaf8ff!important;cursor:default;color:#00a3ff!important;width:50px;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{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px}::ng-deep .ngx-pagination a{padding:.1875rem 1rem!important}*{font-family:Inter!important}.border-val{padding:10px 14px!important;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\"><path d=\"M10 12l-6-6h12l-6 6z\" fill=\"%23777\"/></svg>');background-repeat:no-repeat;background-position-x:calc(100% - 12px);background-position-y:50%;padding-right:20px}.sub-title{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:500!important;line-height:20px}\n"] }]
|
|
2881
3308
|
}], propDecorators: { collection: [{
|
|
2882
3309
|
type: Input
|
|
2883
3310
|
}], itemsPerPage: [{
|
|
@@ -3035,7 +3462,7 @@ class FiltersComponent {
|
|
|
3035
3462
|
});
|
|
3036
3463
|
}
|
|
3037
3464
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FiltersComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
3038
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: FiltersComponent, selector: "lib-filters", inputs: { dataObject: "dataObject" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"position-relative\">\r\n \r\n <button type=\"button\" (click)=\"opendropdown($event)\" \r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n class=\"pl-3\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Filter</span> </button>\r\n \r\n <div class=\"card p-5 dropdown1 position-absolute\" *ngIf=\"Opendropdown\">\r\n <span class=\"dropdown-title\">Filter Options</span>\r\n <div class=\"w-100 border border-gray mt-3\"></div>\r\n <div class=\"py-3\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select position-relative d-flex justify-content-between\" (click)=\"Dropdown(item.Description,i,$event)\">\r\n <!-- <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ? selectedValuesArray[i]?.length + ' ' + item.Description.split(' ').pop() + ' Selected' : item.Description }}</span> -->\r\n <span class=\"\">{{item.Description}}</span> <span *ngIf=\"selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined && selectedValuesArray[i]?.length !== 0\" class=\"badge badge-light-default\">{{selectedValuesArray[i]?.length}}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute w-100\">\r\n <div class=\"form-check d-flex align-items-center py-3 pt-3 ps-0\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\" [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-2\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n \r\n <div class=\"border border-gray mt-3 \"></div>\r\n \r\n <div class=\"mt-3 d-flex align-items-center\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\" class=\"form-control searchinput ps-14 py-2 me-2 mt-2\"\r\n placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n \r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 pt-3 ps-0 mt-2\">\r\n <input class=\"form-check-input\" type=\"checkbox\" [value]=\"issue.text\" id=\"option{{issue.text}}\" [checked]=\"selectedValuesArray[i]?.includes(issue.text)\"\r\n (change)=\"toggleCheckbox(issue.text,i)\">\r\n <label class=\"form-check-label px-2\" for=\"option{{issue.text}}\">\r\n {{ issue.text }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div role=\"group\" class=\"d-flex justify-content-between\">\r\n <button class=\"btn btn-outline w-100 me-2\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-100 ms-2\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".dropdown1{position:absolute;top:70px;min-width:270px!important}.dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{width:90%!important;z-index:1;padding:10px;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:200px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px;text-transform:capitalize}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type:
|
|
3465
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: FiltersComponent, selector: "lib-filters", inputs: { dataObject: "dataObject" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"position-relative\">\r\n \r\n <button type=\"button\" (click)=\"opendropdown($event)\" \r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n class=\"pl-3\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Filter</span> </button>\r\n \r\n <div class=\"card p-5 dropdown1 position-absolute\" *ngIf=\"Opendropdown\">\r\n <span class=\"dropdown-title\">Filter Options</span>\r\n <div class=\"w-100 border border-gray mt-3\"></div>\r\n <div class=\"py-3\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select position-relative d-flex justify-content-between\" (click)=\"Dropdown(item.Description,i,$event)\">\r\n <!-- <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ? selectedValuesArray[i]?.length + ' ' + item.Description.split(' ').pop() + ' Selected' : item.Description }}</span> -->\r\n <span class=\"\">{{item.Description}}</span> <span *ngIf=\"selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined && selectedValuesArray[i]?.length !== 0\" class=\"badge badge-light-default\">{{selectedValuesArray[i]?.length}}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute w-100\">\r\n <div class=\"form-check d-flex align-items-center py-3 pt-3 ps-0\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\" [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-2\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n \r\n <div class=\"border border-gray mt-3 \"></div>\r\n \r\n <div class=\"mt-3 d-flex align-items-center\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\" class=\"form-control searchinput ps-14 py-2 me-2 mt-2\"\r\n placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n \r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 pt-3 ps-0 mt-2\">\r\n <input class=\"form-check-input\" type=\"checkbox\" [value]=\"issue.text\" id=\"option{{issue.text}}\" [checked]=\"selectedValuesArray[i]?.includes(issue.text)\"\r\n (change)=\"toggleCheckbox(issue.text,i)\">\r\n <label class=\"form-check-label px-2\" for=\"option{{issue.text}}\">\r\n {{ issue.text }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div role=\"group\" class=\"d-flex justify-content-between\">\r\n <button class=\"btn btn-outline w-100 me-2\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-100 ms-2\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".dropdown1{position:absolute;top:70px;min-width:270px!important}.dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{width:90%!important;z-index:1;padding:10px;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:200px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px;text-transform:capitalize}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: 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"] }] });
|
|
3039
3466
|
}
|
|
3040
3467
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FiltersComponent, decorators: [{
|
|
3041
3468
|
type: Component,
|
|
@@ -3100,7 +3527,7 @@ class TranslationService {
|
|
|
3100
3527
|
return (localStorage.getItem(LOCALIZATION_LOCAL_STORAGE_KEY) ||
|
|
3101
3528
|
this.translate.getDefaultLang());
|
|
3102
3529
|
}
|
|
3103
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TranslationService, deps: [{ token: i1$
|
|
3530
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TranslationService, deps: [{ token: i1$3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3104
3531
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TranslationService, providedIn: 'root' });
|
|
3105
3532
|
}
|
|
3106
3533
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TranslationService, decorators: [{
|
|
@@ -3108,7 +3535,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
3108
3535
|
args: [{
|
|
3109
3536
|
providedIn: 'root',
|
|
3110
3537
|
}]
|
|
3111
|
-
}], ctorParameters: () => [{ type: i1$
|
|
3538
|
+
}], ctorParameters: () => [{ type: i1$3.TranslateService }] });
|
|
3112
3539
|
|
|
3113
3540
|
// USA
|
|
3114
3541
|
const locale$5 = {
|
|
@@ -3856,7 +4283,10 @@ class LayoutModule {
|
|
|
3856
4283
|
SaasComponent,
|
|
3857
4284
|
KeeniconComponent,
|
|
3858
4285
|
LayoutScrollTopComponent,
|
|
3859
|
-
ClientSettingsComponent
|
|
4286
|
+
ClientSettingsComponent,
|
|
4287
|
+
DatepickerComponent,
|
|
4288
|
+
DateSingleSelectComponent,
|
|
4289
|
+
SingleStoreComponent], imports: [CommonModule, i1$1.RouterModule, TranslationModule,
|
|
3860
4290
|
InlineSVGModule,
|
|
3861
4291
|
NgbDropdownModule,
|
|
3862
4292
|
NgbProgressbarModule,
|
|
@@ -3869,7 +4299,7 @@ class LayoutModule {
|
|
|
3869
4299
|
TranslateModule,
|
|
3870
4300
|
// ThemeModeModule,
|
|
3871
4301
|
CommonSharedModule,
|
|
3872
|
-
FormsModule,
|
|
4302
|
+
FormsModule, i5.NgxDaterangepickerMd], exports: [RouterModule] });
|
|
3873
4303
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutModule, imports: [CommonModule,
|
|
3874
4304
|
RouterModule.forChild(routes$1),
|
|
3875
4305
|
TranslationModule,
|
|
@@ -3913,7 +4343,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
3913
4343
|
SaasComponent,
|
|
3914
4344
|
KeeniconComponent,
|
|
3915
4345
|
LayoutScrollTopComponent,
|
|
3916
|
-
ClientSettingsComponent
|
|
4346
|
+
ClientSettingsComponent,
|
|
4347
|
+
DatepickerComponent,
|
|
4348
|
+
DateSingleSelectComponent,
|
|
4349
|
+
SingleStoreComponent
|
|
3917
4350
|
],
|
|
3918
4351
|
imports: [
|
|
3919
4352
|
CommonModule,
|
|
@@ -3993,6 +4426,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
3993
4426
|
}]
|
|
3994
4427
|
}] });
|
|
3995
4428
|
|
|
4429
|
+
class GlobalStateService {
|
|
4430
|
+
userData = new BehaviorSubject(null);
|
|
4431
|
+
environment = new BehaviorSubject(null);
|
|
4432
|
+
dataRangeValue = new BehaviorSubject(null);
|
|
4433
|
+
selectedClient = new BehaviorSubject(null);
|
|
4434
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4435
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalStateService, providedIn: 'root' });
|
|
4436
|
+
}
|
|
4437
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalStateService, decorators: [{
|
|
4438
|
+
type: Injectable,
|
|
4439
|
+
args: [{
|
|
4440
|
+
providedIn: 'root'
|
|
4441
|
+
}]
|
|
4442
|
+
}] });
|
|
4443
|
+
|
|
4444
|
+
class AuthService {
|
|
4445
|
+
router;
|
|
4446
|
+
gs;
|
|
4447
|
+
http;
|
|
4448
|
+
clientApiUrl;
|
|
4449
|
+
authlocalStorageToken;
|
|
4450
|
+
constructor(router, gs, http) {
|
|
4451
|
+
this.router = router;
|
|
4452
|
+
this.gs = gs;
|
|
4453
|
+
this.http = http;
|
|
4454
|
+
this.gs.environment.subscribe((env) => {
|
|
4455
|
+
if (env) {
|
|
4456
|
+
this.clientApiUrl = env.clientApiUrl;
|
|
4457
|
+
this.authlocalStorageToken = `${env.appVersion}-${env.USERDATA_KEY}`;
|
|
4458
|
+
}
|
|
4459
|
+
});
|
|
4460
|
+
}
|
|
4461
|
+
handleError(res) {
|
|
4462
|
+
return throwError(res.error);
|
|
4463
|
+
}
|
|
4464
|
+
logout() {
|
|
4465
|
+
localStorage.removeItem(this.authlocalStorageToken);
|
|
4466
|
+
this.router.navigate(['/auth/login'], {
|
|
4467
|
+
queryParams: {},
|
|
4468
|
+
});
|
|
4469
|
+
}
|
|
4470
|
+
getClients() {
|
|
4471
|
+
return this.http.get(`${this.clientApiUrl}/get-clients`, {})
|
|
4472
|
+
.pipe(map((response) => response), catchError(this.handleError));
|
|
4473
|
+
}
|
|
4474
|
+
getStores() {
|
|
4475
|
+
return this.http.get(`https://devtangoretail-api.tangoeye.ai/v3/store/get-stores?clientId=11`, {})
|
|
4476
|
+
.pipe(map((response) => response), catchError(this.handleError));
|
|
4477
|
+
}
|
|
4478
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, deps: [{ token: i1$1.Router }, { token: GlobalStateService }, { token: i3$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4479
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
4480
|
+
}
|
|
4481
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AuthService, decorators: [{
|
|
4482
|
+
type: Injectable,
|
|
4483
|
+
args: [{
|
|
4484
|
+
providedIn: 'root'
|
|
4485
|
+
}]
|
|
4486
|
+
}], ctorParameters: () => [{ type: i1$1.Router }, { type: GlobalStateService }, { type: i3$2.HttpClient }] });
|
|
4487
|
+
|
|
3996
4488
|
class AuthGuard {
|
|
3997
4489
|
authService;
|
|
3998
4490
|
constructor(authService) {
|
|
@@ -4079,22 +4571,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
4079
4571
|
}]
|
|
4080
4572
|
}], ctorParameters: () => [] });
|
|
4081
4573
|
|
|
4574
|
+
// import { GlobalStateService } from 'tango-app-ui-shared';
|
|
4082
4575
|
class HttpAuthInterceptor {
|
|
4083
|
-
|
|
4576
|
+
gs;
|
|
4577
|
+
authlocalStorageToken = '';
|
|
4578
|
+
constructor(gs) {
|
|
4579
|
+
this.gs = gs;
|
|
4580
|
+
this.gs.environment.subscribe((env) => {
|
|
4581
|
+
if (env) {
|
|
4582
|
+
this.authlocalStorageToken = `${env.appVersion}-${env.USERDATA_KEY}`;
|
|
4583
|
+
}
|
|
4584
|
+
});
|
|
4585
|
+
}
|
|
4084
4586
|
intercept(request, next) {
|
|
4587
|
+
const user = JSON.parse(localStorage.getItem(this.authlocalStorageToken) || '{}');
|
|
4085
4588
|
request = request.clone({
|
|
4086
4589
|
setHeaders: {
|
|
4087
|
-
Authorization:
|
|
4590
|
+
Authorization: 'Bearer ' + user.athenticationToken
|
|
4088
4591
|
}
|
|
4089
4592
|
});
|
|
4090
4593
|
return next.handle(request);
|
|
4091
4594
|
}
|
|
4092
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HttpAuthInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4595
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HttpAuthInterceptor, deps: [{ token: GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4093
4596
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HttpAuthInterceptor });
|
|
4094
4597
|
}
|
|
4095
4598
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HttpAuthInterceptor, decorators: [{
|
|
4096
4599
|
type: Injectable
|
|
4097
|
-
}], ctorParameters: () => [] });
|
|
4600
|
+
}], ctorParameters: () => [{ type: GlobalStateService }] });
|
|
4098
4601
|
|
|
4099
4602
|
/*
|
|
4100
4603
|
* Public API Surface of tango-app-shared
|