tango-app-ui-shared 3.5.0-alpha.1 → 3.5.0-alpha.10

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.
@@ -73,9 +73,8 @@ class AuthService {
73
73
  return headers;
74
74
  }
75
75
  logout() {
76
- return this.http.get(`${this.userApiUrl}/logout`, {
77
- headers: this.getHeaders()
78
- });
76
+ this.deleteCookie(this.authlocalStorageToken);
77
+ return this.http.get(`${this.userApiUrl}/logout`);
79
78
  }
80
79
  getClients() {
81
80
  return this.http.get(`${this.clientApiUrl}/get-clients`, {})
@@ -151,6 +150,24 @@ class AuthService {
151
150
  getHeaderZone(data) {
152
151
  return this.http.post(`${this.trafficApiUrl}/headerZoneV2`, data);
153
152
  }
153
+ base64Encode(str) {
154
+ return btoa(encodeURIComponent(str));
155
+ }
156
+ base64Decode(str) {
157
+ return decodeURIComponent(atob(str));
158
+ }
159
+ setCookie(name, value, days = 1) {
160
+ const encodedValue = this.base64Encode(value);
161
+ const expires = new Date(Date.now() + days * 864e5).toUTCString();
162
+ document.cookie = `${name}=${encodedValue}; expires=${expires}; path=/; Secure; SameSite=Strict`;
163
+ }
164
+ getCookie(name) {
165
+ const match = document.cookie.match(new RegExp(`(^| )${name}=([^;]+)`));
166
+ return match ? this.base64Decode(match[2]) : null;
167
+ }
168
+ deleteCookie(name) {
169
+ document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
170
+ }
154
171
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthService, deps: [{ token: i2.Router }, { token: i1.GlobalStateService }, { token: i3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
155
172
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthService, providedIn: 'root' });
156
173
  }
@@ -5226,12 +5243,15 @@ class SingleStoredateComponent {
5226
5243
  ngOnInit() {
5227
5244
  this.activatedRoute?.queryParams.subscribe(params => {
5228
5245
  this.dataUser = params;
5229
- console.log("Query Params:", this.dataUser);
5246
+ // Re-check date after params load
5247
+ this.initializeFilters();
5230
5248
  });
5231
5249
  if ("user-info" in localStorage) {
5232
5250
  const userData = JSON.parse(localStorage.getItem("user-info") || "{}");
5233
5251
  this.users = userData;
5234
5252
  }
5253
+ }
5254
+ initializeFilters() {
5235
5255
  const clientFromRoute = this.dataUser?.client;
5236
5256
  const clientFromHeader = localStorage.getItem("header-filters")
5237
5257
  ? JSON.parse(localStorage.getItem("header-filters") || "{}").client
@@ -5243,14 +5263,29 @@ class SingleStoredateComponent {
5243
5263
  this.headerFilters = headerFilters;
5244
5264
  // Determine final client ID
5245
5265
  const finalClient = clientFromRoute ?? clientFromHeader ?? clientFromUser;
5246
- // Safely assign all filters
5247
5266
  this.selectedFilters.client = finalClient;
5248
5267
  this.selectedFilters.clients = finalClient ? [finalClient] : [];
5249
5268
  this.selectedFilters.clientName = headerFilters.clientName || "";
5250
5269
  this.selectedFilters.store = this.dataUser?.storeId ?? headerFilters.store ?? "";
5251
5270
  this.selectedFilters.storeName = headerFilters.storeName || "";
5252
- // Handle date
5253
- if (headerFilters?.date?.startDate && headerFilters?.date?.endDate) {
5271
+ this.selectedFilters.group = headerFilters.group;
5272
+ this.selectedFilters.location = headerFilters.location;
5273
+ this.selectedFilters.country = headerFilters.country;
5274
+ this.selectedFilters.stores = headerFilters.stores ?? "";
5275
+ this.selectedFilters.zoneName = headerFilters.zoneName ?? "";
5276
+ // ✅ Handle query param date if present
5277
+ if (this.dataUser?.date) {
5278
+ const date = this.dataUser.date;
5279
+ this.selectedFilters.date = {
5280
+ startDate: date,
5281
+ endDate: date,
5282
+ };
5283
+ this.selectedDateRange = {
5284
+ startDate: this.dayjs(date, "YYYY-MM-DD").format("DD-MM-YYYY"),
5285
+ endDate: this.dayjs(date, "YYYY-MM-DD").format("DD-MM-YYYY"),
5286
+ };
5287
+ }
5288
+ else if (headerFilters?.date?.startDate && headerFilters?.date?.endDate) {
5254
5289
  this.selectedFilters.date = headerFilters.date;
5255
5290
  this.selectedDateRange = {
5256
5291
  startDate: this.dayjs(headerFilters.date.startDate, "YYYY-MM-DD").format("DD-MM-YYYY"),
@@ -5258,7 +5293,7 @@ class SingleStoredateComponent {
5258
5293
  };
5259
5294
  }
5260
5295
  else {
5261
- // Default to yesterday if no valid date is found
5296
+ // Default to yesterday
5262
5297
  const yesterday = this.dayjs().subtract(1, "days");
5263
5298
  const formattedDate = {
5264
5299
  startDate: yesterday.format("YYYY-MM-DD"),
@@ -5270,7 +5305,7 @@ class SingleStoredateComponent {
5270
5305
  endDate: yesterday.format("DD-MM-YYYY"),
5271
5306
  };
5272
5307
  }
5273
- // Save back only if valid
5308
+ // Save only if valid
5274
5309
  if (finalClient && this.selectedFilters.date?.startDate && this.selectedFilters.store) {
5275
5310
  localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
5276
5311
  }
@@ -5304,12 +5339,14 @@ class SingleStoredateComponent {
5304
5339
  const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
5305
5340
  this.selectedFilters.date = headerFilters.date;
5306
5341
  }
5307
- this.selectedFilters.client = this.users.clientId;
5308
- this.selectedFilters.clients = [this.users.clientId];
5342
+ const clientId = this.users?.clientId ?? this.dataUser?.client ?? this.selectedFilters.client;
5343
+ this.selectedFilters.client = clientId;
5344
+ this.selectedFilters.clients = clientId ? [clientId] : [this.selectedFilters.client];
5309
5345
  this.selectedFilters.date = this.selectedFilters.date;
5310
- this.selectedFilters.storeName = this.selectedFilters.storeName;
5346
+ this.selectedFilters.storeName = this.selectedFilters.storeName || '';
5311
5347
  this.gs.dataRangeValue.next(this.selectedFilters);
5312
5348
  localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
5349
+ this.cd.detectChanges();
5313
5350
  }
5314
5351
  Apply() {
5315
5352
  const headerFilters = JSON.parse(localStorage.getItem("header-filters") || "{}");
@@ -6840,8 +6877,10 @@ class MetricsHeaderComponent {
6840
6877
  const isValidDate = m > this.dayjs();
6841
6878
  return isValidDate ? "invalid-date" : false;
6842
6879
  };
6843
- selectedDateRange = { startDate: dayjs().subtract(30, 'days'),
6844
- endDate: dayjs().subtract(1, "days"), };
6880
+ selectedDateRange = {
6881
+ startDate: dayjs().subtract(30, "days"),
6882
+ endDate: dayjs().subtract(1, "days"),
6883
+ };
6845
6884
  selectedFilters = {
6846
6885
  client: null,
6847
6886
  clientName: null,
@@ -6852,7 +6891,7 @@ class MetricsHeaderComponent {
6852
6891
  group: [],
6853
6892
  location: [],
6854
6893
  country: [],
6855
- zoneName: []
6894
+ zoneName: [],
6856
6895
  };
6857
6896
  Opendropdown = false;
6858
6897
  dropdownOpen = null; // 'location' or 'group'
@@ -6866,8 +6905,8 @@ class MetricsHeaderComponent {
6866
6905
  filteredZones = [];
6867
6906
  stores = [];
6868
6907
  zones = [];
6869
- searchStoreText = '';
6870
- searchZoneText = '';
6908
+ searchStoreText = "";
6909
+ searchZoneText = "";
6871
6910
  clientList = [];
6872
6911
  selectedClient;
6873
6912
  locationLabel = [];
@@ -6886,7 +6925,7 @@ class MetricsHeaderComponent {
6886
6925
  }
6887
6926
  onClick(event) {
6888
6927
  const target = event.target;
6889
- if (!target.closest('.dropdown2')) {
6928
+ if (!target.closest(".dropdown2")) {
6890
6929
  this.Opendropdown = false;
6891
6930
  }
6892
6931
  }
@@ -6901,12 +6940,12 @@ class MetricsHeaderComponent {
6901
6940
  // this.setRangesBasedOnRoute();
6902
6941
  // }
6903
6942
  // });
6904
- this.url = this.router.url.split("?")[0].split('/');
6905
- const user = JSON.parse(localStorage.getItem('user-info'));
6943
+ this.url = this.router.url.split("?")[0].split("/");
6944
+ const user = JSON.parse(localStorage.getItem("user-info"));
6906
6945
  this.users = user;
6907
6946
  this.gs?.manageRefreshTrigger?.subscribe((e) => {
6908
6947
  if (e) {
6909
- if (user.userType === 'tango') {
6948
+ if (user.userType === "tango") {
6910
6949
  this.getClient();
6911
6950
  }
6912
6951
  else {
@@ -6915,18 +6954,18 @@ class MetricsHeaderComponent {
6915
6954
  const headerFilters = JSON.parse(storedFilters);
6916
6955
  this.filteredStores = headerFilters?.stores.map((store) => ({
6917
6956
  ...store,
6918
- checked: store.checked
6957
+ checked: store.checked,
6919
6958
  }));
6920
6959
  this.filteredZones = headerFilters?.zoneName.map((store) => ({
6921
6960
  ...store,
6922
- checked: store.checked
6961
+ checked: store.checked,
6923
6962
  }));
6924
6963
  }
6925
6964
  }
6926
6965
  }
6927
6966
  });
6928
6967
  // Fetch client data if the user is of type 'tango'
6929
- if (user.userType === 'tango') {
6968
+ if (user.userType === "tango") {
6930
6969
  this.getClient();
6931
6970
  }
6932
6971
  else {
@@ -6938,7 +6977,7 @@ class MetricsHeaderComponent {
6938
6977
  if (clientFilters) {
6939
6978
  const headerclientFilters = JSON.parse(clientFilters);
6940
6979
  this.selectedClient = {
6941
- trafficDateRange: headerclientFilters.trafficDateRange
6980
+ trafficDateRange: headerclientFilters.trafficDateRange,
6942
6981
  };
6943
6982
  }
6944
6983
  }
@@ -6949,7 +6988,7 @@ class MetricsHeaderComponent {
6949
6988
  // Initialize selectedFilters with defaults or existing values
6950
6989
  this.selectedFilters = {
6951
6990
  client: headerFilters.client || this.users.client,
6952
- clientName: headerFilters.clientName || '',
6991
+ clientName: headerFilters.clientName || "",
6953
6992
  clients: headerFilters.clients || [],
6954
6993
  store: headerFilters.store || null,
6955
6994
  date: headerFilters.date || {},
@@ -6992,7 +7031,7 @@ class MetricsHeaderComponent {
6992
7031
  return items
6993
7032
  ? items.map((item) => ({
6994
7033
  ...item,
6995
- checked: item.checked === true
7034
+ checked: item.checked === true,
6996
7035
  }))
6997
7036
  : [];
6998
7037
  }
@@ -7007,7 +7046,7 @@ class MetricsHeaderComponent {
7007
7046
  resetFilters() {
7008
7047
  this.selectedFilters = {
7009
7048
  client: null,
7010
- clientName: '',
7049
+ clientName: "",
7011
7050
  clients: [],
7012
7051
  store: null,
7013
7052
  date: {},
@@ -7015,7 +7054,7 @@ class MetricsHeaderComponent {
7015
7054
  group: [],
7016
7055
  location: [],
7017
7056
  country: [],
7018
- zoneName: []
7057
+ zoneName: [],
7019
7058
  };
7020
7059
  this.filteredLocations = [];
7021
7060
  this.filteredGroups = [];
@@ -7114,13 +7153,13 @@ class MetricsHeaderComponent {
7114
7153
  }
7115
7154
  getUserInfo(client) {
7116
7155
  let obj = {
7117
- clientId: client ? client : ''
7156
+ clientId: client ? client : "",
7118
7157
  };
7119
7158
  if (client) {
7120
7159
  this.auth.getHeaderUsers(obj).subscribe({
7121
7160
  next: (e) => {
7122
7161
  localStorage.setItem("usersEmail-info", JSON.stringify(e?.data?.userEmailData || []));
7123
- }
7162
+ },
7124
7163
  });
7125
7164
  }
7126
7165
  }
@@ -7153,7 +7192,7 @@ class MetricsHeaderComponent {
7153
7192
  this.getStore();
7154
7193
  this.getGroups();
7155
7194
  // Update localStorage with the new client selection and empty filter data
7156
- localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
7195
+ localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
7157
7196
  window.location.reload();
7158
7197
  // Emit data to the global service
7159
7198
  // this.gs.dataRangeValue.next(this.selectedFilters);
@@ -7162,16 +7201,16 @@ class MetricsHeaderComponent {
7162
7201
  }
7163
7202
  ranges = {
7164
7203
  Today: [dayjs(), dayjs()],
7165
- Yesterday: [dayjs().subtract(1, 'days'), dayjs().subtract(1, 'days')],
7166
- 'This Week': [dayjs().subtract(7, 'days'), dayjs().subtract(1, 'days')],
7167
- 'Last Week': [
7168
- dayjs().subtract(14, 'days').startOf('day'),
7169
- dayjs().subtract(8, 'days').endOf('day'),
7204
+ Yesterday: [dayjs().subtract(1, "days"), dayjs().subtract(1, "days")],
7205
+ "This Week": [dayjs().subtract(7, "days"), dayjs().subtract(1, "days")],
7206
+ "Last Week": [
7207
+ dayjs().subtract(14, "days").startOf("day"),
7208
+ dayjs().subtract(8, "days").endOf("day"),
7170
7209
  ],
7171
- 'This Month': [dayjs().subtract(30, 'days'), dayjs().subtract(1, 'days')],
7172
- 'Last Month': [
7173
- dayjs().subtract(1, 'month').startOf('month'),
7174
- dayjs().subtract(1, 'month').endOf('month'),
7210
+ "This Month": [dayjs().subtract(30, "days"), dayjs().subtract(1, "days")],
7211
+ "Last Month": [
7212
+ dayjs().subtract(1, "month").startOf("month"),
7213
+ dayjs().subtract(1, "month").endOf("month"),
7175
7214
  ],
7176
7215
  };
7177
7216
  onStartDateChange(event) {
@@ -7184,7 +7223,8 @@ class MetricsHeaderComponent {
7184
7223
  }
7185
7224
  else {
7186
7225
  this.isCustomDate = (m) => {
7187
- const isValidDate = m > this.dayjs() || m > this.dayjs(event.startDate.add(180, "days"));
7226
+ const isValidDate = m > this.dayjs() ||
7227
+ m > this.dayjs(event.startDate.add(180, "days"));
7188
7228
  return isValidDate ? "invalid-date" : false;
7189
7229
  };
7190
7230
  }
@@ -7213,18 +7253,22 @@ class MetricsHeaderComponent {
7213
7253
  }
7214
7254
  getLocations() {
7215
7255
  const country = this.countries
7216
- .filter(country => country.checked)
7217
- .map(country => country.country);
7256
+ .filter((country) => country.checked)
7257
+ .map((country) => country.country);
7218
7258
  // const headerFilters: any = JSON.parse(localStorage.getItem("header-filters") || "{}");
7219
7259
  let obj = {
7220
- clientId: this.selectedFilters.client ? this.selectedFilters.client : this.users.clientId,
7260
+ clientId: this.selectedFilters.client
7261
+ ? this.selectedFilters.client
7262
+ : this.users.clientId,
7221
7263
  country,
7222
7264
  city: [],
7223
7265
  group: [],
7224
7266
  };
7225
7267
  this.auth.getLocation(obj).subscribe({
7226
7268
  next: (res) => {
7227
- let cityList = this.selectedFilters?.location?.filter((location) => location.checked).map((loc) => loc.city);
7269
+ let cityList = this.selectedFilters?.location
7270
+ ?.filter((location) => location.checked)
7271
+ .map((loc) => loc.city);
7228
7272
  // Map the fetched locations with default unchecked state
7229
7273
  this.locations = res?.data?.locationData.map((city) => ({
7230
7274
  city: city.city,
@@ -7232,19 +7276,26 @@ class MetricsHeaderComponent {
7232
7276
  checked: cityList?.includes(city.city) ? true : false,
7233
7277
  }));
7234
7278
  // Sync the fetched locations with any stored checked values in localStorage
7235
- if (this.selectedFilters.location && Array.isArray(this.selectedFilters.location)) {
7236
- this.filteredLocations = this.locations.map(location => {
7279
+ if (this.selectedFilters.location &&
7280
+ Array.isArray(this.selectedFilters.location)) {
7281
+ this.filteredLocations = this.locations.map((location) => {
7237
7282
  const matchedLocation = this.selectedFilters.location.find((loc) => loc.city === location.city);
7238
- return matchedLocation ? { ...location, checked: matchedLocation.checked } : location;
7283
+ return matchedLocation
7284
+ ? { ...location, checked: matchedLocation.checked }
7285
+ : location;
7239
7286
  });
7240
7287
  }
7241
7288
  else {
7242
7289
  this.filteredLocations = this.locations;
7243
7290
  }
7244
7291
  if (this.searchLocationText) {
7245
- this.filteredLocations = this.locations.filter((location) => location.city.toLowerCase().includes(this.searchLocationText.toLowerCase()));
7292
+ this.filteredLocations = this.locations.filter((location) => location.city
7293
+ .toLowerCase()
7294
+ .includes(this.searchLocationText.toLowerCase()));
7246
7295
  }
7247
- const selectedLocations = this.locations.filter((location) => location.checked).map((location) => location.city);
7296
+ const selectedLocations = this.locations
7297
+ .filter((location) => location.checked)
7298
+ .map((location) => location.city);
7248
7299
  if (selectedLocations.length > 0) {
7249
7300
  setTimeout(() => {
7250
7301
  this.getGroups();
@@ -7261,36 +7312,50 @@ class MetricsHeaderComponent {
7261
7312
  });
7262
7313
  }
7263
7314
  isAllLocationsSelected() {
7264
- return this.filteredLocations.every(location => location.checked);
7315
+ return this.filteredLocations.every((location) => location.checked);
7265
7316
  }
7266
7317
  selectedLocationsLabel() {
7267
- const selectedLocations = this.locationLabel = this.searchLocationText.length ? this.locations
7268
- .filter(location => location.checked).map(location => location.city) : this.filteredLocations
7269
- .filter(location => location.checked).map(location => location.city);
7318
+ const selectedLocations = (this.locationLabel = this.searchLocationText
7319
+ .length
7320
+ ? this.locations
7321
+ .filter((location) => location.checked)
7322
+ .map((location) => location.city)
7323
+ : this.filteredLocations
7324
+ .filter((location) => location.checked)
7325
+ .map((location) => location.city));
7270
7326
  return selectedLocations.length === 0
7271
- ? ''
7327
+ ? ""
7272
7328
  : selectedLocations.length === 1
7273
7329
  ? selectedLocations[0]
7274
- : `${selectedLocations.length} locations`;
7330
+ : `${selectedLocations.length} Region`;
7275
7331
  }
7276
7332
  removeLocation() {
7277
7333
  this.Reset();
7278
7334
  }
7279
7335
  getGroups() {
7280
7336
  const country = this.countries
7281
- .filter(country => country.checked)
7282
- .map(country => country.country);
7337
+ .filter((country) => country.checked)
7338
+ .map((country) => country.country);
7283
7339
  let city;
7284
7340
  city = this.locations
7285
- .filter(location => location.checked)
7286
- .map(location => location.city);
7341
+ .filter((location) => location.checked)
7342
+ .map((location) => location.city);
7287
7343
  if (!city.length && country.length) {
7288
7344
  city = this.locations.map((loc) => loc.city);
7289
7345
  }
7290
- const obj = { country, city, clientId: this.selectedFilters.client ? this.selectedFilters.client : this.users.clientId, group: [] };
7346
+ const obj = {
7347
+ country,
7348
+ city,
7349
+ clientId: this.selectedFilters.client
7350
+ ? this.selectedFilters.client
7351
+ : this.users.clientId,
7352
+ group: [],
7353
+ };
7291
7354
  this.auth.getGroups(obj).subscribe({
7292
7355
  next: (res) => {
7293
- let checkedGroup = this.selectedFilters?.group?.filter((group) => group.checked).map((group) => group.groupName);
7356
+ let checkedGroup = this.selectedFilters?.group
7357
+ ?.filter((group) => group.checked)
7358
+ .map((group) => group.groupName);
7294
7359
  const combinedGroups = res?.data?.groupData?.map((groupName) => ({
7295
7360
  groupName: groupName.groupName,
7296
7361
  checked: checkedGroup?.includes(groupName.groupName) ? true : false,
@@ -7304,7 +7369,9 @@ class MetricsHeaderComponent {
7304
7369
  this.filteredGroups = combinedGroups;
7305
7370
  }
7306
7371
  // Auto-fetch stores when groups are selected
7307
- const selectedGroups = this.groupsData.filter((group) => group.checked).map((group) => group.groupName);
7372
+ const selectedGroups = this.groupsData
7373
+ .filter((group) => group.checked)
7374
+ .map((group) => group.groupName);
7308
7375
  if (selectedGroups.length > 0) {
7309
7376
  setTimeout(() => {
7310
7377
  this.getStore(); // Fetch stores based on selected groups
@@ -7324,51 +7391,57 @@ class MetricsHeaderComponent {
7324
7391
  else {
7325
7392
  // Open the specific dropdown and handle data fetching only if necessary
7326
7393
  this.dropdownOpen = type;
7327
- if (type === 'country') {
7394
+ if (type === "country") {
7328
7395
  // Fetch countries only if not already fetched and no search text exists
7329
- if ((!this.filteredCountries || this.filteredCountries.length === 0) && !this.searchCountryText.trim()) {
7396
+ if ((!this.filteredCountries || this.filteredCountries.length === 0) &&
7397
+ !this.searchCountryText.trim()) {
7330
7398
  this.getCountry();
7331
7399
  }
7332
7400
  }
7333
- if (type === 'group') {
7401
+ if (type === "group") {
7334
7402
  // Fetch groups only if there are selected cities and no active search text
7335
7403
  const selectedCities = this.locations
7336
7404
  .filter((location) => location.checked)
7337
7405
  .map((location) => location.city);
7338
7406
  // Fetch groups only if locations are selected, no search text exists, and dropdown is opened
7339
- if (this.filteredLocations.length > 0 || (selectedCities.length > 0 && !this.searchGroupText.trim())) {
7407
+ if (this.filteredLocations.length > 0 ||
7408
+ (selectedCities.length > 0 && !this.searchGroupText.trim())) {
7340
7409
  this.getGroups();
7341
7410
  }
7342
7411
  else {
7343
7412
  this.filteredGroups = []; // Clear groups if no locations are selected
7344
7413
  }
7345
7414
  }
7346
- if (type === 'store') {
7415
+ if (type === "store") {
7347
7416
  // Fetch stores only if not already fetched and no search text is active
7348
- if ((!this.filteredStores || this.filteredStores.length === 0) && !this.searchStoreText.trim()) {
7417
+ if ((!this.filteredStores || this.filteredStores.length === 0) &&
7418
+ !this.searchStoreText.trim()) {
7349
7419
  this.getStore();
7350
7420
  }
7351
7421
  }
7352
- if (type === 'zone') {
7422
+ if (type === "zone") {
7353
7423
  // Fetch stores only if not already fetched and no search text is active
7354
- if ((!this.filteredZones || this.filteredZones.length === 0) && !this.searchZoneText.trim()) {
7424
+ if ((!this.filteredZones || this.filteredZones.length === 0) &&
7425
+ !this.searchZoneText.trim()) {
7355
7426
  this.getZone();
7356
7427
  }
7357
7428
  }
7358
7429
  }
7359
7430
  }
7360
7431
  handleGroupDropdownClick() {
7361
- if (this.dropdownOpen === 'group') {
7432
+ if (this.dropdownOpen === "group") {
7362
7433
  this.resetSelectedGroups();
7363
7434
  }
7364
- this.toggleDropdown('group');
7435
+ this.toggleDropdown("group");
7365
7436
  }
7366
7437
  resetSelectedGroups() {
7367
7438
  this.filteredGroups.forEach((group) => (group.checked = false));
7368
7439
  this.searchGroupText = "";
7369
7440
  }
7370
7441
  selectedGroupsLabel() {
7371
- const selectedGroups = this.groupLabel = this.searchGroupText.length ? this.groupsData.filter((group) => group.checked) : this.filteredGroups.filter((group) => group.checked);
7442
+ const selectedGroups = (this.groupLabel = this.searchGroupText.length
7443
+ ? this.groupsData.filter((group) => group.checked)
7444
+ : this.filteredGroups.filter((group) => group.checked));
7372
7445
  return selectedGroups.length === 0
7373
7446
  ? ""
7374
7447
  : selectedGroups.length === 1
@@ -7379,23 +7452,25 @@ class MetricsHeaderComponent {
7379
7452
  this.Reset();
7380
7453
  }
7381
7454
  isAllGroupsSelected() {
7382
- return this.filteredGroups.length ? this.filteredGroups.every((group) => group.checked) : false;
7455
+ return this.filteredGroups.length
7456
+ ? this.filteredGroups.every((group) => group.checked)
7457
+ : false;
7383
7458
  }
7384
7459
  getStore() {
7385
7460
  const country = this.countries
7386
- .filter(country => country.checked)
7387
- .map(country => country.country);
7461
+ .filter((country) => country.checked)
7462
+ .map((country) => country.country);
7388
7463
  const city = this.locations
7389
- .filter(location => location.checked)
7390
- .map(location => location.city);
7464
+ .filter((location) => location.checked)
7465
+ .map((location) => location.city);
7391
7466
  const group = this.groupsData
7392
- .filter(group => group.checked)
7393
- .map(group => group.groupName);
7467
+ .filter((group) => group.checked)
7468
+ .map((group) => group.groupName);
7394
7469
  const data = {
7395
7470
  country,
7396
7471
  city,
7397
7472
  clusters: group,
7398
- clientId: this.users.clientId || this.selectedFilters.client
7473
+ clientId: this.users.clientId || this.selectedFilters.client,
7399
7474
  };
7400
7475
  this.auth.getHeaderStores(data).subscribe({
7401
7476
  next: (res) => {
@@ -7404,30 +7479,34 @@ class MetricsHeaderComponent {
7404
7479
  this.stores = res.data.storesData;
7405
7480
  // Check if there are previously selected stores
7406
7481
  const checkedStoreIds = this.selectedFilters?.stores
7407
- ? this.selectedFilters.stores.filter((store) => store.checked).map((store) => store.storeId)
7482
+ ? this.selectedFilters.stores
7483
+ .filter((store) => store.checked)
7484
+ .map((store) => store.storeId)
7408
7485
  : [];
7409
7486
  // Sync the `checked` state
7410
- this.stores.forEach(store => {
7487
+ this.stores.forEach((store) => {
7411
7488
  store.checked = checkedStoreIds.length
7412
7489
  ? checkedStoreIds.includes(store.storeId) // Use previous selection
7413
7490
  : true; // Default to true if no previous selection
7414
7491
  });
7415
7492
  // Apply search filter if search text is present
7416
7493
  if (this.searchStoreText.length) {
7417
- this.filteredStores = this.stores.filter(store => store.storeName.toLowerCase().includes(this.searchStoreText.toLowerCase()));
7494
+ this.filteredStores = this.stores.filter((store) => store.storeName
7495
+ .toLowerCase()
7496
+ .includes(this.searchStoreText.toLowerCase()));
7418
7497
  }
7419
7498
  else {
7420
7499
  this.filteredStores = [...this.stores];
7421
7500
  }
7422
7501
  // Update `selectedFilters.stores` to reflect the current state
7423
- this.selectedFilters.stores = this.filteredStores.map(store => ({
7502
+ this.selectedFilters.stores = this.filteredStores.map((store) => ({
7424
7503
  storeId: store.storeId,
7425
7504
  storeName: store.storeName,
7426
- checked: store.checked
7505
+ checked: store.checked,
7427
7506
  }));
7428
7507
  // this.selectedFilters.country = country;
7429
7508
  // Save updated filters to localStorage
7430
- localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
7509
+ localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
7431
7510
  this.getZone();
7432
7511
  // Trigger UI change detection
7433
7512
  this.cd.detectChanges();
@@ -7440,93 +7519,108 @@ class MetricsHeaderComponent {
7440
7519
  error: (err) => {
7441
7520
  console.error("Failed to fetch stores", err);
7442
7521
  this.clearStoresState();
7443
- }
7522
+ },
7444
7523
  });
7445
7524
  }
7446
7525
  getZone() {
7447
7526
  const country = this.countries
7448
- .filter(country => country.checked)
7449
- .map(country => country.country);
7527
+ .filter((country) => country.checked)
7528
+ .map((country) => country.country);
7450
7529
  const city = this.locations
7451
- .filter(location => location.checked)
7452
- .map(location => location.city);
7530
+ .filter((location) => location.checked)
7531
+ .map((location) => location.city);
7453
7532
  const group = this.groupsData
7454
- .filter(group => group.checked)
7455
- .map(group => group.groupName);
7533
+ .filter((group) => group.checked)
7534
+ .map((group) => group.groupName);
7456
7535
  const storeId = this.filteredStores
7457
- .filter(group => group.checked)
7458
- .map(group => group.storeId);
7536
+ .filter((group) => group.checked)
7537
+ .map((group) => group.storeId);
7459
7538
  const data = {
7460
7539
  country,
7461
7540
  city,
7462
7541
  clusters: group,
7463
7542
  clientId: this.users.clientId || this.selectedFilters.client,
7464
- storeId: storeId
7543
+ storeId: storeId,
7465
7544
  };
7466
7545
  this.auth.getHeaderZone(data).subscribe({
7467
7546
  next: (res) => {
7468
7547
  if (res && res.code === 200) {
7469
- // Initialize stores from API response
7470
- this.zones = res?.data?.zoneData;
7471
- // Check if there are previously selected stores
7548
+ // Initialize zones with Overall Store first, unchecked by default
7549
+ this.zones = [
7550
+ { _id: "overall", tagName: "Overall Store", checked: false },
7551
+ ...(res?.data?.zoneData?.map((zone) => ({
7552
+ _id: zone._id,
7553
+ tagName: zone.tagName,
7554
+ checked: false, // initialize unchecked; will update below
7555
+ })) || []),
7556
+ ];
7557
+ // Get previously selected zone IDs (checked ones)
7472
7558
  const checkedStoreIds = this.selectedFilters?.zoneName
7473
- ? this.selectedFilters?.zoneName.filter((Zone) => Zone.checked).map((zone) => zone._id)
7559
+ ? this.selectedFilters.zoneName
7560
+ .filter((zone) => zone.checked)
7561
+ .map((zone) => zone._id)
7474
7562
  : [];
7475
- // Sync the `checked` state,
7476
- this.zones.forEach(zone => {
7477
- zone.checked = checkedStoreIds.length
7478
- ? checkedStoreIds.includes(zone._id) // Use previous selection
7479
- : true; // Default to true if no previous selection
7563
+ // Sync checked state with previous selections or default:
7564
+ // If no previous selection, Overall Store unchecked, others checked
7565
+ this.zones.forEach((zone) => {
7566
+ if (checkedStoreIds.length) {
7567
+ zone.checked = checkedStoreIds.includes(zone._id);
7568
+ }
7569
+ else {
7570
+ zone.checked = zone._id !== "overall";
7571
+ }
7480
7572
  });
7481
- // Apply search filter if search text is present
7573
+ // Apply search filter if any
7482
7574
  if (this.searchZoneText.length) {
7483
- this.filteredZones = this.zones.filter(zone => zone.tagName.toLowerCase().includes(this.searchZoneText.toLowerCase()));
7575
+ this.filteredZones = this.zones.filter((zone) => zone.tagName
7576
+ .toLowerCase()
7577
+ .includes(this.searchZoneText.toLowerCase()));
7484
7578
  }
7485
7579
  else {
7486
7580
  this.filteredZones = [...this.zones];
7487
7581
  }
7488
- // Update `selectedFilters.stores` to reflect the current state
7489
- this.selectedFilters.zoneName = this.filteredZones.map(zone => ({
7582
+ // Update selectedFilters.zoneName with current checked states
7583
+ this.selectedFilters.zoneName = this.filteredZones.map((zone) => ({
7490
7584
  _id: zone._id,
7491
7585
  tagName: zone.tagName,
7492
- checked: zone.checked
7586
+ checked: zone.checked,
7493
7587
  }));
7494
- // this.selectedFilters.country = couthis.filteredZonesntry;
7495
7588
  // Save updated filters to localStorage
7496
- localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
7497
- // Trigger UI change detection
7589
+ localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
7590
+ // Trigger change detection if needed
7498
7591
  this.cd.detectChanges();
7499
7592
  }
7500
7593
  else {
7501
- // Handle empty or error response
7502
7594
  this.clearZoneState();
7503
7595
  }
7504
7596
  },
7505
7597
  error: (err) => {
7506
- console.error("Failed to fetch stores", err);
7598
+ console.error("Failed to fetch zones", err);
7507
7599
  this.clearZoneState();
7508
- }
7600
+ },
7509
7601
  });
7510
7602
  }
7511
7603
  clearZoneState() {
7512
7604
  this.zones = [];
7513
7605
  this.filteredZones = [];
7514
7606
  this.selectedFilters.zonename = [];
7515
- localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
7607
+ localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
7516
7608
  }
7517
7609
  // Clear stores state and reset filters
7518
7610
  clearStoresState() {
7519
7611
  this.stores = [];
7520
7612
  this.filteredStores = [];
7521
7613
  this.selectedFilters.stores = [];
7522
- localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
7614
+ localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
7523
7615
  }
7524
7616
  resetSelectedStores() {
7525
7617
  this.filteredStores.forEach((store) => (store.checked = false));
7526
7618
  this.searchStoreText = "";
7527
7619
  }
7528
7620
  selectedStoresLabel() {
7529
- const selectedStores = this.searchStoreText.length ? this.stores.filter((store) => store.checked) : this.filteredStores.filter((store) => store.checked);
7621
+ const selectedStores = this.searchStoreText.length
7622
+ ? this.stores.filter((store) => store.checked)
7623
+ : this.filteredStores.filter((store) => store.checked);
7530
7624
  return selectedStores.length === 0
7531
7625
  ? "0 Stores"
7532
7626
  : selectedStores.length === 1
@@ -7534,7 +7628,9 @@ class MetricsHeaderComponent {
7534
7628
  : `${selectedStores.length} Stores`;
7535
7629
  }
7536
7630
  selectedZonesLabel() {
7537
- const selectedStores = this.searchZoneText.length ? this.zones.filter((zone) => zone.checked) : this.filteredZones.filter((zone) => zone.checked);
7631
+ const selectedStores = this.searchZoneText.length
7632
+ ? this.zones.filter((zone) => zone.checked)
7633
+ : this.filteredZones.filter((zone) => zone.checked);
7538
7634
  return selectedStores.length === 0
7539
7635
  ? "0 Zones"
7540
7636
  : selectedStores.length === 1
@@ -7542,23 +7638,26 @@ class MetricsHeaderComponent {
7542
7638
  : `${selectedStores.length} Zones`;
7543
7639
  }
7544
7640
  isAllStoresSelected() {
7545
- return this.filteredStores.length > 0 && this.filteredStores.every(store => store.checked);
7641
+ return (this.filteredStores.length > 0 &&
7642
+ this.filteredStores.every((store) => store.checked));
7546
7643
  }
7547
7644
  isAllZonesSelected() {
7548
- return this.filteredZones.length > 0 && this.filteredZones.every(zone => zone.checked);
7645
+ return this.filteredZones
7646
+ .filter((zone) => zone._id !== "overall")
7647
+ .every((zone) => zone.checked);
7549
7648
  }
7550
7649
  // Method to handle dropdown item selection
7551
7650
  updateSelectedStores() {
7552
- this.filteredStores.forEach(store => {
7553
- const filteredStore = this.stores.findIndex(fStore => fStore.storeId === store.storeId);
7651
+ this.filteredStores.forEach((store) => {
7652
+ const filteredStore = this.stores.findIndex((fStore) => fStore.storeId === store.storeId);
7554
7653
  if (filteredStore != -1) {
7555
7654
  this.stores[filteredStore].checked = store.checked; // Sync the checked state with full store list
7556
7655
  }
7557
7656
  });
7558
7657
  // Update selectedFilters based on the current store selection
7559
- this.selectedFilters.stores = this.stores.filter(store => store.checked);
7658
+ this.selectedFilters.stores = this.stores.filter((store) => store.checked);
7560
7659
  // Update localStorage with the latest selection
7561
- localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
7660
+ localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
7562
7661
  // Emit updated filters via service
7563
7662
  // this.gs.dataRangeValue.next(this.selectedFilters);
7564
7663
  // Trigger change detection if necessary
@@ -7570,20 +7669,30 @@ class MetricsHeaderComponent {
7570
7669
  this.selectedFilters.zoneName = [];
7571
7670
  this.cd.detectChanges();
7572
7671
  }
7573
- updateSelectedZones() {
7574
- this.filteredZones.forEach(zone => {
7575
- const filteredZone = this.zones.findIndex(fStore => fStore._id === zone._id);
7576
- if (filteredZone != -1) {
7577
- this.zones[filteredZone].checked = zone.checked; // Sync the checked state with full store list
7672
+ updateSelectedZones(clickedZoneId) {
7673
+ this.filteredZones.forEach((zone) => {
7674
+ const index = this.zones.findIndex((z) => z._id === zone._id);
7675
+ if (index !== -1) {
7676
+ this.zones[index].checked = zone.checked;
7578
7677
  }
7579
7678
  });
7580
- // Update selectedFilters based on the current store selection
7581
- this.selectedFilters.zoneName = this.zones.filter(zone => zone.checked);
7582
- // Update localStorage with the latest selection
7583
- localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
7584
- // Emit updated filters via service
7585
- // this.gs.dataRangeValue.next(this.selectedFilters);
7586
- // Trigger change detection if necessary
7679
+ const overallZone = this.zones.find((z) => z._id === "overall");
7680
+ const overallChecked = overallZone?.checked ?? false;
7681
+ const othersSelected = this.zones.some((z) => z._id !== "overall" && z.checked);
7682
+ if (clickedZoneId === "overall" && overallChecked) {
7683
+ this.zones = this.zones.map((z) => ({
7684
+ ...z,
7685
+ checked: z._id === "overall",
7686
+ }));
7687
+ }
7688
+ if (clickedZoneId !== "overall" && overallChecked) {
7689
+ if (overallZone) {
7690
+ overallZone.checked = false;
7691
+ }
7692
+ }
7693
+ this.filteredZones = [...this.zones];
7694
+ this.selectedFilters.zoneName = this.zones.filter((z) => z.checked);
7695
+ localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
7587
7696
  this.cd.detectChanges();
7588
7697
  }
7589
7698
  toggleSelectAllLocations(event) {
@@ -7594,9 +7703,9 @@ class MetricsHeaderComponent {
7594
7703
  toggleSelectAllStores(event) {
7595
7704
  const checked = event.target.checked;
7596
7705
  // Apply the selection to both filtered and full list of stores
7597
- this.filteredStores.forEach(store => store.checked = checked);
7598
- this.stores.forEach(store => {
7599
- const filteredStore = this.filteredStores.find(fStore => fStore.storeId === store.storeId);
7706
+ this.filteredStores.forEach((store) => (store.checked = checked));
7707
+ this.stores.forEach((store) => {
7708
+ const filteredStore = this.filteredStores.find((fStore) => fStore.storeId === store.storeId);
7600
7709
  if (filteredStore) {
7601
7710
  store.checked = checked; // Sync the checked state with full store list
7602
7711
  }
@@ -7606,16 +7715,24 @@ class MetricsHeaderComponent {
7606
7715
  }
7607
7716
  toggleSelectAllZones(event) {
7608
7717
  const checked = event.target.checked;
7609
- // Apply the selection to both filtered and full list of stores
7610
- this.filteredZones.forEach(zone => zone.checked = checked);
7611
- this.zones.forEach(zone => {
7612
- const filteredStore = this.filteredZones.find(fStore => fStore._id === zone._id);
7613
- if (filteredStore) {
7614
- zone.checked = checked; // Sync the checked state with full store list
7718
+ this.filteredZones.forEach((zone) => {
7719
+ if (zone._id !== "overall") {
7720
+ zone.checked = checked;
7721
+ }
7722
+ else {
7723
+ zone.checked = false;
7615
7724
  }
7616
7725
  });
7617
- // Update the selected stores and persist the selection
7618
- this.updateSelectedZones();
7726
+ this.zones.forEach((zone) => {
7727
+ const match = this.filteredZones.find((fz) => fz._id === zone._id);
7728
+ if (match) {
7729
+ zone.checked = match.checked;
7730
+ }
7731
+ });
7732
+ // Since this is bulk, pass a dummy value — any non-overall zone is fine
7733
+ const anySelectedZone = this.filteredZones.find((z) => z._id !== "overall");
7734
+ const clickedId = anySelectedZone ? anySelectedZone._id : "";
7735
+ this.updateSelectedZones(clickedId);
7619
7736
  }
7620
7737
  updateSelectedLocations() {
7621
7738
  // When locations are selected, fetch the related groups
@@ -7642,8 +7759,8 @@ class MetricsHeaderComponent {
7642
7759
  }
7643
7760
  this.selectedFilters.group = [];
7644
7761
  this.filteredStores = []; // Reset stores as well
7645
- this.searchGroupText = '';
7646
- this.searchStoreText = '';
7762
+ this.searchGroupText = "";
7763
+ this.searchStoreText = "";
7647
7764
  // this.Opendropdown = false;
7648
7765
  }
7649
7766
  toggleSelectAllGroups(event) {
@@ -7673,26 +7790,25 @@ class MetricsHeaderComponent {
7673
7790
  this.filteredStores = [];
7674
7791
  // Also, update localStorage to reflect the cleared store selection
7675
7792
  this.selectedFilters.stores = [];
7676
- localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
7793
+ localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
7677
7794
  // Emit data via service
7678
7795
  // this.gs.dataRangeValue.next(this.selectedFilters);
7679
7796
  }
7680
7797
  // Clear the search store text when groups are updated
7681
- this.searchStoreText = '';
7798
+ this.searchStoreText = "";
7682
7799
  }
7683
7800
  Reset() {
7684
7801
  setTimeout(() => {
7685
- // Clear selected groups, stores, and locations
7686
7802
  this.filteredCountries = [];
7687
7803
  this.filteredGroups = [];
7688
7804
  this.filteredStores = [];
7689
- this.filteredLocations = []; // Reset locations as well
7805
+ this.filteredLocations = [];
7690
7806
  this.locations = [];
7691
7807
  this.groupsData = [];
7692
7808
  this.stores = [];
7693
7809
  this.filteredZones = [];
7694
7810
  this.zones = [];
7695
- // Clear search input fields
7811
+ this.countries = [];
7696
7812
  this.searchLocationText = "";
7697
7813
  this.searchGroupText = "";
7698
7814
  this.searchStoreText = "";
@@ -7701,32 +7817,14 @@ class MetricsHeaderComponent {
7701
7817
  this.selectedFilters.location = [];
7702
7818
  this.selectedFilters.country = [];
7703
7819
  this.selectedFilters.zoneName = [];
7704
- // Fetch locations, groups, and stores again
7705
7820
  this.getCountry();
7706
7821
  this.getLocations();
7707
7822
  this.getStore();
7708
7823
  this.getGroups();
7709
- // Reset the filters in selectedFilters
7710
- // // Once stores are fetched, mark all as checked
7711
- // setTimeout(() => {
7712
- // this.filteredStores = this.stores.map(store => ({
7713
- // ...store,
7714
- // checked: true // Mark all stores as checked
7715
- // }));
7716
- // // Sync selectedFilters with the updated store state
7717
- // this.selectedFilters.stores = this.filteredStores.map(store => ({
7718
- // ...store,
7719
- // checked: true
7720
- // }));
7721
- // Update localStorage with the latest selectedFilters
7722
- localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
7824
+ localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
7723
7825
  window.location.reload();
7724
- // Emit the reset filters to update other components if needed
7725
7826
  // this.gs.dataRangeValue.next(this.selectedFilters);
7726
- // Trigger change detection
7727
7827
  this.cd.detectChanges();
7728
- // Adding a slight delay to ensure stores are fetched first
7729
- // Close dropdown after reset if necessary
7730
7828
  this.Opendropdown = false;
7731
7829
  }, 100);
7732
7830
  }
@@ -7735,17 +7833,18 @@ class MetricsHeaderComponent {
7735
7833
  if (searchText) {
7736
7834
  // Preserve the checked state during filtering
7737
7835
  this.filteredLocations = this.locations
7738
- .map(location => ({
7836
+ .map((location) => ({
7739
7837
  ...location,
7740
- checked: this.filteredLocations.find(l => l.city === location.city)?.checked || false
7838
+ checked: this.filteredLocations.find((l) => l.city === location.city)
7839
+ ?.checked || false,
7741
7840
  }))
7742
- .filter(location => location?.city?.toLowerCase().includes(searchText));
7841
+ .filter((location) => location?.city?.toLowerCase().includes(searchText));
7743
7842
  }
7744
7843
  else {
7745
7844
  // Restore the original checked state when search text is cleared
7746
- this.filteredLocations = this.locations.map(location => ({
7845
+ this.filteredLocations = this.locations.map((location) => ({
7747
7846
  ...location,
7748
- checked: this.selectedFilters.location.find((l) => l.city === location.city)?.checked || false
7847
+ checked: this.selectedFilters.location.find((l) => l.city === location.city)?.checked || false,
7749
7848
  }));
7750
7849
  }
7751
7850
  }
@@ -7754,17 +7853,18 @@ class MetricsHeaderComponent {
7754
7853
  if (searchText) {
7755
7854
  // Preserve the checked state during filtering
7756
7855
  this.filteredGroups = this.groupsData
7757
- .map(group => ({
7856
+ .map((group) => ({
7758
7857
  ...group,
7759
- checked: this.filteredGroups.find(g => g.groupName === group.groupName)?.checked || false
7858
+ checked: this.filteredGroups.find((g) => g.groupName === group.groupName)
7859
+ ?.checked || false,
7760
7860
  }))
7761
- .filter(group => group?.groupName?.toLowerCase().includes(searchText));
7861
+ .filter((group) => group?.groupName?.toLowerCase().includes(searchText));
7762
7862
  }
7763
7863
  else {
7764
7864
  // Restore the original checked state when search text is cleared
7765
- this.filteredGroups = this.groupsData.map(group => ({
7865
+ this.filteredGroups = this.groupsData.map((group) => ({
7766
7866
  ...group,
7767
- checked: this.selectedFilters.group.find((g) => g.groupName === group.groupName)?.checked || false
7867
+ checked: this.selectedFilters.group.find((g) => g.groupName === group.groupName)?.checked || false,
7768
7868
  }));
7769
7869
  }
7770
7870
  }
@@ -7774,19 +7874,23 @@ class MetricsHeaderComponent {
7774
7874
  if (searchText) {
7775
7875
  // Filter based on search text while preserving checked state
7776
7876
  this.filteredStores = this.stores
7777
- .map(store => ({
7877
+ .map((store) => ({
7778
7878
  ...store,
7779
7879
  // Check if the store is already checked in filteredStores, fallback to original stores' checked state
7780
- checked: this.selectedFilters.stores.find((s) => s.storeId === store.storeId)?.checked || store.checked || false
7880
+ checked: this.selectedFilters.stores.find((s) => s.storeId === store.storeId)?.checked ||
7881
+ store.checked ||
7882
+ false,
7781
7883
  }))
7782
- .filter(store => store.storeName.toLowerCase().includes(searchText));
7884
+ .filter((store) => store.storeName.toLowerCase().includes(searchText));
7783
7885
  }
7784
7886
  else {
7785
7887
  // When the search text is cleared, restore the original list with preserved checked states
7786
- this.filteredStores = this.stores.map(store => ({
7888
+ this.filteredStores = this.stores.map((store) => ({
7787
7889
  ...store,
7788
7890
  // Preserve the checked state based on the selected filters
7789
- checked: this.selectedFilters.stores.find((s) => s.storeId === store.storeId)?.checked || store.checked || false
7891
+ checked: this.selectedFilters.stores.find((s) => s.storeId === store.storeId)?.checked ||
7892
+ store.checked ||
7893
+ false,
7790
7894
  }));
7791
7895
  }
7792
7896
  }
@@ -7796,19 +7900,25 @@ class MetricsHeaderComponent {
7796
7900
  if (searchText) {
7797
7901
  // Filter based on search text while preserving checked state
7798
7902
  this.filteredZones = this.zones
7799
- .map(zone => ({
7903
+ .map((zone) => ({
7800
7904
  ...zone,
7801
7905
  // Check if the store is already checked in filteredStores, fallback to original stores' checked state
7802
- checked: this.selectedFilters.zoneName.find((s) => s._id === zone._id)?.checked || zone.checked || false
7906
+ checked: this.selectedFilters.zoneName.find((s) => s._id === zone._id)
7907
+ ?.checked ||
7908
+ zone.checked ||
7909
+ false,
7803
7910
  }))
7804
- .filter(zone => zone.tagName.toLowerCase().includes(searchText));
7911
+ .filter((zone) => zone.tagName.toLowerCase().includes(searchText));
7805
7912
  }
7806
7913
  else {
7807
7914
  // When the search text is cleared, restore the original list with preserved checked states
7808
- this.filteredZones = this.zones.map(zone => ({
7915
+ this.filteredZones = this.zones.map((zone) => ({
7809
7916
  ...zone,
7810
7917
  // Preserve the checked state based on the selected filters
7811
- checked: this.selectedFilters.zoneName.find((s) => s._id === zone._id)?.checked || zone.checked || false
7918
+ checked: this.selectedFilters.zoneName.find((s) => s._id === zone._id)
7919
+ ?.checked ||
7920
+ zone.checked ||
7921
+ false,
7812
7922
  }));
7813
7923
  }
7814
7924
  }
@@ -7875,7 +7985,7 @@ class MetricsHeaderComponent {
7875
7985
  // isAllCountriesSelected(): boolean {
7876
7986
  // return this.filteredCountries.every(country => country.checked);
7877
7987
  // }
7878
- // filterCountries(): void {
7988
+ // filterCountries(): void {
7879
7989
  // const searchText = this.searchCountryText.toLowerCase();
7880
7990
  // if (searchText) {
7881
7991
  // // Preserve the checked state during filtering
@@ -7897,12 +8007,16 @@ class MetricsHeaderComponent {
7897
8007
  // }
7898
8008
  getCountry() {
7899
8009
  let obj = {
7900
- clientId: this.selectedFilters.client ? this.selectedFilters.client : this.users.clientId,
8010
+ clientId: this.selectedFilters.client
8011
+ ? this.selectedFilters.client
8012
+ : this.users.clientId,
7901
8013
  };
7902
8014
  this.auth.getCountry(obj).subscribe({
7903
8015
  next: (res) => {
7904
8016
  // Extract selected countries from existing filters (if any)
7905
- let countryList = this.selectedFilters?.country?.filter((country) => country.checked).map((loc) => loc.country);
8017
+ let countryList = this.selectedFilters?.country
8018
+ ?.filter((country) => country.checked)
8019
+ .map((loc) => loc.country);
7906
8020
  // Map API response to frontend model
7907
8021
  this.countries = res?.data?.countryData.map((item) => ({
7908
8022
  country: item.country,
@@ -7910,10 +8024,13 @@ class MetricsHeaderComponent {
7910
8024
  // checked: cityList?.length ? cityList.includes(city.city) : true,
7911
8025
  checked: countryList?.includes(item.country) ? true : false,
7912
8026
  }));
7913
- if (this.selectedFilters.country && Array.isArray(this.selectedFilters.country)) {
7914
- this.filteredCountries = this.countries.map(location => {
8027
+ if (this.selectedFilters.country &&
8028
+ Array.isArray(this.selectedFilters.country)) {
8029
+ this.filteredCountries = this.countries.map((location) => {
7915
8030
  const matchedLocation = this.selectedFilters.country.find((loc) => loc.country === location.country);
7916
- return matchedLocation ? { ...location, checked: matchedLocation.checked } : location;
8031
+ return matchedLocation
8032
+ ? { ...location, checked: matchedLocation.checked }
8033
+ : location;
7917
8034
  });
7918
8035
  }
7919
8036
  else {
@@ -7941,10 +8058,14 @@ class MetricsHeaderComponent {
7941
8058
  }
7942
8059
  selectedCountriesLabel() {
7943
8060
  const selectedCountries = this.searchCountryText.length
7944
- ? this.filteredCountries.filter(country => country.checked).map(country => country.country)
7945
- : this.countries.filter(country => country.checked).map(country => country.country);
8061
+ ? this.filteredCountries
8062
+ .filter((country) => country.checked)
8063
+ .map((country) => country.country)
8064
+ : this.countries
8065
+ .filter((country) => country.checked)
8066
+ .map((country) => country.country);
7946
8067
  return selectedCountries.length === 0
7947
- ? ''
8068
+ ? ""
7948
8069
  : selectedCountries.length === 1
7949
8070
  ? selectedCountries[0]
7950
8071
  : `${selectedCountries.length} countries`;
@@ -7954,22 +8075,24 @@ class MetricsHeaderComponent {
7954
8075
  if (searchText) {
7955
8076
  // Filter and preserve checked state
7956
8077
  this.filteredCountries = this.countries
7957
- .map(country => ({
8078
+ .map((country) => ({
7958
8079
  ...country,
7959
- checked: this.filteredCountries.find(c => c.country === country.country)?.checked || false
8080
+ checked: this.filteredCountries.find((c) => c.country === country.country)
8081
+ ?.checked || false,
7960
8082
  }))
7961
- .filter(country => country.country.toLowerCase().includes(searchText));
8083
+ .filter((country) => country.country.toLowerCase().includes(searchText));
7962
8084
  }
7963
8085
  else {
7964
8086
  // Reset to full list
7965
8087
  this.filteredCountries = this.countries.map((country) => ({
7966
8088
  ...country,
7967
- checked: this.selectedFilters.country?.find((c) => c.country === country.country)?.checked || false
8089
+ checked: this.selectedFilters.country?.find((c) => c.country === country.country)?.checked || false,
7968
8090
  }));
7969
8091
  }
7970
8092
  }
7971
8093
  isAllCountriesSelected() {
7972
- return this.filteredCountries.length > 0 && this.filteredCountries.every(country => country.checked);
8094
+ return (this.filteredCountries.length > 0 &&
8095
+ this.filteredCountries.every((country) => country.checked));
7973
8096
  }
7974
8097
  toggleSelectAllCountries(event) {
7975
8098
  const isChecked = event.target.checked;
@@ -8006,8 +8129,8 @@ class MetricsHeaderComponent {
8006
8129
  this.selectedFilters.group = [];
8007
8130
  this.filteredStores = []; // Reset stores as well
8008
8131
  this.filteredZones = [];
8009
- this.searchGroupText = '';
8010
- this.searchStoreText = '';
8132
+ this.searchGroupText = "";
8133
+ this.searchStoreText = "";
8011
8134
  // this.Opendropdown = false;
8012
8135
  }
8013
8136
  removeCountry() {
@@ -8023,8 +8146,12 @@ class MetricsHeaderComponent {
8023
8146
  this.selectedFilters.country = this.filteredCountries;
8024
8147
  this.selectedFilters.location = this.locations;
8025
8148
  this.selectedFilters.group = this.groupsData;
8026
- this.selectedFilters.stores = headerFilters.stores ? headerFilters.stores : this.stores;
8027
- this.selectedFilters.zoneName = headerFilters.zoneName ? headerFilters.zoneName : this.zones;
8149
+ this.selectedFilters.stores = headerFilters.stores
8150
+ ? headerFilters.stores
8151
+ : this.stores;
8152
+ this.selectedFilters.zoneName = headerFilters.zoneName
8153
+ ? headerFilters.zoneName
8154
+ : this.zones;
8028
8155
  // this.selectedFilters.zoneName = this.filteredZones;
8029
8156
  // Store updated filters back in localStorage
8030
8157
  localStorage.setItem("header-filters", JSON.stringify(this.selectedFilters));
@@ -8037,14 +8164,14 @@ class MetricsHeaderComponent {
8037
8164
  this.cd.detectChanges();
8038
8165
  }
8039
8166
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetricsHeaderComponent, deps: [{ token: AuthService }, { token: i2.Router }, { token: i1.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8040
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MetricsHeaderComponent, selector: "lib-metrics-header", host: { listeners: { "document:click": "clickOutside($event)" } }, ngImport: i0, template: "<div class=\"me-3\">\r\n <label *ngIf=\"selectedCountriesLabel()\" class=\"badge badge-light-default mx-2\">{{selectedCountriesLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeCountry()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedLocationsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedLocationsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeLocation()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedGroupsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedGroupsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label class=\"badge badge-light-default\">{{selectedStoresLabel()}}</label>\r\n <label class=\"badge badge-light-default mx-2\">{{selectedZonesLabel()}} \r\n <!-- <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> -->\r\n </label>\r\n</div>\r\n\r\n\r\n<div class=\"wrapper me-3\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n<lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'clientName'\" [disabled]=\"false\" [idField]=\"'clientId'\"\r\n(selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput\r\n ngxDaterangepickerMd [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [autoApply]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n</div>\r\n<div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"opendropdown($event)\" class=\"btn btn-default mx-2 rounded-3 text-nowrap border-val\">\r\n <!-- <span class=\"me-2\">Filter</span> -->\r\n <svg class=\"pl-3\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"Opendropdown\" class=\"card p-5 dropdown2 position-absolute z-1 end-0\" style=\"z-index: 1 !important;\" (clickOutside)=\"closeDropdown1()\">\r\n <div class=\"dropdown-title d-flex justify-content-between mb-2\">Filter Options\r\n <button class=\"btn btn-outline w-25 ms-3 btn-resize\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 btn-resize\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n\r\n <!-- Country Dropdown -->\r\n<div class=\"dropdown-container\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('country')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedCountriesLabel()\"\r\n readonly\r\n placeholder=\"Select country\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'country'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search country\" \r\n [(ngModel)]=\"searchCountryText\" \r\n (ngModelChange)=\"filterCountries()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllCountries\" \r\n [checked]=\"isAllCountriesSelected()\" \r\n (change)=\"toggleSelectAllCountries($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllCountries\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let country of filteredCountries\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"country.country\" \r\n [(ngModel)]=\"country.checked\"\r\n (change)=\"updateSelectedCountries()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"country.country\">\r\n {{ country.country }}\r\n </label>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Location Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('location')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedLocationsLabel()\"\r\n readonly\r\n placeholder=\"Select Region\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'location'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search Region\" \r\n [(ngModel)]=\"searchLocationText\" \r\n (ngModelChange)=\"filterLocations()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllLocations\" \r\n [checked]=\"isAllLocationsSelected()\" \r\n (change)=\"toggleSelectAllLocations($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllLocations\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let location of filteredLocations\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"location.city\" \r\n [(ngModel)]=\"location.checked\"\r\n (change)=\"updateSelectedLocations()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"location.city\">\r\n {{ location.city }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('group')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedGroupsLabel()\" readonly\r\n placeholder=\"Select clusters\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'group'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search clusters\" \r\n [(ngModel)]=\"searchGroupText\" \r\n (ngModelChange)=\"filterGroups()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllGroups\" \r\n [checked]=\"isAllGroupsSelected()\" \r\n (change)=\"toggleSelectAllGroups($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllGroups\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let group of filteredGroups\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"group.groupName\"\r\n [(ngModel)]=\"group.checked\"\r\n (change)=\"updateSelectedGroups()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"group.groupName\">\r\n {{ group.groupName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- Store Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('store')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedStoresLabel()\"\r\n readonly\r\n placeholder=\"Select stores\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'store'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search stores\" \r\n [(ngModel)]=\"searchStoreText\" \r\n (ngModelChange)=\"filterStores()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllStores\" \r\n [checked]=\"isAllStoresSelected()\" \r\n (change)=\"toggleSelectAllStores($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllStores\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let store of filteredStores\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"store.storeId\"\r\n [(ngModel)]=\"store.checked\"\r\n (change)=\"updateSelectedStores()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"store.storeId\">\r\n {{ store.storeName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Zone Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('zone')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedZonesLabel()\"\r\n readonly\r\n placeholder=\"Select zones\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'zone'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search zones\" \r\n [(ngModel)]=\"searchZoneText\" \r\n (ngModelChange)=\"filterZones()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllZones\" \r\n [checked]=\"isAllZonesSelected()\" \r\n (change)=\"toggleSelectAllZones($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllZones\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let zone of filteredZones\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"zone._id\"\r\n [(ngModel)]=\"zone.checked\"\r\n (change)=\"updateSelectedZones()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"zone._id\">\r\n {{ zone.tagName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>", styles: [".daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:365px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}.filter-label{color:var(--Gray-500, #667085)!important;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.position-relative{position:relative}.filter-icon{cursor:pointer}.dropdown-container{position:relative;display:inline-block;width:100%}.dropdown-header{cursor:pointer;width:100%}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize;width:100%;box-sizing:border-box}.dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;max-height:230px;overflow-y:auto;display:block;box-sizing:border-box;padding:10px 5px}.dropdown-item{padding:6px 0}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.dropdown2{position:absolute;top:70px;min-width:270px!important}.dropdown2 .dropdown-title{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:24px}.dropdown2 .dropdown{position:relative;display:inline-block}.dropdown2 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.form-check-label{color:var(--Gray-700, #344054)!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input[type=checkbox]{width:16px!important;height:16px!important;margin:0 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "directive", type: i6.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: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
8167
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MetricsHeaderComponent, selector: "lib-metrics-header", host: { listeners: { "document:click": "clickOutside($event)" } }, ngImport: i0, template: "<div class=\"me-3\">\r\n <label *ngIf=\"selectedCountriesLabel()\" class=\"badge badge-light-default mx-2\">{{selectedCountriesLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeCountry()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedLocationsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedLocationsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeLocation()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedGroupsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedGroupsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label class=\"badge badge-light-default\">{{selectedStoresLabel()}}</label>\r\n <label class=\"badge badge-light-default mx-2\">{{selectedZonesLabel()}} \r\n <!-- <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> -->\r\n </label>\r\n</div>\r\n\r\n\r\n<div class=\"wrapper me-3\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n<lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'clientName'\" [disabled]=\"false\" [idField]=\"'clientId'\"\r\n(selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput\r\n ngxDaterangepickerMd [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [autoApply]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n</div>\r\n<div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"opendropdown($event)\" class=\"btn btn-default mx-2 rounded-3 text-nowrap border-val\">\r\n <!-- <span class=\"me-2\">Filter</span> -->\r\n <svg class=\"pl-3\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"Opendropdown\" class=\"card p-5 dropdown2 position-absolute z-1 end-0\" style=\"z-index: 1 !important;\" (clickOutside)=\"closeDropdown1()\">\r\n <div class=\"dropdown-title d-flex justify-content-between mb-2\">Filter Options\r\n <button class=\"btn btn-outline w-25 ms-3 btn-resize\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 btn-resize\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n\r\n <!-- Country Dropdown -->\r\n<div class=\"dropdown-container\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('country')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedCountriesLabel()\"\r\n readonly\r\n placeholder=\"Select country\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'country'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search country\" \r\n [(ngModel)]=\"searchCountryText\" \r\n (ngModelChange)=\"filterCountries()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllCountries\" \r\n [checked]=\"isAllCountriesSelected()\" \r\n (change)=\"toggleSelectAllCountries($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllCountries\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let country of filteredCountries\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"country.country\" \r\n [(ngModel)]=\"country.checked\"\r\n (change)=\"updateSelectedCountries()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"country.country\">\r\n {{ country.country }}\r\n </label>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Location Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('location')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedLocationsLabel()\"\r\n readonly\r\n placeholder=\"Select Region\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'location'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search Region\" \r\n [(ngModel)]=\"searchLocationText\" \r\n (ngModelChange)=\"filterLocations()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllLocations\" \r\n [checked]=\"isAllLocationsSelected()\" \r\n (change)=\"toggleSelectAllLocations($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllLocations\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let location of filteredLocations\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"location.city\" \r\n [(ngModel)]=\"location.checked\"\r\n (change)=\"updateSelectedLocations()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"location.city\">\r\n {{ location.city }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('group')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedGroupsLabel()\" readonly\r\n placeholder=\"Select clusters\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'group'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search clusters\" \r\n [(ngModel)]=\"searchGroupText\" \r\n (ngModelChange)=\"filterGroups()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllGroups\" \r\n [checked]=\"isAllGroupsSelected()\" \r\n (change)=\"toggleSelectAllGroups($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllGroups\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let group of filteredGroups\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"group.groupName\"\r\n [(ngModel)]=\"group.checked\"\r\n (change)=\"updateSelectedGroups()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"group.groupName\">\r\n {{ group.groupName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- Store Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('store')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedStoresLabel()\"\r\n readonly\r\n placeholder=\"Select stores\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'store'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search stores\" \r\n [(ngModel)]=\"searchStoreText\" \r\n (ngModelChange)=\"filterStores()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllStores\" \r\n [checked]=\"isAllStoresSelected()\" \r\n (change)=\"toggleSelectAllStores($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllStores\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let store of filteredStores\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"store.storeId\"\r\n [(ngModel)]=\"store.checked\"\r\n (change)=\"updateSelectedStores()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"store.storeId\">\r\n {{ store.storeName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Zone Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('zone')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedZonesLabel()\"\r\n readonly\r\n placeholder=\"Select zones\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'zone'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search zones\" \r\n [(ngModel)]=\"searchZoneText\" \r\n (ngModelChange)=\"filterZones()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllZones\" \r\n [checked]=\"isAllZonesSelected()\" \r\n (change)=\"toggleSelectAllZones($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllZones\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let zone of filteredZones\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"zone._id\"\r\n [(ngModel)]=\"zone.checked\"\r\n (change)=\"updateSelectedZones(zone._id)\"\r\n />\r\n <label class=\"form-check-label\" [for]=\"zone._id\">\r\n {{ zone.tagName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>", styles: [".daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:365px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}.filter-label{color:var(--Gray-500, #667085)!important;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.position-relative{position:relative}.filter-icon{cursor:pointer}.dropdown-container{position:relative;display:inline-block;width:100%}.dropdown-header{cursor:pointer;width:100%}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize;width:100%;box-sizing:border-box}.dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;max-height:230px;overflow-y:auto;display:block;box-sizing:border-box;padding:10px 5px}.dropdown-item{padding:6px 0}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.dropdown2{position:absolute;top:70px;min-width:270px!important}.dropdown2 .dropdown-title{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:24px}.dropdown2 .dropdown{position:relative;display:inline-block}.dropdown2 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.form-check-label{color:var(--Gray-700, #344054)!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input[type=checkbox]{width:16px!important;height:16px!important;margin:0 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "directive", type: i6.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: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
8041
8168
  }
8042
8169
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetricsHeaderComponent, decorators: [{
8043
8170
  type: Component,
8044
- args: [{ selector: 'lib-metrics-header', template: "<div class=\"me-3\">\r\n <label *ngIf=\"selectedCountriesLabel()\" class=\"badge badge-light-default mx-2\">{{selectedCountriesLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeCountry()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedLocationsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedLocationsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeLocation()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedGroupsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedGroupsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label class=\"badge badge-light-default\">{{selectedStoresLabel()}}</label>\r\n <label class=\"badge badge-light-default mx-2\">{{selectedZonesLabel()}} \r\n <!-- <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> -->\r\n </label>\r\n</div>\r\n\r\n\r\n<div class=\"wrapper me-3\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n<lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'clientName'\" [disabled]=\"false\" [idField]=\"'clientId'\"\r\n(selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput\r\n ngxDaterangepickerMd [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [autoApply]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n</div>\r\n<div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"opendropdown($event)\" class=\"btn btn-default mx-2 rounded-3 text-nowrap border-val\">\r\n <!-- <span class=\"me-2\">Filter</span> -->\r\n <svg class=\"pl-3\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"Opendropdown\" class=\"card p-5 dropdown2 position-absolute z-1 end-0\" style=\"z-index: 1 !important;\" (clickOutside)=\"closeDropdown1()\">\r\n <div class=\"dropdown-title d-flex justify-content-between mb-2\">Filter Options\r\n <button class=\"btn btn-outline w-25 ms-3 btn-resize\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 btn-resize\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n\r\n <!-- Country Dropdown -->\r\n<div class=\"dropdown-container\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('country')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedCountriesLabel()\"\r\n readonly\r\n placeholder=\"Select country\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'country'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search country\" \r\n [(ngModel)]=\"searchCountryText\" \r\n (ngModelChange)=\"filterCountries()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllCountries\" \r\n [checked]=\"isAllCountriesSelected()\" \r\n (change)=\"toggleSelectAllCountries($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllCountries\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let country of filteredCountries\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"country.country\" \r\n [(ngModel)]=\"country.checked\"\r\n (change)=\"updateSelectedCountries()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"country.country\">\r\n {{ country.country }}\r\n </label>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Location Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('location')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedLocationsLabel()\"\r\n readonly\r\n placeholder=\"Select Region\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'location'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search Region\" \r\n [(ngModel)]=\"searchLocationText\" \r\n (ngModelChange)=\"filterLocations()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllLocations\" \r\n [checked]=\"isAllLocationsSelected()\" \r\n (change)=\"toggleSelectAllLocations($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllLocations\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let location of filteredLocations\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"location.city\" \r\n [(ngModel)]=\"location.checked\"\r\n (change)=\"updateSelectedLocations()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"location.city\">\r\n {{ location.city }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('group')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedGroupsLabel()\" readonly\r\n placeholder=\"Select clusters\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'group'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search clusters\" \r\n [(ngModel)]=\"searchGroupText\" \r\n (ngModelChange)=\"filterGroups()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllGroups\" \r\n [checked]=\"isAllGroupsSelected()\" \r\n (change)=\"toggleSelectAllGroups($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllGroups\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let group of filteredGroups\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"group.groupName\"\r\n [(ngModel)]=\"group.checked\"\r\n (change)=\"updateSelectedGroups()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"group.groupName\">\r\n {{ group.groupName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- Store Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('store')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedStoresLabel()\"\r\n readonly\r\n placeholder=\"Select stores\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'store'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search stores\" \r\n [(ngModel)]=\"searchStoreText\" \r\n (ngModelChange)=\"filterStores()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllStores\" \r\n [checked]=\"isAllStoresSelected()\" \r\n (change)=\"toggleSelectAllStores($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllStores\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let store of filteredStores\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"store.storeId\"\r\n [(ngModel)]=\"store.checked\"\r\n (change)=\"updateSelectedStores()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"store.storeId\">\r\n {{ store.storeName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Zone Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('zone')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedZonesLabel()\"\r\n readonly\r\n placeholder=\"Select zones\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'zone'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search zones\" \r\n [(ngModel)]=\"searchZoneText\" \r\n (ngModelChange)=\"filterZones()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllZones\" \r\n [checked]=\"isAllZonesSelected()\" \r\n (change)=\"toggleSelectAllZones($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllZones\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let zone of filteredZones\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"zone._id\"\r\n [(ngModel)]=\"zone.checked\"\r\n (change)=\"updateSelectedZones()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"zone._id\">\r\n {{ zone.tagName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>", styles: [".daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:365px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}.filter-label{color:var(--Gray-500, #667085)!important;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.position-relative{position:relative}.filter-icon{cursor:pointer}.dropdown-container{position:relative;display:inline-block;width:100%}.dropdown-header{cursor:pointer;width:100%}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize;width:100%;box-sizing:border-box}.dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;max-height:230px;overflow-y:auto;display:block;box-sizing:border-box;padding:10px 5px}.dropdown-item{padding:6px 0}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.dropdown2{position:absolute;top:70px;min-width:270px!important}.dropdown2 .dropdown-title{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:24px}.dropdown2 .dropdown{position:relative;display:inline-block}.dropdown2 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.form-check-label{color:var(--Gray-700, #344054)!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input[type=checkbox]{width:16px!important;height:16px!important;margin:0 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}\n"] }]
8171
+ args: [{ selector: "lib-metrics-header", template: "<div class=\"me-3\">\r\n <label *ngIf=\"selectedCountriesLabel()\" class=\"badge badge-light-default mx-2\">{{selectedCountriesLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeCountry()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedLocationsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedLocationsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeLocation()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label *ngIf=\"selectedGroupsLabel()\" class=\"badge badge-light-default mx-2\">{{selectedGroupsLabel()}} \r\n <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </label>\r\n <label class=\"badge badge-light-default\">{{selectedStoresLabel()}}</label>\r\n <label class=\"badge badge-light-default mx-2\">{{selectedZonesLabel()}} \r\n <!-- <span class=\"cursor-pointer\" (click)=\"removeGroup()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> -->\r\n </label>\r\n</div>\r\n\r\n\r\n<div class=\"wrapper me-3\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n<lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'clientName'\" [disabled]=\"false\" [idField]=\"'clientId'\"\r\n(selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" style=\"min-width: 260px !important;\" type=\"text\" matInput\r\n ngxDaterangepickerMd [drops]=\"'down'\" [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [autoApply]=\"true\"\r\n [alwaysShowCalendars]=\"false\" [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n</div>\r\n<div class=\"position-relative\">\r\n <button type=\"button\" (click)=\"opendropdown($event)\" class=\"btn btn-default mx-2 rounded-3 text-nowrap border-val\">\r\n <!-- <span class=\"me-2\">Filter</span> -->\r\n <svg class=\"pl-3\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <div *ngIf=\"Opendropdown\" class=\"card p-5 dropdown2 position-absolute z-1 end-0\" style=\"z-index: 1 !important;\" (clickOutside)=\"closeDropdown1()\">\r\n <div class=\"dropdown-title d-flex justify-content-between mb-2\">Filter Options\r\n <button class=\"btn btn-outline w-25 ms-3 btn-resize\" (click)=\"Reset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 btn-resize\" (click)=\"Apply()\">Apply</button>\r\n </div>\r\n\r\n <!-- Country Dropdown -->\r\n<div class=\"dropdown-container\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('country')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedCountriesLabel()\"\r\n readonly\r\n placeholder=\"Select country\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'country'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search country\" \r\n [(ngModel)]=\"searchCountryText\" \r\n (ngModelChange)=\"filterCountries()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllCountries\" \r\n [checked]=\"isAllCountriesSelected()\" \r\n (change)=\"toggleSelectAllCountries($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllCountries\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let country of filteredCountries\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"country.country\" \r\n [(ngModel)]=\"country.checked\"\r\n (change)=\"updateSelectedCountries()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"country.country\">\r\n {{ country.country }}\r\n </label>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Location Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('location')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedLocationsLabel()\"\r\n readonly\r\n placeholder=\"Select Region\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'location'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search Region\" \r\n [(ngModel)]=\"searchLocationText\" \r\n (ngModelChange)=\"filterLocations()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllLocations\" \r\n [checked]=\"isAllLocationsSelected()\" \r\n (change)=\"toggleSelectAllLocations($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllLocations\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let location of filteredLocations\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"location.city\" \r\n [(ngModel)]=\"location.checked\"\r\n (change)=\"updateSelectedLocations()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"location.city\">\r\n {{ location.city }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Group Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('group')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\" \r\n [value]=\"selectedGroupsLabel()\" readonly\r\n placeholder=\"Select clusters\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'group'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search\" \r\n placeholder=\"Search clusters\" \r\n [(ngModel)]=\"searchGroupText\" \r\n (ngModelChange)=\"filterGroups()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllGroups\" \r\n [checked]=\"isAllGroupsSelected()\" \r\n (change)=\"toggleSelectAllGroups($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllGroups\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let group of filteredGroups\"\r\n >\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n [id]=\"group.groupName\"\r\n [(ngModel)]=\"group.checked\"\r\n (change)=\"updateSelectedGroups()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"group.groupName\">\r\n {{ group.groupName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- Store Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('store')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedStoresLabel()\"\r\n readonly\r\n placeholder=\"Select stores\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'store'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search stores\" \r\n [(ngModel)]=\"searchStoreText\" \r\n (ngModelChange)=\"filterStores()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllStores\" \r\n [checked]=\"isAllStoresSelected()\" \r\n (change)=\"toggleSelectAllStores($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllStores\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let store of filteredStores\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"store.storeId\"\r\n [(ngModel)]=\"store.checked\"\r\n (change)=\"updateSelectedStores()\" \r\n />\r\n <label class=\"form-check-label\" [for]=\"store.storeId\">\r\n {{ store.storeName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Zone Dropdown -->\r\n<div class=\"dropdown-container mt-3\" (clickOutside)=\"closeDropdown()\">\r\n <div class=\"dropdown-header\" (click)=\"toggleDropdown('zone')\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control dropdown-input cursor-pointer\"\r\n [value]=\"selectedZonesLabel()\"\r\n readonly\r\n placeholder=\"Select zones\"\r\n />\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu\" *ngIf=\"dropdownOpen === 'zone'\">\r\n <input \r\n type=\"text\" \r\n class=\"form-control mb-2 dropdown-search \" \r\n placeholder=\"Search zones\" \r\n [(ngModel)]=\"searchZoneText\" \r\n (ngModelChange)=\"filterZones()\" \r\n />\r\n <div class=\"form-check mb-2 dropdown-item custom-dropdown-item\">\r\n <input \r\n class=\"form-check-input cursor-pointer\" \r\n type=\"checkbox\" \r\n id=\"selectAllZones\" \r\n [checked]=\"isAllZonesSelected()\" \r\n (change)=\"toggleSelectAllZones($event)\" \r\n />\r\n <label class=\"form-check-label\" for=\"selectAllZones\">\r\n Select All\r\n </label>\r\n </div>\r\n <div \r\n class=\"dropdown-item form-check custom-dropdown-item\" \r\n *ngFor=\"let zone of filteredZones\"\r\n >\r\n <input \r\n class=\"form-check-input\" \r\n type=\"checkbox\" \r\n [id]=\"zone._id\"\r\n [(ngModel)]=\"zone.checked\"\r\n (change)=\"updateSelectedZones(zone._id)\"\r\n />\r\n <label class=\"form-check-label\" [for]=\"zone._id\">\r\n {{ zone.tagName }}\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>", styles: [".daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:365px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}.filter-label{color:var(--Gray-500, #667085)!important;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.position-relative{position:relative}.filter-icon{cursor:pointer}.dropdown-container{position:relative;display:inline-block;width:100%}.dropdown-header{cursor:pointer;width:100%}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize;width:100%;box-sizing:border-box}.dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;max-height:230px;overflow-y:auto;display:block;box-sizing:border-box;padding:10px 5px}.dropdown-item{padding:6px 0}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.dropdown2{position:absolute;top:70px;min-width:270px!important}.dropdown2 .dropdown-title{color:var(--Gray-900, #101828);font-size:14px;font-weight:600;line-height:24px}.dropdown2 .dropdown{position:relative;display:inline-block}.dropdown2 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.form-check-label{color:var(--Gray-700, #344054)!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input[type=checkbox]{width:16px!important;height:16px!important;margin:0 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}\n"] }]
8045
8172
  }], ctorParameters: () => [{ type: AuthService }, { type: i2.Router }, { type: i1.GlobalStateService }, { type: i0.ChangeDetectorRef }], propDecorators: { onClick: [{
8046
8173
  type: HostListener,
8047
- args: ['document:click', ['$event']]
8174
+ args: ["document:click", ["$event"]]
8048
8175
  }], clickOutside: [{
8049
8176
  type: HostListener,
8050
8177
  args: ["document:click", ["$event"]]
@@ -8178,7 +8305,6 @@ class ToolbarComponent {
8178
8305
  const url = URL.split("?")[0].split('/');
8179
8306
  this.urlString = URL;
8180
8307
  this.urlString1 = URL.split('/');
8181
- console.log(url);
8182
8308
  if (this.users?.userType === "tango") {
8183
8309
  if (url[2] == "settings" || URL == "/manage/users/client" ||
8184
8310
  URL == "/manage/stores" || URL === "/manage/stores?type=stores" || URL === "/manage/stores?type=clusters" ||
@@ -8215,7 +8341,7 @@ class ToolbarComponent {
8215
8341
  else if (URL == "/manage/traffic/nob") {
8216
8342
  this.setUIProperties(false, false, false, false, false, false, false, false, false, true, false);
8217
8343
  }
8218
- else if (url[2] === "traffic" || url[2] === "zones" || URL == "/manage/analyse/reports") {
8344
+ else if (url[2] === "traffic" || url[2] === "zones" || URL == "/manage/analyse/reports" || URL == "/manage/employee-metrics/beeahGroup") {
8219
8345
  this.setUIProperties(false, false, false, false, false, true, false, false, false, false, false);
8220
8346
  }
8221
8347
  else if (url[2] === "employee-metrics" && url[3] === "heatmap") {
@@ -8275,7 +8401,7 @@ class ToolbarComponent {
8275
8401
  else if (URL == "/manage/traffic/nob") {
8276
8402
  this.setUIProperties(false, false, false, false, false, false, false, false, false, true, false);
8277
8403
  }
8278
- else if (url[2] === "traffic" || url[2] === "zones" || URL == "/manage/analyse/reports") {
8404
+ else if (url[2] === "traffic" || url[2] === "zones" || URL == "/manage/analyse/reports" || URL == "/manage/employee-metrics/beeahGroup") {
8279
8405
  this.setUIProperties(false, false, false, false, false, true, false, false, false, false, false);
8280
8406
  }
8281
8407
  else if (url[2] === "employee-metrics" && url[3] === "heatmap") {
@@ -8482,11 +8608,11 @@ class SidebarMenuComponent {
8482
8608
  });
8483
8609
  }
8484
8610
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuComponent, deps: [{ token: AuthService }, { token: i1.GlobalStateService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
8485
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarMenuComponent, selector: "lib-sidebar-menu", ngImport: i0, template: "<!--begin::Menu wrapper-->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"scroll-y my-5 mx-3\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <!--begin::Menu-->\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"#kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <!-- Birds Eye -->\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard && (gs.userAccess | async)?.userType !== 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/birds_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Analytics</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Analyse -->\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15 text-nowrap\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-title ms-8\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-title ms-8\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"clientData?.featureConfigs?.isNewZoneV2 && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-title ms-8\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"clientData?.featureConfigs?.isTrax || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/dashboard\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\">Tango Trax\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/employee-metrics\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n<g clip-path=\"url(#clip0_11702_17257)\">\r\n<path d=\"M3.33398 1.33398L3.46064 1.96065C3.55142 2.41065 3.75682 2.8296 4.05698 3.17695C4.35714 3.52429 4.74188 3.78826 5.17397 3.94332L5.33397 4.00065L5.17397 4.05798C4.74188 4.21304 4.35714 4.47701 4.05698 4.82435C3.75682 5.1717 3.55142 5.59065 3.46064 6.04065L3.33398 6.66732L3.20731 6.04065C3.11654 5.59065 2.91113 5.1717 2.61097 4.82435C2.31082 4.47701 1.92607 4.21304 1.49398 4.05798L1.33398 4.00065L1.49398 3.94332C1.92607 3.78826 2.31082 3.52429 2.61097 3.17695C2.91113 2.8296 3.11654 2.41065 3.20731 1.96065L3.33398 1.33398ZM5.33397 10.6673L5.48731 11.518C5.52712 11.7399 5.62255 11.9481 5.76467 12.1231C5.90679 12.2981 6.09096 12.4342 6.29997 12.5187L6.6673 12.6673L6.29997 12.816C6.09092 12.9003 5.90667 13.0363 5.76443 13.2112C5.6222 13.386 5.52662 13.5941 5.48664 13.816L5.33397 14.6673L5.18064 13.8167C5.14082 13.5948 5.0454 13.3866 4.90328 13.2116C4.76116 13.0366 4.57698 12.9005 4.36798 12.816L4.00064 12.6673L4.36798 12.5187C4.57702 12.4343 4.76128 12.2983 4.90351 12.1235C5.04575 11.9486 5.14132 11.7405 5.18131 11.5187L5.33397 10.6673ZM10.6673 2.00065L11.038 3.76998C11.2269 4.67204 11.6463 5.50975 12.2554 6.20143C12.8645 6.89311 13.6424 7.41515 14.5133 7.71665L15.3339 8.00065L14.5133 8.28465C13.6424 8.58615 12.8645 9.10819 12.2554 9.79987C11.6463 10.4916 11.2269 11.3293 11.038 12.2313L10.6673 14.0007L10.2966 12.2313C10.1077 11.3293 9.68827 10.4916 9.0792 9.79987C8.47013 9.10819 7.69221 8.58615 6.8213 8.28465L6.00064 8.00065L6.8213 7.71665C7.69221 7.41515 8.47013 6.89311 9.0792 6.20143C9.68827 5.50975 10.1077 4.67204 10.2966 3.76998L10.6673 2.00065Z\" stroke=\"#98A2B3\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_11702_17257\">\r\n<rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\">AI Manager\r\n </span>\r\n </a>\r\n </div> \r\n \r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-title ms-8\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div *ngIf=\"clientData?.featureConfigs?.isControlCenter && this.usersList?.userType !=='tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/controlcenter\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/ControlCenter.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\" >Control Center\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic/explore\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Explore.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Explore\r\n </span>\r\n </a>\r\n </div> \r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard && clientData?.featureConfigs?.isNewReports && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Reports\r\n </span>\r\n </a>\r\n </div> \r\n \r\n <!-- Manage -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType !== 'lead'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/manage.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Manage\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n \r\n <span class=\"menu-title ms-8\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n \r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n \r\n <span class=\"menu-title ms-8\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n \r\n <span class=\"menu-title ms-8\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n \r\n <span class=\"menu-title ms-8\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n \r\n <span class=\"menu-title ms-8\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n \r\n <span class=\"menu-title ms-8\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n \r\n <span class=\"menu-title ms-8\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n \r\n <span class=\"menu-title ms-8\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n \r\n <span class=\"menu-title ms-8\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n \r\n <span class=\"menu-title ms-8\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/user-analysis\" >\r\n \r\n <span class=\"menu-title ms-8\">User Analysis\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n \r\n \r\n </div>\r\n\r\n <!-- Workspace -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Workspace.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Workspace\r\n </span>\r\n </a>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n</div>\r\n<!--end::Menu wrapper-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title \" data-link=\"/manage/traffic\">ANALYZE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n \r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M0.677249 15.8223H5.41799C6.09524 15.8223 6.09524 15.5214 6.09524 14.318V6.83461C6.09524 6.39794 5.79228 6.04449 5.41799 6.04449H0.677249C0.2709 6.04449 0 6.34534 0 6.79663V15.0701C0 15.5214 0.2709 15.8223 0.677249 15.8223Z\" fill=\"#475467\"/>\r\n <path d=\"M0.673874 4.44444H5.39099C5.79531 4.44444 6.06486 4.08889 6.06486 3.55555V0.888888C6.06486 0.355555 5.79531 0 5.39099 0H0.673874C0.269549 0 0 0.355555 0 0.888888V3.55555C0 4 0.269549 4.44444 0.673874 4.44444Z\" fill=\"#475467\"/>\r\n <path d=\"M2.27003 1.9131C2.27003 2.20178 2.09173 2.4358 1.87179 2.4358C1.65185 2.4358 1.47354 2.20178 1.47354 1.9131C1.47354 1.62443 1.65185 1.39041 1.87179 1.39041C2.09173 1.39041 2.27003 1.62443 2.27003 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M3.46448 1.9131C3.46448 2.20178 3.28618 2.4358 3.06623 2.4358C2.84629 2.4358 2.66799 2.20178 2.66799 1.9131C2.66799 1.62443 2.84629 1.39041 3.06623 1.39041C3.28618 1.39041 3.46448 1.62443 3.46448 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M4.66025 1.9131C4.66025 2.20178 4.48195 2.4358 4.262 2.4358C4.04206 2.4358 3.86376 2.20178 3.86376 1.9131C3.86376 1.62443 4.04206 1.39041 4.262 1.39041C4.48195 1.39041 4.66025 1.62443 4.66025 1.9131Z\" fill=\"#667085\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.61905 16V0H8.38095V16H7.61905Z\" fill=\"#667085\"/>\r\n <path d=\"M15.3227 0H10.582C10.1757 0 9.90476 0.300855 9.90476 0.752137V9.02564C9.90476 9.47692 10.1757 9.77778 10.582 9.77778H15.3227C15.7291 9.77778 16 9.47692 16 9.02564V0.752137C16 0.300855 15.7291 0 15.3227 0Z\" fill=\"#475467\"/>\r\n <path d=\"M9.93519 15.1111V12.4444C9.93519 11.9111 10.2047 11.5556 10.6091 11.5556H15.3261C15.7305 11.5556 16 11.9111 16 12.4444V15.1111C16 15.6444 15.7305 16 15.3261 16H10.6091C10.2047 16 9.93519 15.6444 9.93519 15.1111Z\" fill=\"#475467\"/>\r\n <path d=\"M12.0531 13.4336C12.0531 13.7223 11.8748 13.9563 11.6549 13.9563C11.4349 13.9563 11.2566 13.7223 11.2566 13.4336C11.2566 13.1449 11.4349 12.9109 11.6549 12.9109C11.8748 12.9109 12.0531 13.1449 12.0531 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M13.2475 13.4336C13.2475 13.7223 13.0692 13.9563 12.8493 13.9563C12.6294 13.9563 12.4511 13.7223 12.4511 13.4336C12.4511 13.1449 12.6294 12.9109 12.8493 12.9109C13.0692 12.9109 13.2475 13.1449 13.2475 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M14.4433 13.4336C14.4433 13.7223 14.265 13.9563 14.0451 13.9563C13.8251 13.9563 13.6468 13.7223 13.6468 13.4336C13.6468 13.1449 13.8251 12.9109 14.0451 12.9109C14.265 12.9109 14.4433 13.1449 14.4433 13.4336Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView && clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '11': this.headerFilters?.client === '11'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M9.84985 0.264419C9.5033 -0.0881395 8.97086 -0.0881395 8.62713 0.264419L2.76722 6.25478C2.5024 6.5231 2.40943 6.94117 2.52776 7.31557C4.9816 8.10493 6.91142 10.2546 7.60729 12.9815H12.8445C13.5912 12.9815 14.1968 12.3107 14.1968 11.4839V7.98637H15.0984C15.4702 7.98637 15.8027 7.73365 15.938 7.35301C16.0732 6.97238 15.983 6.53557 15.7098 6.25478L9.84985 0.264419ZM7.88619 6.48878C7.88619 6.21422 8.08904 5.98958 8.33696 5.98958H10.14C10.388 5.98958 10.5908 6.21422 10.5908 6.48878V8.48556C10.5908 8.76013 10.388 8.98476 10.14 8.98476H8.33696C8.08904 8.98476 7.88619 8.76013 7.88619 8.48556V6.48878Z\" fill=\"#667085\"/>\r\n <path d=\"M0 8.76165C0 8.34669 0.301447 8.01285 0.676143 8.01285C4.28506 8.01285 7.2122 11.2545 7.2122 15.2512C7.2122 15.6662 6.91075 16 6.53606 16C6.16136 16 5.85991 15.6662 5.85991 15.2512C5.85991 12.0813 3.53848 9.51044 0.676143 9.51044C0.301447 9.51044 0 9.1766 0 8.76165Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M1.539 15.7076C1.36993 15.8948 1.14062 16 0.901525 16C0.662426 16 0.43312 15.8948 0.264051 15.7076C0.0949818 15.5203 0 15.2664 0 15.0017C0 14.7368 0.0949818 14.4829 0.264051 14.2956C0.43312 14.1084 0.662426 14.0032 0.901525 14.0032C1.14062 14.0032 1.36993 14.1084 1.539 14.2956C1.70807 14.4829 1.80305 14.7368 1.80305 15.0017C1.80305 15.2664 1.70807 15.5203 1.539 15.7076Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M0.676143 12.5056C0.301447 12.5056 0 12.1717 0 11.7568C0 11.3418 0.301447 11.0081 0.676143 11.0081C2.79191 11.0081 4.50762 12.9081 4.50762 15.2512C4.50762 15.6662 4.20618 16 3.83148 16C3.45678 16 3.15534 15.6662 3.15534 15.2512C3.15534 13.7349 2.04533 12.5056 0.676143 12.5056Z\" fill=\"#D0D5DD\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" routerLink=\"/manage/controlcenter\">Control Center \r\n </span>\r\n \r\n </span>\r\n </div>\r\n \r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M14.3843 6.77809L13.3937 6.58122C13.1468 6.53122 12.8937 6.60935 12.7156 6.78747L12.2343 7.26872C11.8718 7.63122 11.2625 7.53122 11.0343 7.07498L10.7437 6.49685C10.5937 6.19685 10.2875 6.00622 9.94997 6.00622C9.47497 6.00622 9.13435 6.46248 9.27185 6.91873L9.45935 7.5406C9.6031 8.02185 9.24372 8.50623 8.7406 8.50623H8.66872C8.24998 8.50623 7.85935 8.71561 7.6281 9.06249L7.29373 9.56561C7.11873 9.83123 7.1281 10.1781 7.31873 10.4312L7.82185 11.1031C8.14373 11.5312 7.92498 12.15 7.4031 12.2812L6.87185 12.4156C6.63748 12.475 6.44686 12.6406 6.35623 12.8656L5.84373 14.1437C6.51873 14.3719 7.24373 14.5 7.99998 14.5C11.5906 14.5 14.5 11.5906 14.5 7.99998C14.5 7.58123 14.4593 7.17184 14.3843 6.77809ZM1.64375 6.63435C1.83124 6.63435 1.81249 6.68122 1.92499 6.60935L2.41874 6.47185C2.62812 6.41247 2.84999 6.49997 2.96562 6.68122L3.02812 6.77809C3.21562 7.07184 3.54061 7.24997 3.89061 7.24997C4.24061 7.24997 4.56561 7.07184 4.75311 6.77809L4.94374 6.48122C4.98749 6.41247 5.04998 6.3531 5.12186 6.3156L6.24998 5.68435C6.81561 5.36872 7.04685 4.67185 6.78123 4.08123L6.60935 3.69374C6.34061 3.09374 5.64998 2.80311 5.03124 3.03436L4.94999 3.06561C4.63749 3.18123 4.66874 3.08437 4.39999 2.88749L3.96874 2.90311C2.39999 3.68749 1.92187 4.98436 1.6 6.48748L1.64375 6.63435ZM16 7.99998C16 10.1217 15.1571 12.1566 13.6568 13.6568C12.1565 15.1571 10.1217 16 7.99998 16C5.87825 16 3.84343 15.1571 2.34314 13.6568C0.842852 12.1566 0 10.1217 0 7.99998C0 5.87825 0.842852 3.84342 2.34314 2.34314C3.84343 0.842851 5.87825 0 7.99998 0C10.1217 0 12.1565 0.842851 13.6568 2.34314C15.1571 3.84342 16 5.87825 16 7.99998ZM11.4843 5.12185C11.55 4.8531 11.3875 4.58123 11.1218 4.5156L10.1218 4.2656C9.8531 4.19998 9.58122 4.36248 9.5156 4.6281C9.44997 4.89373 9.61247 5.16872 9.8781 5.23435L10.8781 5.48435C11.1468 5.54997 11.4187 5.38747 11.4843 5.12185ZM8.60935 5.74685C8.67497 5.4781 8.51248 5.20622 8.24685 5.1406C7.98123 5.07498 7.70623 5.23747 7.6406 5.5031L7.3906 6.5031C7.32498 6.77184 7.48748 7.04373 7.7531 7.10935C8.01873 7.17497 8.29373 7.01247 8.35935 6.74685L8.60935 5.74685Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M2.45522 6.05254C2.59366 6.24051 2.35423 6.2781 2.22966 6.2781C2.10509 6.2781 2.0041 6.17711 2.0041 6.05254C2.0041 5.92797 2.10509 5.67661 2.22966 5.67661C2.35423 5.67661 2.45522 5.92797 2.45522 6.05254Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M4.20498 11.8559C4.62113 11.3337 5.57024 10.0682 5.57024 9.35736C5.57024 8.49526 4.87261 7.79579 4.01273 7.79579C3.15285 7.79579 2.45522 8.49526 2.45522 9.35736C2.45522 10.0682 3.40433 11.3337 3.82047 11.8559C3.92025 11.9803 4.10521 11.9803 4.20498 11.8559ZM4.01273 8.83684C4.15042 8.83684 4.28247 8.89168 4.37984 8.98929C4.4772 9.08691 4.5319 9.21931 4.5319 9.35736C4.5319 9.49541 4.4772 9.62781 4.37984 9.72542C4.28247 9.82304 4.15042 9.87788 4.01273 9.87788C3.87504 9.87788 3.74298 9.82304 3.64562 9.72542C3.54826 9.62781 3.49356 9.49541 3.49356 9.35736C3.49356 9.21931 3.54826 9.08691 3.64562 8.98929C3.74298 8.89168 3.87504 8.83684 4.01273 8.83684Z\"\r\n fill=\"#667085\" />\r\n <path\r\n d=\"M13.0419 10.2943C13.9436 9.11946 16 6.27207 16 4.6727C16 2.73295 14.4884 1.1592 12.6253 1.1592C10.7623 1.1592 9.25074 2.73295 9.25074 4.6727C9.25074 6.27207 11.3071 9.11946 12.2088 10.2943C12.425 10.5743 12.8257 10.5743 13.0419 10.2943ZM12.6253 3.50153C12.9237 3.50153 13.2098 3.62492 13.4207 3.84456C13.6317 4.06419 13.7502 4.36208 13.7502 4.6727C13.7502 4.98331 13.6317 5.2812 13.4207 5.50083C13.2098 5.72047 12.9237 5.84386 12.6253 5.84386C12.327 5.84386 12.0409 5.72047 11.8299 5.50083C11.619 5.2812 11.5005 4.98331 11.5005 4.6727C11.5005 4.36208 11.619 4.06419 11.8299 3.84456C12.0409 3.62492 12.327 3.50153 12.6253 3.50153Z\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n \r\n </div>\r\n \r\n</div>\r\n\r\n<div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage/traffic\">REPORTS\r\n </span>\r\n \r\n </span>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage\">MANAGE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_brands_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/brands.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_overview_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/overview.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_stores_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_tickets_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_audit_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/audit.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.settings_paymentSubscriptions_isView || (gs.userAccess | async)?.settings_activityLog_isView || (gs.userAccess | async)?.settings_brandDetails_isView || (gs.userAccess | async)?.settings_configuration_isView || (gs.userAccess | async)?.settings_contactDirectory_isView || (gs.userAccess | async)?.settings_documents_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/settings.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/billing.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/tickets\">MY WORKSPACE\r\n </span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/tickets/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div> -->\r\n\r\n\r\n\r\n\r\n\r\n <!-- Tango Traffic -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView && clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_traffic.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Traffic</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Zone -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_zone.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Zone</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Revop -->\r\n <!-- <div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_revop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Home\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Tagging\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Pending Action\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Customer Profile\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Control Center -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_controlCenter_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/control_center.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Control Center\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Live & Playback\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Screen Manager\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Store Explore\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Tango SOP -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoSop_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_sop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango SOP\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Dashboard\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Create & Manage\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Flag\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Incidents\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n", styles: [".menu-bullet-dot span{display:inline-block;width:6px;height:6px;background-color:#000;border-radius:50%;margin-right:10px;vertical-align:middle}:host::ng-deep .menu-sub .menu-sub-accordion{border-left:2px solid #98A2B3!important}::ng-deep .app-sidebar .menu .menu-item .menu-link.active .menu-title{color:#f5f5f5!important;border-radius:8px!important;border:1px solid var(--text-primary, #FFF)!important;padding:8px!important;color:var(--Primary-500, #33B5FF)!important;font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link .menu-title{font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link.active{transition:color .2s ease;background-color:#0d0e12!important}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
8611
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SidebarMenuComponent, selector: "lib-sidebar-menu", ngImport: i0, template: "<!--begin::Menu wrapper-->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"scroll-y my-5 ms-2 me-0\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <!--begin::Menu-->\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"#kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <!-- Birds Eye -->\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard && (gs.userAccess | async)?.userType !== 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/birds_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Analytics</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Analyse -->\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15 text-nowrap\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-title ms-8\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-title ms-8\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"clientData?.featureConfigs?.isNewZoneV2 && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-title ms-8\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"clientData?.featureConfigs?.isTrax || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/dashboard\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\">Tango Trax\r\n </span>\r\n </a>\r\n </div> \r\n<div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '430': this.headerFilters?.client === '430' || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/employee-metrics/aiManager\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n<g clip-path=\"url(#clip0_11702_17257)\">\r\n<path d=\"M3.33398 1.33398L3.46064 1.96065C3.55142 2.41065 3.75682 2.8296 4.05698 3.17695C4.35714 3.52429 4.74188 3.78826 5.17397 3.94332L5.33397 4.00065L5.17397 4.05798C4.74188 4.21304 4.35714 4.47701 4.05698 4.82435C3.75682 5.1717 3.55142 5.59065 3.46064 6.04065L3.33398 6.66732L3.20731 6.04065C3.11654 5.59065 2.91113 5.1717 2.61097 4.82435C2.31082 4.47701 1.92607 4.21304 1.49398 4.05798L1.33398 4.00065L1.49398 3.94332C1.92607 3.78826 2.31082 3.52429 2.61097 3.17695C2.91113 2.8296 3.11654 2.41065 3.20731 1.96065L3.33398 1.33398ZM5.33397 10.6673L5.48731 11.518C5.52712 11.7399 5.62255 11.9481 5.76467 12.1231C5.90679 12.2981 6.09096 12.4342 6.29997 12.5187L6.6673 12.6673L6.29997 12.816C6.09092 12.9003 5.90667 13.0363 5.76443 13.2112C5.6222 13.386 5.52662 13.5941 5.48664 13.816L5.33397 14.6673L5.18064 13.8167C5.14082 13.5948 5.0454 13.3866 4.90328 13.2116C4.76116 13.0366 4.57698 12.9005 4.36798 12.816L4.00064 12.6673L4.36798 12.5187C4.57702 12.4343 4.76128 12.2983 4.90351 12.1235C5.04575 11.9486 5.14132 11.7405 5.18131 11.5187L5.33397 10.6673ZM10.6673 2.00065L11.038 3.76998C11.2269 4.67204 11.6463 5.50975 12.2554 6.20143C12.8645 6.89311 13.6424 7.41515 14.5133 7.71665L15.3339 8.00065L14.5133 8.28465C13.6424 8.58615 12.8645 9.10819 12.2554 9.79987C11.6463 10.4916 11.2269 11.3293 11.038 12.2313L10.6673 14.0007L10.2966 12.2313C10.1077 11.3293 9.68827 10.4916 9.0792 9.79987C8.47013 9.10819 7.69221 8.58615 6.8213 8.28465L6.00064 8.00065L6.8213 7.71665C7.69221 7.41515 8.47013 6.89311 9.0792 6.20143C9.68827 5.50975 10.1077 4.67204 10.2966 3.76998L10.6673 2.00065Z\" stroke=\"#98A2B3\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_11702_17257\">\r\n<rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\">AI Manager\r\n </span>\r\n </a>\r\n </div> \r\n\r\n <div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '489': this.headerFilters?.client === '489' || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/employee-metrics/beeahGroup\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n<g clip-path=\"url(#clip0_13388_25837)\">\r\n<path d=\"M10.9974 1.66406H13.664C13.8408 1.66406 14.0104 1.7343 14.1354 1.85932C14.2605 1.98435 14.3307 2.15392 14.3307 2.33073V4.9974M14.3307 10.9974V13.6641C14.3307 13.8409 14.2605 14.0104 14.1354 14.1355C14.0104 14.2605 13.8408 14.3307 13.664 14.3307H10.9974M4.99739 14.3307H2.33073C2.15392 14.3307 1.98435 14.2605 1.85932 14.1355C1.7343 14.0104 1.66406 13.8409 1.66406 13.6641V10.9974M1.66406 4.9974V2.33073C1.66406 2.15392 1.7343 1.98435 1.85932 1.85932C1.98435 1.7343 2.15392 1.66406 2.33073 1.66406H4.99739\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M7.99999 12.6615C10.209 12.6615 12 10.5721 12 7.99479C12 5.41746 10.209 3.32812 7.99999 3.32812C5.79099 3.32812 4 5.41746 4 7.99479C4 10.5721 5.79099 12.6615 7.99999 12.6615Z\" stroke=\"#667085\" stroke-width=\"2\"/>\r\n<path d=\"M2 8H14M6.68999 10.0353C7.11232 10.3477 7.54898 10.5037 7.99998 10.5037C8.45065 10.5037 8.89931 10.3477 9.34598 10.0353\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_13388_25837\">\r\n<rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\">AI Manager - Access Control\r\n </span>\r\n </a>\r\n </div> \r\n \r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-title ms-8\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div *ngIf=\"clientData?.featureConfigs?.isControlCenter && this.usersList?.userType !=='tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/controlcenter\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/ControlCenter.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\" >Control Center\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic/explore\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Explore.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Explore\r\n </span>\r\n </a>\r\n </div> \r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard && clientData?.featureConfigs?.isNewReports && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Reports\r\n </span>\r\n </a>\r\n </div> \r\n \r\n <!-- Manage -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType !== 'lead'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/manage.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Manage\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n \r\n <span class=\"menu-title ms-8\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n \r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n \r\n <span class=\"menu-title ms-8\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n \r\n <span class=\"menu-title ms-8\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n \r\n <span class=\"menu-title ms-8\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n \r\n <span class=\"menu-title ms-8\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n \r\n <span class=\"menu-title ms-8\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n \r\n <span class=\"menu-title ms-8\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n \r\n <span class=\"menu-title ms-8\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n \r\n <span class=\"menu-title ms-8\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n \r\n <span class=\"menu-title ms-8\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/user-analysis\" >\r\n \r\n <span class=\"menu-title ms-8\">User Analysis\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n \r\n \r\n </div>\r\n\r\n <!-- Workspace -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Workspace.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Workspace\r\n </span>\r\n </a>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n</div>\r\n<!--end::Menu wrapper-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title \" data-link=\"/manage/traffic\">ANALYZE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n \r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M0.677249 15.8223H5.41799C6.09524 15.8223 6.09524 15.5214 6.09524 14.318V6.83461C6.09524 6.39794 5.79228 6.04449 5.41799 6.04449H0.677249C0.2709 6.04449 0 6.34534 0 6.79663V15.0701C0 15.5214 0.2709 15.8223 0.677249 15.8223Z\" fill=\"#475467\"/>\r\n <path d=\"M0.673874 4.44444H5.39099C5.79531 4.44444 6.06486 4.08889 6.06486 3.55555V0.888888C6.06486 0.355555 5.79531 0 5.39099 0H0.673874C0.269549 0 0 0.355555 0 0.888888V3.55555C0 4 0.269549 4.44444 0.673874 4.44444Z\" fill=\"#475467\"/>\r\n <path d=\"M2.27003 1.9131C2.27003 2.20178 2.09173 2.4358 1.87179 2.4358C1.65185 2.4358 1.47354 2.20178 1.47354 1.9131C1.47354 1.62443 1.65185 1.39041 1.87179 1.39041C2.09173 1.39041 2.27003 1.62443 2.27003 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M3.46448 1.9131C3.46448 2.20178 3.28618 2.4358 3.06623 2.4358C2.84629 2.4358 2.66799 2.20178 2.66799 1.9131C2.66799 1.62443 2.84629 1.39041 3.06623 1.39041C3.28618 1.39041 3.46448 1.62443 3.46448 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M4.66025 1.9131C4.66025 2.20178 4.48195 2.4358 4.262 2.4358C4.04206 2.4358 3.86376 2.20178 3.86376 1.9131C3.86376 1.62443 4.04206 1.39041 4.262 1.39041C4.48195 1.39041 4.66025 1.62443 4.66025 1.9131Z\" fill=\"#667085\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.61905 16V0H8.38095V16H7.61905Z\" fill=\"#667085\"/>\r\n <path d=\"M15.3227 0H10.582C10.1757 0 9.90476 0.300855 9.90476 0.752137V9.02564C9.90476 9.47692 10.1757 9.77778 10.582 9.77778H15.3227C15.7291 9.77778 16 9.47692 16 9.02564V0.752137C16 0.300855 15.7291 0 15.3227 0Z\" fill=\"#475467\"/>\r\n <path d=\"M9.93519 15.1111V12.4444C9.93519 11.9111 10.2047 11.5556 10.6091 11.5556H15.3261C15.7305 11.5556 16 11.9111 16 12.4444V15.1111C16 15.6444 15.7305 16 15.3261 16H10.6091C10.2047 16 9.93519 15.6444 9.93519 15.1111Z\" fill=\"#475467\"/>\r\n <path d=\"M12.0531 13.4336C12.0531 13.7223 11.8748 13.9563 11.6549 13.9563C11.4349 13.9563 11.2566 13.7223 11.2566 13.4336C11.2566 13.1449 11.4349 12.9109 11.6549 12.9109C11.8748 12.9109 12.0531 13.1449 12.0531 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M13.2475 13.4336C13.2475 13.7223 13.0692 13.9563 12.8493 13.9563C12.6294 13.9563 12.4511 13.7223 12.4511 13.4336C12.4511 13.1449 12.6294 12.9109 12.8493 12.9109C13.0692 12.9109 13.2475 13.1449 13.2475 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M14.4433 13.4336C14.4433 13.7223 14.265 13.9563 14.0451 13.9563C13.8251 13.9563 13.6468 13.7223 13.6468 13.4336C13.6468 13.1449 13.8251 12.9109 14.0451 12.9109C14.265 12.9109 14.4433 13.1449 14.4433 13.4336Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView && clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '11': this.headerFilters?.client === '11'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M9.84985 0.264419C9.5033 -0.0881395 8.97086 -0.0881395 8.62713 0.264419L2.76722 6.25478C2.5024 6.5231 2.40943 6.94117 2.52776 7.31557C4.9816 8.10493 6.91142 10.2546 7.60729 12.9815H12.8445C13.5912 12.9815 14.1968 12.3107 14.1968 11.4839V7.98637H15.0984C15.4702 7.98637 15.8027 7.73365 15.938 7.35301C16.0732 6.97238 15.983 6.53557 15.7098 6.25478L9.84985 0.264419ZM7.88619 6.48878C7.88619 6.21422 8.08904 5.98958 8.33696 5.98958H10.14C10.388 5.98958 10.5908 6.21422 10.5908 6.48878V8.48556C10.5908 8.76013 10.388 8.98476 10.14 8.98476H8.33696C8.08904 8.98476 7.88619 8.76013 7.88619 8.48556V6.48878Z\" fill=\"#667085\"/>\r\n <path d=\"M0 8.76165C0 8.34669 0.301447 8.01285 0.676143 8.01285C4.28506 8.01285 7.2122 11.2545 7.2122 15.2512C7.2122 15.6662 6.91075 16 6.53606 16C6.16136 16 5.85991 15.6662 5.85991 15.2512C5.85991 12.0813 3.53848 9.51044 0.676143 9.51044C0.301447 9.51044 0 9.1766 0 8.76165Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M1.539 15.7076C1.36993 15.8948 1.14062 16 0.901525 16C0.662426 16 0.43312 15.8948 0.264051 15.7076C0.0949818 15.5203 0 15.2664 0 15.0017C0 14.7368 0.0949818 14.4829 0.264051 14.2956C0.43312 14.1084 0.662426 14.0032 0.901525 14.0032C1.14062 14.0032 1.36993 14.1084 1.539 14.2956C1.70807 14.4829 1.80305 14.7368 1.80305 15.0017C1.80305 15.2664 1.70807 15.5203 1.539 15.7076Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M0.676143 12.5056C0.301447 12.5056 0 12.1717 0 11.7568C0 11.3418 0.301447 11.0081 0.676143 11.0081C2.79191 11.0081 4.50762 12.9081 4.50762 15.2512C4.50762 15.6662 4.20618 16 3.83148 16C3.45678 16 3.15534 15.6662 3.15534 15.2512C3.15534 13.7349 2.04533 12.5056 0.676143 12.5056Z\" fill=\"#D0D5DD\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" routerLink=\"/manage/controlcenter\">Control Center \r\n </span>\r\n \r\n </span>\r\n </div>\r\n \r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M14.3843 6.77809L13.3937 6.58122C13.1468 6.53122 12.8937 6.60935 12.7156 6.78747L12.2343 7.26872C11.8718 7.63122 11.2625 7.53122 11.0343 7.07498L10.7437 6.49685C10.5937 6.19685 10.2875 6.00622 9.94997 6.00622C9.47497 6.00622 9.13435 6.46248 9.27185 6.91873L9.45935 7.5406C9.6031 8.02185 9.24372 8.50623 8.7406 8.50623H8.66872C8.24998 8.50623 7.85935 8.71561 7.6281 9.06249L7.29373 9.56561C7.11873 9.83123 7.1281 10.1781 7.31873 10.4312L7.82185 11.1031C8.14373 11.5312 7.92498 12.15 7.4031 12.2812L6.87185 12.4156C6.63748 12.475 6.44686 12.6406 6.35623 12.8656L5.84373 14.1437C6.51873 14.3719 7.24373 14.5 7.99998 14.5C11.5906 14.5 14.5 11.5906 14.5 7.99998C14.5 7.58123 14.4593 7.17184 14.3843 6.77809ZM1.64375 6.63435C1.83124 6.63435 1.81249 6.68122 1.92499 6.60935L2.41874 6.47185C2.62812 6.41247 2.84999 6.49997 2.96562 6.68122L3.02812 6.77809C3.21562 7.07184 3.54061 7.24997 3.89061 7.24997C4.24061 7.24997 4.56561 7.07184 4.75311 6.77809L4.94374 6.48122C4.98749 6.41247 5.04998 6.3531 5.12186 6.3156L6.24998 5.68435C6.81561 5.36872 7.04685 4.67185 6.78123 4.08123L6.60935 3.69374C6.34061 3.09374 5.64998 2.80311 5.03124 3.03436L4.94999 3.06561C4.63749 3.18123 4.66874 3.08437 4.39999 2.88749L3.96874 2.90311C2.39999 3.68749 1.92187 4.98436 1.6 6.48748L1.64375 6.63435ZM16 7.99998C16 10.1217 15.1571 12.1566 13.6568 13.6568C12.1565 15.1571 10.1217 16 7.99998 16C5.87825 16 3.84343 15.1571 2.34314 13.6568C0.842852 12.1566 0 10.1217 0 7.99998C0 5.87825 0.842852 3.84342 2.34314 2.34314C3.84343 0.842851 5.87825 0 7.99998 0C10.1217 0 12.1565 0.842851 13.6568 2.34314C15.1571 3.84342 16 5.87825 16 7.99998ZM11.4843 5.12185C11.55 4.8531 11.3875 4.58123 11.1218 4.5156L10.1218 4.2656C9.8531 4.19998 9.58122 4.36248 9.5156 4.6281C9.44997 4.89373 9.61247 5.16872 9.8781 5.23435L10.8781 5.48435C11.1468 5.54997 11.4187 5.38747 11.4843 5.12185ZM8.60935 5.74685C8.67497 5.4781 8.51248 5.20622 8.24685 5.1406C7.98123 5.07498 7.70623 5.23747 7.6406 5.5031L7.3906 6.5031C7.32498 6.77184 7.48748 7.04373 7.7531 7.10935C8.01873 7.17497 8.29373 7.01247 8.35935 6.74685L8.60935 5.74685Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M2.45522 6.05254C2.59366 6.24051 2.35423 6.2781 2.22966 6.2781C2.10509 6.2781 2.0041 6.17711 2.0041 6.05254C2.0041 5.92797 2.10509 5.67661 2.22966 5.67661C2.35423 5.67661 2.45522 5.92797 2.45522 6.05254Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M4.20498 11.8559C4.62113 11.3337 5.57024 10.0682 5.57024 9.35736C5.57024 8.49526 4.87261 7.79579 4.01273 7.79579C3.15285 7.79579 2.45522 8.49526 2.45522 9.35736C2.45522 10.0682 3.40433 11.3337 3.82047 11.8559C3.92025 11.9803 4.10521 11.9803 4.20498 11.8559ZM4.01273 8.83684C4.15042 8.83684 4.28247 8.89168 4.37984 8.98929C4.4772 9.08691 4.5319 9.21931 4.5319 9.35736C4.5319 9.49541 4.4772 9.62781 4.37984 9.72542C4.28247 9.82304 4.15042 9.87788 4.01273 9.87788C3.87504 9.87788 3.74298 9.82304 3.64562 9.72542C3.54826 9.62781 3.49356 9.49541 3.49356 9.35736C3.49356 9.21931 3.54826 9.08691 3.64562 8.98929C3.74298 8.89168 3.87504 8.83684 4.01273 8.83684Z\"\r\n fill=\"#667085\" />\r\n <path\r\n d=\"M13.0419 10.2943C13.9436 9.11946 16 6.27207 16 4.6727C16 2.73295 14.4884 1.1592 12.6253 1.1592C10.7623 1.1592 9.25074 2.73295 9.25074 4.6727C9.25074 6.27207 11.3071 9.11946 12.2088 10.2943C12.425 10.5743 12.8257 10.5743 13.0419 10.2943ZM12.6253 3.50153C12.9237 3.50153 13.2098 3.62492 13.4207 3.84456C13.6317 4.06419 13.7502 4.36208 13.7502 4.6727C13.7502 4.98331 13.6317 5.2812 13.4207 5.50083C13.2098 5.72047 12.9237 5.84386 12.6253 5.84386C12.327 5.84386 12.0409 5.72047 11.8299 5.50083C11.619 5.2812 11.5005 4.98331 11.5005 4.6727C11.5005 4.36208 11.619 4.06419 11.8299 3.84456C12.0409 3.62492 12.327 3.50153 12.6253 3.50153Z\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n \r\n </div>\r\n \r\n</div>\r\n\r\n<div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage/traffic\">REPORTS\r\n </span>\r\n \r\n </span>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage\">MANAGE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_brands_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/brands.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_overview_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/overview.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_stores_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_tickets_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_audit_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/audit.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.settings_paymentSubscriptions_isView || (gs.userAccess | async)?.settings_activityLog_isView || (gs.userAccess | async)?.settings_brandDetails_isView || (gs.userAccess | async)?.settings_configuration_isView || (gs.userAccess | async)?.settings_contactDirectory_isView || (gs.userAccess | async)?.settings_documents_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/settings.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/billing.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/tickets\">MY WORKSPACE\r\n </span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/tickets/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div> -->\r\n\r\n\r\n\r\n\r\n\r\n <!-- Tango Traffic -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView && clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_traffic.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Traffic</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Zone -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_zone.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Zone</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Revop -->\r\n <!-- <div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_revop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Home\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Tagging\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Pending Action\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Customer Profile\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Control Center -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_controlCenter_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/control_center.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Control Center\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Live & Playback\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Screen Manager\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Store Explore\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Tango SOP -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoSop_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_sop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango SOP\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Dashboard\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Create & Manage\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Flag\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Incidents\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n", styles: [".menu-bullet-dot span{display:inline-block;width:6px;height:6px;background-color:#000;border-radius:50%;margin-right:10px;vertical-align:middle}:host::ng-deep .menu-sub .menu-sub-accordion{border-left:2px solid #98A2B3!important}::ng-deep .app-sidebar .menu .menu-item .menu-link.active .menu-title{color:#f5f5f5!important;border-radius:8px!important;border:1px solid var(--text-primary, #FFF)!important;padding:8px!important;color:var(--Primary-500, #33B5FF)!important;font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link .menu-title{font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link.active{transition:color .2s ease;background-color:#0d0e12!important}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
8486
8612
  }
8487
8613
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SidebarMenuComponent, decorators: [{
8488
8614
  type: Component,
8489
- args: [{ selector: "lib-sidebar-menu", template: "<!--begin::Menu wrapper-->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"scroll-y my-5 mx-3\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <!--begin::Menu-->\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"#kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <!-- Birds Eye -->\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard && (gs.userAccess | async)?.userType !== 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/birds_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Analytics</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Analyse -->\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15 text-nowrap\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-title ms-8\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-title ms-8\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"clientData?.featureConfigs?.isNewZoneV2 && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-title ms-8\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"clientData?.featureConfigs?.isTrax || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/dashboard\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\">Tango Trax\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/employee-metrics\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n<g clip-path=\"url(#clip0_11702_17257)\">\r\n<path d=\"M3.33398 1.33398L3.46064 1.96065C3.55142 2.41065 3.75682 2.8296 4.05698 3.17695C4.35714 3.52429 4.74188 3.78826 5.17397 3.94332L5.33397 4.00065L5.17397 4.05798C4.74188 4.21304 4.35714 4.47701 4.05698 4.82435C3.75682 5.1717 3.55142 5.59065 3.46064 6.04065L3.33398 6.66732L3.20731 6.04065C3.11654 5.59065 2.91113 5.1717 2.61097 4.82435C2.31082 4.47701 1.92607 4.21304 1.49398 4.05798L1.33398 4.00065L1.49398 3.94332C1.92607 3.78826 2.31082 3.52429 2.61097 3.17695C2.91113 2.8296 3.11654 2.41065 3.20731 1.96065L3.33398 1.33398ZM5.33397 10.6673L5.48731 11.518C5.52712 11.7399 5.62255 11.9481 5.76467 12.1231C5.90679 12.2981 6.09096 12.4342 6.29997 12.5187L6.6673 12.6673L6.29997 12.816C6.09092 12.9003 5.90667 13.0363 5.76443 13.2112C5.6222 13.386 5.52662 13.5941 5.48664 13.816L5.33397 14.6673L5.18064 13.8167C5.14082 13.5948 5.0454 13.3866 4.90328 13.2116C4.76116 13.0366 4.57698 12.9005 4.36798 12.816L4.00064 12.6673L4.36798 12.5187C4.57702 12.4343 4.76128 12.2983 4.90351 12.1235C5.04575 11.9486 5.14132 11.7405 5.18131 11.5187L5.33397 10.6673ZM10.6673 2.00065L11.038 3.76998C11.2269 4.67204 11.6463 5.50975 12.2554 6.20143C12.8645 6.89311 13.6424 7.41515 14.5133 7.71665L15.3339 8.00065L14.5133 8.28465C13.6424 8.58615 12.8645 9.10819 12.2554 9.79987C11.6463 10.4916 11.2269 11.3293 11.038 12.2313L10.6673 14.0007L10.2966 12.2313C10.1077 11.3293 9.68827 10.4916 9.0792 9.79987C8.47013 9.10819 7.69221 8.58615 6.8213 8.28465L6.00064 8.00065L6.8213 7.71665C7.69221 7.41515 8.47013 6.89311 9.0792 6.20143C9.68827 5.50975 10.1077 4.67204 10.2966 3.76998L10.6673 2.00065Z\" stroke=\"#98A2B3\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_11702_17257\">\r\n<rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\">AI Manager\r\n </span>\r\n </a>\r\n </div> \r\n \r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-title ms-8\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div *ngIf=\"clientData?.featureConfigs?.isControlCenter && this.usersList?.userType !=='tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/controlcenter\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/ControlCenter.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\" >Control Center\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic/explore\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Explore.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Explore\r\n </span>\r\n </a>\r\n </div> \r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard && clientData?.featureConfigs?.isNewReports && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Reports\r\n </span>\r\n </a>\r\n </div> \r\n \r\n <!-- Manage -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType !== 'lead'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/manage.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Manage\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n \r\n <span class=\"menu-title ms-8\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n \r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n \r\n <span class=\"menu-title ms-8\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n \r\n <span class=\"menu-title ms-8\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n \r\n <span class=\"menu-title ms-8\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n \r\n <span class=\"menu-title ms-8\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n \r\n <span class=\"menu-title ms-8\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n \r\n <span class=\"menu-title ms-8\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n \r\n <span class=\"menu-title ms-8\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n \r\n <span class=\"menu-title ms-8\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n \r\n <span class=\"menu-title ms-8\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/user-analysis\" >\r\n \r\n <span class=\"menu-title ms-8\">User Analysis\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n \r\n \r\n </div>\r\n\r\n <!-- Workspace -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Workspace.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Workspace\r\n </span>\r\n </a>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n</div>\r\n<!--end::Menu wrapper-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title \" data-link=\"/manage/traffic\">ANALYZE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n \r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M0.677249 15.8223H5.41799C6.09524 15.8223 6.09524 15.5214 6.09524 14.318V6.83461C6.09524 6.39794 5.79228 6.04449 5.41799 6.04449H0.677249C0.2709 6.04449 0 6.34534 0 6.79663V15.0701C0 15.5214 0.2709 15.8223 0.677249 15.8223Z\" fill=\"#475467\"/>\r\n <path d=\"M0.673874 4.44444H5.39099C5.79531 4.44444 6.06486 4.08889 6.06486 3.55555V0.888888C6.06486 0.355555 5.79531 0 5.39099 0H0.673874C0.269549 0 0 0.355555 0 0.888888V3.55555C0 4 0.269549 4.44444 0.673874 4.44444Z\" fill=\"#475467\"/>\r\n <path d=\"M2.27003 1.9131C2.27003 2.20178 2.09173 2.4358 1.87179 2.4358C1.65185 2.4358 1.47354 2.20178 1.47354 1.9131C1.47354 1.62443 1.65185 1.39041 1.87179 1.39041C2.09173 1.39041 2.27003 1.62443 2.27003 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M3.46448 1.9131C3.46448 2.20178 3.28618 2.4358 3.06623 2.4358C2.84629 2.4358 2.66799 2.20178 2.66799 1.9131C2.66799 1.62443 2.84629 1.39041 3.06623 1.39041C3.28618 1.39041 3.46448 1.62443 3.46448 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M4.66025 1.9131C4.66025 2.20178 4.48195 2.4358 4.262 2.4358C4.04206 2.4358 3.86376 2.20178 3.86376 1.9131C3.86376 1.62443 4.04206 1.39041 4.262 1.39041C4.48195 1.39041 4.66025 1.62443 4.66025 1.9131Z\" fill=\"#667085\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.61905 16V0H8.38095V16H7.61905Z\" fill=\"#667085\"/>\r\n <path d=\"M15.3227 0H10.582C10.1757 0 9.90476 0.300855 9.90476 0.752137V9.02564C9.90476 9.47692 10.1757 9.77778 10.582 9.77778H15.3227C15.7291 9.77778 16 9.47692 16 9.02564V0.752137C16 0.300855 15.7291 0 15.3227 0Z\" fill=\"#475467\"/>\r\n <path d=\"M9.93519 15.1111V12.4444C9.93519 11.9111 10.2047 11.5556 10.6091 11.5556H15.3261C15.7305 11.5556 16 11.9111 16 12.4444V15.1111C16 15.6444 15.7305 16 15.3261 16H10.6091C10.2047 16 9.93519 15.6444 9.93519 15.1111Z\" fill=\"#475467\"/>\r\n <path d=\"M12.0531 13.4336C12.0531 13.7223 11.8748 13.9563 11.6549 13.9563C11.4349 13.9563 11.2566 13.7223 11.2566 13.4336C11.2566 13.1449 11.4349 12.9109 11.6549 12.9109C11.8748 12.9109 12.0531 13.1449 12.0531 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M13.2475 13.4336C13.2475 13.7223 13.0692 13.9563 12.8493 13.9563C12.6294 13.9563 12.4511 13.7223 12.4511 13.4336C12.4511 13.1449 12.6294 12.9109 12.8493 12.9109C13.0692 12.9109 13.2475 13.1449 13.2475 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M14.4433 13.4336C14.4433 13.7223 14.265 13.9563 14.0451 13.9563C13.8251 13.9563 13.6468 13.7223 13.6468 13.4336C13.6468 13.1449 13.8251 12.9109 14.0451 12.9109C14.265 12.9109 14.4433 13.1449 14.4433 13.4336Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView && clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '11': this.headerFilters?.client === '11'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M9.84985 0.264419C9.5033 -0.0881395 8.97086 -0.0881395 8.62713 0.264419L2.76722 6.25478C2.5024 6.5231 2.40943 6.94117 2.52776 7.31557C4.9816 8.10493 6.91142 10.2546 7.60729 12.9815H12.8445C13.5912 12.9815 14.1968 12.3107 14.1968 11.4839V7.98637H15.0984C15.4702 7.98637 15.8027 7.73365 15.938 7.35301C16.0732 6.97238 15.983 6.53557 15.7098 6.25478L9.84985 0.264419ZM7.88619 6.48878C7.88619 6.21422 8.08904 5.98958 8.33696 5.98958H10.14C10.388 5.98958 10.5908 6.21422 10.5908 6.48878V8.48556C10.5908 8.76013 10.388 8.98476 10.14 8.98476H8.33696C8.08904 8.98476 7.88619 8.76013 7.88619 8.48556V6.48878Z\" fill=\"#667085\"/>\r\n <path d=\"M0 8.76165C0 8.34669 0.301447 8.01285 0.676143 8.01285C4.28506 8.01285 7.2122 11.2545 7.2122 15.2512C7.2122 15.6662 6.91075 16 6.53606 16C6.16136 16 5.85991 15.6662 5.85991 15.2512C5.85991 12.0813 3.53848 9.51044 0.676143 9.51044C0.301447 9.51044 0 9.1766 0 8.76165Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M1.539 15.7076C1.36993 15.8948 1.14062 16 0.901525 16C0.662426 16 0.43312 15.8948 0.264051 15.7076C0.0949818 15.5203 0 15.2664 0 15.0017C0 14.7368 0.0949818 14.4829 0.264051 14.2956C0.43312 14.1084 0.662426 14.0032 0.901525 14.0032C1.14062 14.0032 1.36993 14.1084 1.539 14.2956C1.70807 14.4829 1.80305 14.7368 1.80305 15.0017C1.80305 15.2664 1.70807 15.5203 1.539 15.7076Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M0.676143 12.5056C0.301447 12.5056 0 12.1717 0 11.7568C0 11.3418 0.301447 11.0081 0.676143 11.0081C2.79191 11.0081 4.50762 12.9081 4.50762 15.2512C4.50762 15.6662 4.20618 16 3.83148 16C3.45678 16 3.15534 15.6662 3.15534 15.2512C3.15534 13.7349 2.04533 12.5056 0.676143 12.5056Z\" fill=\"#D0D5DD\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" routerLink=\"/manage/controlcenter\">Control Center \r\n </span>\r\n \r\n </span>\r\n </div>\r\n \r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M14.3843 6.77809L13.3937 6.58122C13.1468 6.53122 12.8937 6.60935 12.7156 6.78747L12.2343 7.26872C11.8718 7.63122 11.2625 7.53122 11.0343 7.07498L10.7437 6.49685C10.5937 6.19685 10.2875 6.00622 9.94997 6.00622C9.47497 6.00622 9.13435 6.46248 9.27185 6.91873L9.45935 7.5406C9.6031 8.02185 9.24372 8.50623 8.7406 8.50623H8.66872C8.24998 8.50623 7.85935 8.71561 7.6281 9.06249L7.29373 9.56561C7.11873 9.83123 7.1281 10.1781 7.31873 10.4312L7.82185 11.1031C8.14373 11.5312 7.92498 12.15 7.4031 12.2812L6.87185 12.4156C6.63748 12.475 6.44686 12.6406 6.35623 12.8656L5.84373 14.1437C6.51873 14.3719 7.24373 14.5 7.99998 14.5C11.5906 14.5 14.5 11.5906 14.5 7.99998C14.5 7.58123 14.4593 7.17184 14.3843 6.77809ZM1.64375 6.63435C1.83124 6.63435 1.81249 6.68122 1.92499 6.60935L2.41874 6.47185C2.62812 6.41247 2.84999 6.49997 2.96562 6.68122L3.02812 6.77809C3.21562 7.07184 3.54061 7.24997 3.89061 7.24997C4.24061 7.24997 4.56561 7.07184 4.75311 6.77809L4.94374 6.48122C4.98749 6.41247 5.04998 6.3531 5.12186 6.3156L6.24998 5.68435C6.81561 5.36872 7.04685 4.67185 6.78123 4.08123L6.60935 3.69374C6.34061 3.09374 5.64998 2.80311 5.03124 3.03436L4.94999 3.06561C4.63749 3.18123 4.66874 3.08437 4.39999 2.88749L3.96874 2.90311C2.39999 3.68749 1.92187 4.98436 1.6 6.48748L1.64375 6.63435ZM16 7.99998C16 10.1217 15.1571 12.1566 13.6568 13.6568C12.1565 15.1571 10.1217 16 7.99998 16C5.87825 16 3.84343 15.1571 2.34314 13.6568C0.842852 12.1566 0 10.1217 0 7.99998C0 5.87825 0.842852 3.84342 2.34314 2.34314C3.84343 0.842851 5.87825 0 7.99998 0C10.1217 0 12.1565 0.842851 13.6568 2.34314C15.1571 3.84342 16 5.87825 16 7.99998ZM11.4843 5.12185C11.55 4.8531 11.3875 4.58123 11.1218 4.5156L10.1218 4.2656C9.8531 4.19998 9.58122 4.36248 9.5156 4.6281C9.44997 4.89373 9.61247 5.16872 9.8781 5.23435L10.8781 5.48435C11.1468 5.54997 11.4187 5.38747 11.4843 5.12185ZM8.60935 5.74685C8.67497 5.4781 8.51248 5.20622 8.24685 5.1406C7.98123 5.07498 7.70623 5.23747 7.6406 5.5031L7.3906 6.5031C7.32498 6.77184 7.48748 7.04373 7.7531 7.10935C8.01873 7.17497 8.29373 7.01247 8.35935 6.74685L8.60935 5.74685Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M2.45522 6.05254C2.59366 6.24051 2.35423 6.2781 2.22966 6.2781C2.10509 6.2781 2.0041 6.17711 2.0041 6.05254C2.0041 5.92797 2.10509 5.67661 2.22966 5.67661C2.35423 5.67661 2.45522 5.92797 2.45522 6.05254Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M4.20498 11.8559C4.62113 11.3337 5.57024 10.0682 5.57024 9.35736C5.57024 8.49526 4.87261 7.79579 4.01273 7.79579C3.15285 7.79579 2.45522 8.49526 2.45522 9.35736C2.45522 10.0682 3.40433 11.3337 3.82047 11.8559C3.92025 11.9803 4.10521 11.9803 4.20498 11.8559ZM4.01273 8.83684C4.15042 8.83684 4.28247 8.89168 4.37984 8.98929C4.4772 9.08691 4.5319 9.21931 4.5319 9.35736C4.5319 9.49541 4.4772 9.62781 4.37984 9.72542C4.28247 9.82304 4.15042 9.87788 4.01273 9.87788C3.87504 9.87788 3.74298 9.82304 3.64562 9.72542C3.54826 9.62781 3.49356 9.49541 3.49356 9.35736C3.49356 9.21931 3.54826 9.08691 3.64562 8.98929C3.74298 8.89168 3.87504 8.83684 4.01273 8.83684Z\"\r\n fill=\"#667085\" />\r\n <path\r\n d=\"M13.0419 10.2943C13.9436 9.11946 16 6.27207 16 4.6727C16 2.73295 14.4884 1.1592 12.6253 1.1592C10.7623 1.1592 9.25074 2.73295 9.25074 4.6727C9.25074 6.27207 11.3071 9.11946 12.2088 10.2943C12.425 10.5743 12.8257 10.5743 13.0419 10.2943ZM12.6253 3.50153C12.9237 3.50153 13.2098 3.62492 13.4207 3.84456C13.6317 4.06419 13.7502 4.36208 13.7502 4.6727C13.7502 4.98331 13.6317 5.2812 13.4207 5.50083C13.2098 5.72047 12.9237 5.84386 12.6253 5.84386C12.327 5.84386 12.0409 5.72047 11.8299 5.50083C11.619 5.2812 11.5005 4.98331 11.5005 4.6727C11.5005 4.36208 11.619 4.06419 11.8299 3.84456C12.0409 3.62492 12.327 3.50153 12.6253 3.50153Z\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n \r\n </div>\r\n \r\n</div>\r\n\r\n<div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage/traffic\">REPORTS\r\n </span>\r\n \r\n </span>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage\">MANAGE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_brands_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/brands.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_overview_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/overview.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_stores_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_tickets_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_audit_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/audit.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.settings_paymentSubscriptions_isView || (gs.userAccess | async)?.settings_activityLog_isView || (gs.userAccess | async)?.settings_brandDetails_isView || (gs.userAccess | async)?.settings_configuration_isView || (gs.userAccess | async)?.settings_contactDirectory_isView || (gs.userAccess | async)?.settings_documents_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/settings.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/billing.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/tickets\">MY WORKSPACE\r\n </span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/tickets/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div> -->\r\n\r\n\r\n\r\n\r\n\r\n <!-- Tango Traffic -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView && clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_traffic.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Traffic</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Zone -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_zone.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Zone</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Revop -->\r\n <!-- <div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_revop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Home\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Tagging\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Pending Action\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Customer Profile\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Control Center -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_controlCenter_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/control_center.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Control Center\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Live & Playback\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Screen Manager\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Store Explore\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Tango SOP -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoSop_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_sop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango SOP\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Dashboard\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Create & Manage\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Flag\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Incidents\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n", styles: [".menu-bullet-dot span{display:inline-block;width:6px;height:6px;background-color:#000;border-radius:50%;margin-right:10px;vertical-align:middle}:host::ng-deep .menu-sub .menu-sub-accordion{border-left:2px solid #98A2B3!important}::ng-deep .app-sidebar .menu .menu-item .menu-link.active .menu-title{color:#f5f5f5!important;border-radius:8px!important;border:1px solid var(--text-primary, #FFF)!important;padding:8px!important;color:var(--Primary-500, #33B5FF)!important;font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link .menu-title{font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link.active{transition:color .2s ease;background-color:#0d0e12!important}\n"] }]
8615
+ args: [{ selector: "lib-sidebar-menu", template: "<!--begin::Menu wrapper-->\r\n<div id=\"kt_app_sidebar_menu_scroll\" class=\"scroll-y my-5 ms-2 me-0\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\"\r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <!--begin::Menu-->\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"#kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <!-- Birds Eye -->\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard && (gs.userAccess | async)?.userType !== 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/birds_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Analytics</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Analyse -->\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_eye.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15 text-nowrap\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-title ms-8\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-title ms-8\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"clientData?.featureConfigs?.isNewZoneV2 && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-title ms-8\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"clientData?.featureConfigs?.isTrax || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/dashboard\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\">Tango Trax\r\n </span>\r\n </a>\r\n </div> \r\n<div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '430': this.headerFilters?.client === '430' || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/employee-metrics/aiManager\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n<g clip-path=\"url(#clip0_11702_17257)\">\r\n<path d=\"M3.33398 1.33398L3.46064 1.96065C3.55142 2.41065 3.75682 2.8296 4.05698 3.17695C4.35714 3.52429 4.74188 3.78826 5.17397 3.94332L5.33397 4.00065L5.17397 4.05798C4.74188 4.21304 4.35714 4.47701 4.05698 4.82435C3.75682 5.1717 3.55142 5.59065 3.46064 6.04065L3.33398 6.66732L3.20731 6.04065C3.11654 5.59065 2.91113 5.1717 2.61097 4.82435C2.31082 4.47701 1.92607 4.21304 1.49398 4.05798L1.33398 4.00065L1.49398 3.94332C1.92607 3.78826 2.31082 3.52429 2.61097 3.17695C2.91113 2.8296 3.11654 2.41065 3.20731 1.96065L3.33398 1.33398ZM5.33397 10.6673L5.48731 11.518C5.52712 11.7399 5.62255 11.9481 5.76467 12.1231C5.90679 12.2981 6.09096 12.4342 6.29997 12.5187L6.6673 12.6673L6.29997 12.816C6.09092 12.9003 5.90667 13.0363 5.76443 13.2112C5.6222 13.386 5.52662 13.5941 5.48664 13.816L5.33397 14.6673L5.18064 13.8167C5.14082 13.5948 5.0454 13.3866 4.90328 13.2116C4.76116 13.0366 4.57698 12.9005 4.36798 12.816L4.00064 12.6673L4.36798 12.5187C4.57702 12.4343 4.76128 12.2983 4.90351 12.1235C5.04575 11.9486 5.14132 11.7405 5.18131 11.5187L5.33397 10.6673ZM10.6673 2.00065L11.038 3.76998C11.2269 4.67204 11.6463 5.50975 12.2554 6.20143C12.8645 6.89311 13.6424 7.41515 14.5133 7.71665L15.3339 8.00065L14.5133 8.28465C13.6424 8.58615 12.8645 9.10819 12.2554 9.79987C11.6463 10.4916 11.2269 11.3293 11.038 12.2313L10.6673 14.0007L10.2966 12.2313C10.1077 11.3293 9.68827 10.4916 9.0792 9.79987C8.47013 9.10819 7.69221 8.58615 6.8213 8.28465L6.00064 8.00065L6.8213 7.71665C7.69221 7.41515 8.47013 6.89311 9.0792 6.20143C9.68827 5.50975 10.1077 4.67204 10.2966 3.76998L10.6673 2.00065Z\" stroke=\"#98A2B3\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_11702_17257\">\r\n<rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\">AI Manager\r\n </span>\r\n </a>\r\n </div> \r\n\r\n <div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '489': this.headerFilters?.client === '489' || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/employee-metrics/beeahGroup\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n<g clip-path=\"url(#clip0_13388_25837)\">\r\n<path d=\"M10.9974 1.66406H13.664C13.8408 1.66406 14.0104 1.7343 14.1354 1.85932C14.2605 1.98435 14.3307 2.15392 14.3307 2.33073V4.9974M14.3307 10.9974V13.6641C14.3307 13.8409 14.2605 14.0104 14.1354 14.1355C14.0104 14.2605 13.8408 14.3307 13.664 14.3307H10.9974M4.99739 14.3307H2.33073C2.15392 14.3307 1.98435 14.2605 1.85932 14.1355C1.7343 14.0104 1.66406 13.8409 1.66406 13.6641V10.9974M1.66406 4.9974V2.33073C1.66406 2.15392 1.7343 1.98435 1.85932 1.85932C1.98435 1.7343 2.15392 1.66406 2.33073 1.66406H4.99739\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n<path d=\"M7.99999 12.6615C10.209 12.6615 12 10.5721 12 7.99479C12 5.41746 10.209 3.32812 7.99999 3.32812C5.79099 3.32812 4 5.41746 4 7.99479C4 10.5721 5.79099 12.6615 7.99999 12.6615Z\" stroke=\"#667085\" stroke-width=\"2\"/>\r\n<path d=\"M2 8H14M6.68999 10.0353C7.11232 10.3477 7.54898 10.5037 7.99998 10.5037C8.45065 10.5037 8.89931 10.3477 9.34598 10.0353\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_13388_25837\">\r\n<rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\">AI Manager - Access Control\r\n </span>\r\n </a>\r\n </div> \r\n \r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/tango_trax.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-title ms-8\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div *ngIf=\"clientData?.featureConfigs?.isControlCenter && this.usersList?.userType !=='tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/controlcenter\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/ControlCenter.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3 text-nowrap\" >Control Center\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic/explore\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Explore.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Explore\r\n </span>\r\n </a>\r\n </div> \r\n <div *ngIf=\"clientData?.featureConfigs?.isNewDashboard && clientData?.featureConfigs?.isNewReports && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Reports\r\n </span>\r\n </a>\r\n </div> \r\n \r\n <!-- Manage -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType !== 'lead'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon \">\r\n <img class=\"fs-2 ms-15\" src=\"./assets/tango/sidemenu-icons/manage.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-15\">Manage\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n \r\n <span class=\"menu-title ms-8\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n \r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n \r\n <span class=\"menu-title ms-8\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n \r\n <span class=\"menu-title ms-8\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n \r\n <span class=\"menu-title ms-8\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n \r\n <span class=\"menu-title ms-8\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n \r\n <span class=\"menu-title ms-8\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n \r\n <span class=\"menu-title ms-8\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n \r\n <span class=\"menu-title ms-8\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n \r\n <span class=\"menu-title ms-8\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n \r\n <span class=\"menu-title ms-8\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/user-analysis\" >\r\n \r\n <span class=\"menu-title ms-8\">User Analysis\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n \r\n \r\n </div>\r\n\r\n <!-- Workspace -->\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/Workspace.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title ms-3\">Workspace\r\n </span>\r\n </a>\r\n </div>\r\n <!--end::Menu-->\r\n</div>\r\n</div>\r\n<!--end::Menu wrapper-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title \" data-link=\"/manage/traffic\">ANALYZE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n \r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M0.677249 15.8223H5.41799C6.09524 15.8223 6.09524 15.5214 6.09524 14.318V6.83461C6.09524 6.39794 5.79228 6.04449 5.41799 6.04449H0.677249C0.2709 6.04449 0 6.34534 0 6.79663V15.0701C0 15.5214 0.2709 15.8223 0.677249 15.8223Z\" fill=\"#475467\"/>\r\n <path d=\"M0.673874 4.44444H5.39099C5.79531 4.44444 6.06486 4.08889 6.06486 3.55555V0.888888C6.06486 0.355555 5.79531 0 5.39099 0H0.673874C0.269549 0 0 0.355555 0 0.888888V3.55555C0 4 0.269549 4.44444 0.673874 4.44444Z\" fill=\"#475467\"/>\r\n <path d=\"M2.27003 1.9131C2.27003 2.20178 2.09173 2.4358 1.87179 2.4358C1.65185 2.4358 1.47354 2.20178 1.47354 1.9131C1.47354 1.62443 1.65185 1.39041 1.87179 1.39041C2.09173 1.39041 2.27003 1.62443 2.27003 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M3.46448 1.9131C3.46448 2.20178 3.28618 2.4358 3.06623 2.4358C2.84629 2.4358 2.66799 2.20178 2.66799 1.9131C2.66799 1.62443 2.84629 1.39041 3.06623 1.39041C3.28618 1.39041 3.46448 1.62443 3.46448 1.9131Z\" fill=\"#667085\"/>\r\n <path d=\"M4.66025 1.9131C4.66025 2.20178 4.48195 2.4358 4.262 2.4358C4.04206 2.4358 3.86376 2.20178 3.86376 1.9131C3.86376 1.62443 4.04206 1.39041 4.262 1.39041C4.48195 1.39041 4.66025 1.62443 4.66025 1.9131Z\" fill=\"#667085\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.61905 16V0H8.38095V16H7.61905Z\" fill=\"#667085\"/>\r\n <path d=\"M15.3227 0H10.582C10.1757 0 9.90476 0.300855 9.90476 0.752137V9.02564C9.90476 9.47692 10.1757 9.77778 10.582 9.77778H15.3227C15.7291 9.77778 16 9.47692 16 9.02564V0.752137C16 0.300855 15.7291 0 15.3227 0Z\" fill=\"#475467\"/>\r\n <path d=\"M9.93519 15.1111V12.4444C9.93519 11.9111 10.2047 11.5556 10.6091 11.5556H15.3261C15.7305 11.5556 16 11.9111 16 12.4444V15.1111C16 15.6444 15.7305 16 15.3261 16H10.6091C10.2047 16 9.93519 15.6444 9.93519 15.1111Z\" fill=\"#475467\"/>\r\n <path d=\"M12.0531 13.4336C12.0531 13.7223 11.8748 13.9563 11.6549 13.9563C11.4349 13.9563 11.2566 13.7223 11.2566 13.4336C11.2566 13.1449 11.4349 12.9109 11.6549 12.9109C11.8748 12.9109 12.0531 13.1449 12.0531 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M13.2475 13.4336C13.2475 13.7223 13.0692 13.9563 12.8493 13.9563C12.6294 13.9563 12.4511 13.7223 12.4511 13.4336C12.4511 13.1449 12.6294 12.9109 12.8493 12.9109C13.0692 12.9109 13.2475 13.1449 13.2475 13.4336Z\" fill=\"#667085\"/>\r\n <path d=\"M14.4433 13.4336C14.4433 13.7223 14.265 13.9563 14.0451 13.9563C13.8251 13.9563 13.6468 13.7223 13.6468 13.4336C13.6468 13.1449 13.8251 12.9109 14.0451 12.9109C14.265 12.9109 14.4433 13.1449 14.4433 13.4336Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Eye\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion mx-2\" routerLinkActive=\"menu-active-bg\">\r\n <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/traffic\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Traffic\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\" *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView && clientData?.featureConfigs?.isNewZone && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v1\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zones\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/zones/v2\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Zone V2\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"this.usersList?.clientId ? this.usersList?.clientId === '11': this.headerFilters?.client === '11'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M9.84985 0.264419C9.5033 -0.0881395 8.97086 -0.0881395 8.62713 0.264419L2.76722 6.25478C2.5024 6.5231 2.40943 6.94117 2.52776 7.31557C4.9816 8.10493 6.91142 10.2546 7.60729 12.9815H12.8445C13.5912 12.9815 14.1968 12.3107 14.1968 11.4839V7.98637H15.0984C15.4702 7.98637 15.8027 7.73365 15.938 7.35301C16.0732 6.97238 15.983 6.53557 15.7098 6.25478L9.84985 0.264419ZM7.88619 6.48878C7.88619 6.21422 8.08904 5.98958 8.33696 5.98958H10.14C10.388 5.98958 10.5908 6.21422 10.5908 6.48878V8.48556C10.5908 8.76013 10.388 8.98476 10.14 8.98476H8.33696C8.08904 8.98476 7.88619 8.76013 7.88619 8.48556V6.48878Z\" fill=\"#667085\"/>\r\n <path d=\"M0 8.76165C0 8.34669 0.301447 8.01285 0.676143 8.01285C4.28506 8.01285 7.2122 11.2545 7.2122 15.2512C7.2122 15.6662 6.91075 16 6.53606 16C6.16136 16 5.85991 15.6662 5.85991 15.2512C5.85991 12.0813 3.53848 9.51044 0.676143 9.51044C0.301447 9.51044 0 9.1766 0 8.76165Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M1.539 15.7076C1.36993 15.8948 1.14062 16 0.901525 16C0.662426 16 0.43312 15.8948 0.264051 15.7076C0.0949818 15.5203 0 15.2664 0 15.0017C0 14.7368 0.0949818 14.4829 0.264051 14.2956C0.43312 14.1084 0.662426 14.0032 0.901525 14.0032C1.14062 14.0032 1.36993 14.1084 1.539 14.2956C1.70807 14.4829 1.80305 14.7368 1.80305 15.0017C1.80305 15.2664 1.70807 15.5203 1.539 15.7076Z\" fill=\"#D0D5DD\"/>\r\n <path d=\"M0.676143 12.5056C0.301447 12.5056 0 12.1717 0 11.7568C0 11.3418 0.301447 11.0081 0.676143 11.0081C2.79191 11.0081 4.50762 12.9081 4.50762 15.2512C4.50762 15.6662 4.20618 16 3.83148 16C3.45678 16 3.15534 15.6662 3.15534 15.2512C3.15534 13.7349 2.04533 12.5056 0.676143 12.5056Z\" fill=\"#D0D5DD\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" routerLink=\"/manage/controlcenter\">Control Center \r\n </span>\r\n \r\n </span>\r\n </div>\r\n \r\n <div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\"\r\n class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span class=\"menu-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M14.3843 6.77809L13.3937 6.58122C13.1468 6.53122 12.8937 6.60935 12.7156 6.78747L12.2343 7.26872C11.8718 7.63122 11.2625 7.53122 11.0343 7.07498L10.7437 6.49685C10.5937 6.19685 10.2875 6.00622 9.94997 6.00622C9.47497 6.00622 9.13435 6.46248 9.27185 6.91873L9.45935 7.5406C9.6031 8.02185 9.24372 8.50623 8.7406 8.50623H8.66872C8.24998 8.50623 7.85935 8.71561 7.6281 9.06249L7.29373 9.56561C7.11873 9.83123 7.1281 10.1781 7.31873 10.4312L7.82185 11.1031C8.14373 11.5312 7.92498 12.15 7.4031 12.2812L6.87185 12.4156C6.63748 12.475 6.44686 12.6406 6.35623 12.8656L5.84373 14.1437C6.51873 14.3719 7.24373 14.5 7.99998 14.5C11.5906 14.5 14.5 11.5906 14.5 7.99998C14.5 7.58123 14.4593 7.17184 14.3843 6.77809ZM1.64375 6.63435C1.83124 6.63435 1.81249 6.68122 1.92499 6.60935L2.41874 6.47185C2.62812 6.41247 2.84999 6.49997 2.96562 6.68122L3.02812 6.77809C3.21562 7.07184 3.54061 7.24997 3.89061 7.24997C4.24061 7.24997 4.56561 7.07184 4.75311 6.77809L4.94374 6.48122C4.98749 6.41247 5.04998 6.3531 5.12186 6.3156L6.24998 5.68435C6.81561 5.36872 7.04685 4.67185 6.78123 4.08123L6.60935 3.69374C6.34061 3.09374 5.64998 2.80311 5.03124 3.03436L4.94999 3.06561C4.63749 3.18123 4.66874 3.08437 4.39999 2.88749L3.96874 2.90311C2.39999 3.68749 1.92187 4.98436 1.6 6.48748L1.64375 6.63435ZM16 7.99998C16 10.1217 15.1571 12.1566 13.6568 13.6568C12.1565 15.1571 10.1217 16 7.99998 16C5.87825 16 3.84343 15.1571 2.34314 13.6568C0.842852 12.1566 0 10.1217 0 7.99998C0 5.87825 0.842852 3.84342 2.34314 2.34314C3.84343 0.842851 5.87825 0 7.99998 0C10.1217 0 12.1565 0.842851 13.6568 2.34314C15.1571 3.84342 16 5.87825 16 7.99998ZM11.4843 5.12185C11.55 4.8531 11.3875 4.58123 11.1218 4.5156L10.1218 4.2656C9.8531 4.19998 9.58122 4.36248 9.5156 4.6281C9.44997 4.89373 9.61247 5.16872 9.8781 5.23435L10.8781 5.48435C11.1468 5.54997 11.4187 5.38747 11.4843 5.12185ZM8.60935 5.74685C8.67497 5.4781 8.51248 5.20622 8.24685 5.1406C7.98123 5.07498 7.70623 5.23747 7.6406 5.5031L7.3906 6.5031C7.32498 6.77184 7.48748 7.04373 7.7531 7.10935C8.01873 7.17497 8.29373 7.01247 8.35935 6.74685L8.60935 5.74685Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M2.45522 6.05254C2.59366 6.24051 2.35423 6.2781 2.22966 6.2781C2.10509 6.2781 2.0041 6.17711 2.0041 6.05254C2.0041 5.92797 2.10509 5.67661 2.22966 5.67661C2.35423 5.67661 2.45522 5.92797 2.45522 6.05254Z\"\r\n fill=\"#475467\" />\r\n <path\r\n d=\"M4.20498 11.8559C4.62113 11.3337 5.57024 10.0682 5.57024 9.35736C5.57024 8.49526 4.87261 7.79579 4.01273 7.79579C3.15285 7.79579 2.45522 8.49526 2.45522 9.35736C2.45522 10.0682 3.40433 11.3337 3.82047 11.8559C3.92025 11.9803 4.10521 11.9803 4.20498 11.8559ZM4.01273 8.83684C4.15042 8.83684 4.28247 8.89168 4.37984 8.98929C4.4772 9.08691 4.5319 9.21931 4.5319 9.35736C4.5319 9.49541 4.4772 9.62781 4.37984 9.72542C4.28247 9.82304 4.15042 9.87788 4.01273 9.87788C3.87504 9.87788 3.74298 9.82304 3.64562 9.72542C3.54826 9.62781 3.49356 9.49541 3.49356 9.35736C3.49356 9.21931 3.54826 9.08691 3.64562 8.98929C3.74298 8.89168 3.87504 8.83684 4.01273 8.83684Z\"\r\n fill=\"#667085\" />\r\n <path\r\n d=\"M13.0419 10.2943C13.9436 9.11946 16 6.27207 16 4.6727C16 2.73295 14.4884 1.1592 12.6253 1.1592C10.7623 1.1592 9.25074 2.73295 9.25074 4.6727C9.25074 6.27207 11.3071 9.11946 12.2088 10.2943C12.425 10.5743 12.8257 10.5743 13.0419 10.2943ZM12.6253 3.50153C12.9237 3.50153 13.2098 3.62492 13.4207 3.84456C13.6317 4.06419 13.7502 4.36208 13.7502 4.6727C13.7502 4.98331 13.6317 5.2812 13.4207 5.50083C13.2098 5.72047 12.9237 5.84386 12.6253 5.84386C12.327 5.84386 12.0409 5.72047 11.8299 5.50083C11.619 5.2812 11.5005 4.98331 11.5005 4.6727C11.5005 4.36208 11.619 4.06419 11.8299 3.84456C12.0409 3.62492 12.327 3.50153 12.6253 3.50153Z\"\r\n fill=\"#667085\" />\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\" data-link=\"\">Tango Trax\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/trax/checklist\">\r\n <span class=\"menu-bullet\">\r\n </span>\r\n <span class=\"menu-title\">Checklist\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n \r\n </div>\r\n \r\n</div>\r\n\r\n<div *ngIf=\"!clientData?.featureConfigs?.isNewDashboard || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" routerLink=\"/manage/analyse/reports\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage/traffic\">REPORTS\r\n </span>\r\n \r\n </span>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || (gs.userAccess | async)?.userType === 'client'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/manage\">MANAGE\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_brands_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/brands\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/brands.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Brands\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_overview_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/summary\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/overview.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Summary\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_stores_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_tickets_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/tickets\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_reports_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/reports\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/reports.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/client\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_audit_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/audit\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/audit.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Audit\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.settings_paymentSubscriptions_isView || (gs.userAccess | async)?.settings_activityLog_isView || (gs.userAccess | async)?.settings_brandDetails_isView || (gs.userAccess | async)?.settings_configuration_isView || (gs.userAccess | async)?.settings_contactDirectory_isView || (gs.userAccess | async)?.settings_documents_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/settings\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/settings.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Settings\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.manage_users_isView && (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/users/tango\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/users.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Users\r\n </span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/manage/billing\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/billing.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Billing\r\n </span>\r\n </a>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here\">\r\n <span class=\"menu-link px-0\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\">\r\n <span style=\"width: 0px;\" class=\"menu-icon\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/tickets\">MY WORKSPACE\r\n </span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" routerLink=\"/tickets/stores\">\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/stores.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Stores\r\n </span>\r\n </a>\r\n </div>\r\n \r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\" >\r\n <span class=\"menu-bullet\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tickets.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tickets\r\n </span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div> -->\r\n\r\n\r\n\r\n\r\n\r\n <!-- Tango Traffic -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoTraffic_isView && clientData?.featureConfigs?.isNewTraffic && ((gs.userAccess | async)?.userType !== 'tango') || (gs.userAccess | async)?.userType === 'tango'\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_traffic.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Traffic</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Zone -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoZone_isView\" class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_zone.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\">Tango Zone</span>\r\n </a>\r\n </div> -->\r\n\r\n <!-- Tango Revop -->\r\n <!-- <div class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_revop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango Revop\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Home\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Tagging\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Pending Action\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Customer Profile\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Control Center -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_controlCenter_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/control_center.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Control Center\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Live & Playback\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Screen Manager\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Store Explore\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Tango SOP -->\r\n <!-- <div *ngIf=\"(gs.userAccess | async)?.analytics_tangoSop_isView\" class=\"menu-item menu-accordion\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link\">\r\n <span class=\"menu-icon\">\r\n <img class=\"fs-2\" src=\"./assets/tango/sidemenu-icons/tango_sop.svg\" alt=\"\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">Tango SOP\r\n </span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Dashboard\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Create & Manage\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Flag\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Reports\r\n </span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\" (click)=\"oldDashborad()\">\r\n <span class=\"menu-bullet\">\r\n <span class=\"bullet bullet-dot\"></span>\r\n </span>\r\n <span class=\"menu-title\">Incidents\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n", styles: [".menu-bullet-dot span{display:inline-block;width:6px;height:6px;background-color:#000;border-radius:50%;margin-right:10px;vertical-align:middle}:host::ng-deep .menu-sub .menu-sub-accordion{border-left:2px solid #98A2B3!important}::ng-deep .app-sidebar .menu .menu-item .menu-link.active .menu-title{color:#f5f5f5!important;border-radius:8px!important;border:1px solid var(--text-primary, #FFF)!important;padding:8px!important;color:var(--Primary-500, #33B5FF)!important;font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link .menu-title{font-size:12px!important;font-style:normal;font-weight:600;line-height:18px}::ng-deep .app-sidebar .menu .menu-item .menu-link.active{transition:color .2s ease;background-color:#0d0e12!important}\n"] }]
8490
8616
  }], ctorParameters: () => [{ type: AuthService }, { type: i1.GlobalStateService }, { type: i2.Router }] });
8491
8617
 
8492
8618
  class SidebarFooterComponent {
@@ -8558,9 +8684,7 @@ class SidebarFooterComponent {
8558
8684
  }
8559
8685
  logout() {
8560
8686
  this.auth.logout();
8561
- // .pipe(takeUntil(this.destroy$)).subscribe((res:any)=>{
8562
8687
  this.router.navigate(["/auth/login"]);
8563
- // })
8564
8688
  localStorage.clear();
8565
8689
  this.pageInfo.setTitle('login');
8566
8690
  }
@@ -10485,6 +10609,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
10485
10609
  args: [{ selector: 'lib-storesingle', template: "<div class=\"wrapper\" >\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</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}.wrapper{min-width:200px}.btn-primary{line-height:18px!important}\n"] }]
10486
10610
  }], ctorParameters: () => [{ type: AuthService }, { type: i1.GlobalStateService }, { type: i0.ChangeDetectorRef }, { type: i2.Router }] });
10487
10611
 
10612
+ class SingleClientstoreDateComponent {
10613
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SingleClientstoreDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10614
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SingleClientstoreDateComponent, selector: "lib-single-clientstore-date", ngImport: i0, template: "<p>single-clientstore-date works!</p>\r\n", styles: [""] });
10615
+ }
10616
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SingleClientstoreDateComponent, decorators: [{
10617
+ type: Component,
10618
+ args: [{ selector: 'lib-single-clientstore-date', template: "<p>single-clientstore-date works!</p>\r\n" }]
10619
+ }] });
10620
+
10488
10621
  const routes$1 = [
10489
10622
  {
10490
10623
  path: '',
@@ -10527,7 +10660,8 @@ class LayoutModule {
10527
10660
  StoresingleComponent,
10528
10661
  TraxWithoutdateComponent,
10529
10662
  TrafficNobComponent,
10530
- MetricsHeaderComponent], imports: [CommonModule, i2.RouterModule, TranslationModule,
10663
+ MetricsHeaderComponent,
10664
+ SingleClientstoreDateComponent], imports: [CommonModule, i2.RouterModule, TranslationModule,
10531
10665
  InlineSVGModule,
10532
10666
  NgbDropdownModule,
10533
10667
  NgbProgressbarModule,
@@ -10596,7 +10730,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
10596
10730
  StoresingleComponent,
10597
10731
  TraxWithoutdateComponent,
10598
10732
  TrafficNobComponent,
10599
- MetricsHeaderComponent
10733
+ MetricsHeaderComponent,
10734
+ SingleClientstoreDateComponent
10600
10735
  ],
10601
10736
  imports: [
10602
10737
  CommonModule,
@@ -10796,28 +10931,131 @@ class HttpAuthInterceptor {
10796
10931
  }
10797
10932
  });
10798
10933
  }
10934
+ // intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
10935
+ // const user: any = JSON.parse(localStorage.getItem(this.authlocalStorageToken) || '{}');
10936
+ // request = request.clone({
10937
+ // setHeaders: {
10938
+ // Authorization: 'Bearer ' + user.authenticationToken
10939
+ // }
10940
+ // });
10941
+ // return next.handle(request)
10942
+ // .pipe(tap((response:any)=>{
10943
+ // if(response?.body?.data?.result === 'RESTRICTED-IP'){
10944
+ // this.router.navigateByUrl('/error/403-ip')
10945
+ // }
10946
+ // }))
10947
+ // .pipe(
10948
+ // catchError((error:any)=>{
10949
+ // if (error instanceof HttpErrorResponse && error.status === 401) {
10950
+ // // If the error is due to unauthorized access, try to refresh the token
10951
+ // return this.handle401Error(request, next);
10952
+ // }
10953
+ // // else if (error instanceof HttpErrorResponse && error.status === 403) {
10954
+ // // // If the error is due to unauthorized access, try to refresh the token
10955
+ // // this.router.navigate(['/manage/brands'])
10956
+ // // }
10957
+ // return throwError(error);
10958
+ // })
10959
+ // );
10960
+ // }
10961
+ // private handle401Error(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
10962
+ // if (!this.isRefreshingToken) {
10963
+ // this.isRefreshingToken = true;
10964
+ // return this.authService.refreshToken().pipe(
10965
+ // switchMap((res: any) => {
10966
+ // if (res && res.code == 200 && res.data.result) {
10967
+ // // Update local storage with the new token
10968
+ // localStorage.setItem(this.authlocalStorageToken, JSON.stringify(res.data.result));
10969
+ // // Clone the request with the new token
10970
+ // request = request.clone({
10971
+ // setHeaders: {
10972
+ // Authorization: `Bearer ${res.data.result.authenticationToken}`
10973
+ // }
10974
+ // });
10975
+ // // Reset the flag for token refreshing
10976
+ // this.isRefreshingToken = false;
10977
+ // // Retry the original request with the new token
10978
+ // return next.handle(request);
10979
+ // } else {
10980
+ // // Logout user if refresh token fails
10981
+ // this.authService.logout();
10982
+ // const keysToKeep = ['data-mismatch-draft'];
10983
+ // const valuesToKeep:any = {};
10984
+ // keysToKeep.forEach(key => {
10985
+ // const value = localStorage.getItem(key);
10986
+ // if (value !== null) {
10987
+ // valuesToKeep[key] = value;
10988
+ // }
10989
+ // });
10990
+ // localStorage.clear();
10991
+ // Object.keys(valuesToKeep).forEach(key => {
10992
+ // localStorage.setItem(key, valuesToKeep[key]);
10993
+ // });
10994
+ // this.router.navigate(['/auth/login']);
10995
+ // return throwError('Token Expired Please Login Again!');
10996
+ // }
10997
+ // }),
10998
+ // catchError((error) => {
10999
+ // // Logout user if refresh token fails
11000
+ // this.authService.logout();
11001
+ // const keysToKeep = ['data-mismatch-draft'];
11002
+ // const valuesToKeep:any = {};
11003
+ // keysToKeep.forEach(key => {
11004
+ // const value = localStorage.getItem(key);
11005
+ // if (value !== null) {
11006
+ // valuesToKeep[key] = value;
11007
+ // }
11008
+ // });
11009
+ // localStorage.clear();
11010
+ // Object.keys(valuesToKeep).forEach(key => {
11011
+ // localStorage.setItem(key, valuesToKeep[key]);
11012
+ // });
11013
+ // this.router.navigate(['/auth/login']);
11014
+ // return throwError(error);
11015
+ // })
11016
+ // );
11017
+ // } else {
11018
+ // // If already refreshing the token, queue the request and wait
11019
+ // return this.tokenRefreshed.pipe(
11020
+ // switchMap(() => {
11021
+ // const tokens: any = JSON.parse(localStorage.getItem(this.authlocalStorageToken) || '{}');
11022
+ // request = request.clone({
11023
+ // setHeaders: {
11024
+ // Authorization: 'Bearer ' + tokens.authenticationToken
11025
+ // }
11026
+ // });
11027
+ // return next.handle(request);
11028
+ // })
11029
+ // );
11030
+ // }
11031
+ // }
10799
11032
  intercept(request, next) {
10800
- const user = JSON.parse(localStorage.getItem(this.authlocalStorageToken) || '{}');
10801
- request = request.clone({
10802
- setHeaders: {
10803
- Authorization: 'Bearer ' + user.authenticationToken
11033
+ const tokenObjStr = this.authService.getCookie(this.authlocalStorageToken);
11034
+ let token = '';
11035
+ if (tokenObjStr) {
11036
+ try {
11037
+ const tokenObj = JSON.parse(tokenObjStr);
11038
+ token = tokenObj?.authenticationToken || '';
10804
11039
  }
10805
- });
10806
- return next.handle(request)
10807
- .pipe(tap((response) => {
11040
+ catch (e) {
11041
+ console.error('Invalid auth token format in cookie', e);
11042
+ }
11043
+ }
11044
+ if (token) {
11045
+ request = request.clone({
11046
+ setHeaders: {
11047
+ Authorization: 'Bearer ' + token,
11048
+ },
11049
+ });
11050
+ }
11051
+ return next.handle(request).pipe(tap((response) => {
10808
11052
  if (response?.body?.data?.result === 'RESTRICTED-IP') {
10809
11053
  this.router.navigateByUrl('/error/403-ip');
10810
11054
  }
10811
- }))
10812
- .pipe(catchError((error) => {
11055
+ }), catchError((error) => {
10813
11056
  if (error instanceof HttpErrorResponse && error.status === 401) {
10814
- // If the error is due to unauthorized access, try to refresh the token
10815
11057
  return this.handle401Error(request, next);
10816
11058
  }
10817
- // else if (error instanceof HttpErrorResponse && error.status === 403) {
10818
- // // If the error is due to unauthorized access, try to refresh the token
10819
- // this.router.navigate(['/manage/brands'])
10820
- // }
10821
11059
  return throwError(error);
10822
11060
  }));
10823
11061
  }
@@ -10825,70 +11063,44 @@ class HttpAuthInterceptor {
10825
11063
  if (!this.isRefreshingToken) {
10826
11064
  this.isRefreshingToken = true;
10827
11065
  return this.authService.refreshToken().pipe(switchMap((res) => {
10828
- if (res && res.code == 200 && res.data.result) {
10829
- // Update local storage with the new token
10830
- localStorage.setItem(this.authlocalStorageToken, JSON.stringify(res.data.result));
10831
- // Clone the request with the new token
11066
+ if (res && res.code === 200 && res.data?.result) {
11067
+ this.authService.setCookie(this.authlocalStorageToken, JSON.stringify(res.data.result), 1);
11068
+ const newToken = res.data.result.authenticationToken;
10832
11069
  request = request.clone({
10833
11070
  setHeaders: {
10834
- Authorization: `Bearer ${res.data.result.authenticationToken}`
10835
- }
11071
+ Authorization: 'Bearer ' + newToken,
11072
+ },
10836
11073
  });
10837
- // Reset the flag for token refreshing
10838
11074
  this.isRefreshingToken = false;
10839
- // Retry the original request with the new token
10840
11075
  return next.handle(request);
10841
11076
  }
10842
11077
  else {
10843
- // Logout user if refresh token fails
10844
- this.authService.logout();
10845
- const keysToKeep = ['data-mismatch-draft'];
10846
- const valuesToKeep = {};
10847
- keysToKeep.forEach(key => {
10848
- const value = localStorage.getItem(key);
10849
- if (value !== null) {
10850
- valuesToKeep[key] = value;
10851
- }
10852
- });
10853
- localStorage.clear();
10854
- Object.keys(valuesToKeep).forEach(key => {
10855
- localStorage.setItem(key, valuesToKeep[key]);
10856
- });
10857
- this.router.navigate(['/auth/login']);
10858
- return throwError('Token Expired Please Login Again!');
10859
- }
10860
- }), catchError((error) => {
10861
- // Logout user if refresh token fails
10862
- this.authService.logout();
10863
- const keysToKeep = ['data-mismatch-draft'];
10864
- const valuesToKeep = {};
10865
- keysToKeep.forEach(key => {
10866
- const value = localStorage.getItem(key);
10867
- if (value !== null) {
10868
- valuesToKeep[key] = value;
10869
- }
10870
- });
10871
- localStorage.clear();
10872
- Object.keys(valuesToKeep).forEach(key => {
10873
- localStorage.setItem(key, valuesToKeep[key]);
10874
- });
10875
- this.router.navigate(['/auth/login']);
10876
- return throwError(error);
10877
- }));
11078
+ return this.forceLogout('Token Expired. Please login again.');
11079
+ }
11080
+ }), catchError((err) => this.forceLogout(err)));
10878
11081
  }
10879
11082
  else {
10880
- // If already refreshing the token, queue the request and wait
10881
- return this.tokenRefreshed.pipe(switchMap(() => {
10882
- const tokens = JSON.parse(localStorage.getItem(this.authlocalStorageToken) || '{}');
10883
- request = request.clone({
10884
- setHeaders: {
10885
- Authorization: 'Bearer ' + tokens.authenticationToken
10886
- }
10887
- });
10888
- return next.handle(request);
10889
- }));
11083
+ // Optional: implement logic to queue and retry if multiple requests during refresh
11084
+ return throwError('Token refresh already in progress');
10890
11085
  }
10891
11086
  }
11087
+ forceLogout(message) {
11088
+ this.authService.logout();
11089
+ const keysToKeep = ['data-mismatch-draft'];
11090
+ const valuesToKeep = {};
11091
+ keysToKeep.forEach((key) => {
11092
+ const val = localStorage.getItem(key);
11093
+ if (val)
11094
+ valuesToKeep[key] = val;
11095
+ });
11096
+ localStorage.clear();
11097
+ // Object.entries(valuesToKeep).forEach(([k, v]) => {
11098
+ // return localStorage.setItem(k, v);
11099
+ // });
11100
+ this.authService.deleteCookie(this.authlocalStorageToken);
11101
+ this.router.navigate(['/auth/login']);
11102
+ return throwError(() => message);
11103
+ }
10892
11104
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpAuthInterceptor, deps: [{ token: i1.GlobalStateService }, { token: AuthService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
10893
11105
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpAuthInterceptor });
10894
11106
  }