tango-app-ui-shared 3.7.3-dev6-demo6 → 3.7.3-dev6-demo7

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.
Files changed (402) hide show
  1. package/.eslintrc.json +37 -0
  2. package/ng-package.json +7 -0
  3. package/package.json +12 -25
  4. package/src/lib/guards/auth.guard.ts +20 -0
  5. package/src/lib/guards/lead.guard.ts +16 -0
  6. package/src/lib/guards/stores.guard.ts +16 -0
  7. package/src/lib/guards/tickets.guard.ts +16 -0
  8. package/{lib/i18n/index.d.ts → src/lib/i18n/index.ts} +2 -2
  9. package/src/lib/i18n/translation.module.ts +9 -0
  10. package/src/lib/i18n/translation.service.ts +61 -0
  11. package/src/lib/i18n/vocabs/ch.ts +105 -0
  12. package/src/lib/i18n/vocabs/de.ts +105 -0
  13. package/src/lib/i18n/vocabs/en.ts +105 -0
  14. package/src/lib/i18n/vocabs/es.ts +105 -0
  15. package/src/lib/i18n/vocabs/fr.ts +105 -0
  16. package/src/lib/i18n/vocabs/jp.ts +105 -0
  17. package/src/lib/interceptors/http-auth-interceptor.ts +225 -0
  18. package/src/lib/interfaces/global-state.ts +6 -0
  19. package/src/lib/modules/common/common-shared.module.ts +20 -0
  20. package/src/lib/modules/common/custom-select/custom-select.component.html +42 -0
  21. package/src/lib/modules/common/custom-select/custom-select.component.scss +131 -0
  22. package/src/lib/modules/common/custom-select/custom-select.component.spec.ts +23 -0
  23. package/src/lib/modules/common/custom-select/custom-select.component.ts +149 -0
  24. package/src/lib/modules/common/filters/filters.component.html +76 -0
  25. package/src/lib/modules/common/filters/filters.component.scss +131 -0
  26. package/src/lib/modules/common/filters/filters.component.spec.ts +23 -0
  27. package/src/lib/modules/common/filters/filters.component.ts +181 -0
  28. package/src/lib/modules/common/pagination/pagination.component.html +26 -0
  29. package/src/lib/modules/common/pagination/pagination.component.scss +63 -0
  30. package/src/lib/modules/common/pagination/pagination.component.spec.ts +23 -0
  31. package/src/lib/modules/common/pagination/pagination.component.ts +46 -0
  32. package/src/lib/modules/errors/error403/error403.component.html +25 -0
  33. package/src/lib/modules/errors/error403/error403.component.scss +0 -0
  34. package/src/lib/modules/errors/error403/error403.component.spec.ts +23 -0
  35. package/src/lib/modules/errors/error403/error403.component.ts +28 -0
  36. package/src/lib/modules/errors/error404/error404.component.html +24 -0
  37. package/src/lib/modules/errors/error404/error404.component.scss +0 -0
  38. package/src/lib/modules/errors/error404/error404.component.spec.ts +25 -0
  39. package/src/lib/modules/errors/error404/error404.component.ts +50 -0
  40. package/src/lib/modules/errors/error500/error500.component.html +24 -0
  41. package/src/lib/modules/errors/error500/error500.component.scss +0 -0
  42. package/src/lib/modules/errors/error500/error500.component.spec.ts +25 -0
  43. package/src/lib/modules/errors/error500/error500.component.ts +50 -0
  44. package/src/lib/modules/errors/errors-routing.module.ts +40 -0
  45. package/src/lib/modules/errors/errors.component.html +15 -0
  46. package/src/lib/modules/errors/errors.component.scss +4 -0
  47. package/src/lib/modules/errors/errors.component.spec.ts +25 -0
  48. package/src/lib/modules/errors/errors.component.ts +42 -0
  49. package/src/lib/modules/errors/errors.module.ts +25 -0
  50. package/src/lib/modules/errors/invalid-ip/invalid-ip.component.html +16 -0
  51. package/src/lib/modules/errors/invalid-ip/invalid-ip.component.scss +0 -0
  52. package/src/lib/modules/errors/invalid-ip/invalid-ip.component.spec.ts +23 -0
  53. package/src/lib/modules/errors/invalid-ip/invalid-ip.component.ts +43 -0
  54. package/src/lib/modules/intro/contact-support/contact-support.component.html +30 -0
  55. package/src/lib/modules/intro/contact-support/contact-support.component.scss +60 -0
  56. package/src/lib/modules/intro/contact-support/contact-support.component.spec.ts +23 -0
  57. package/src/lib/modules/intro/contact-support/contact-support.component.ts +17 -0
  58. package/src/lib/modules/intro/intro-routing.module.ts +16 -0
  59. package/src/lib/modules/intro/intro.module.ts +21 -0
  60. package/src/lib/modules/intro/lead-intro/lead-intro.component.html +325 -0
  61. package/src/lib/modules/intro/lead-intro/lead-intro.component.scss +185 -0
  62. package/src/lib/modules/intro/lead-intro/lead-intro.component.spec.ts +23 -0
  63. package/src/lib/modules/intro/lead-intro/lead-intro.component.ts +120 -0
  64. package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.html +44 -0
  65. package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.scss +28 -0
  66. package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.spec.ts +23 -0
  67. package/src/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.ts +24 -0
  68. package/src/lib/modules/layout/content/content.component.html +12 -0
  69. package/src/lib/modules/layout/content/content.component.scss +0 -0
  70. package/src/lib/modules/layout/content/content.component.ts +102 -0
  71. package/src/lib/modules/layout/footer/footer.component.html +29 -0
  72. package/src/lib/modules/layout/footer/footer.component.scss +7 -0
  73. package/src/lib/modules/layout/footer/footer.component.spec.ts +25 -0
  74. package/src/lib/modules/layout/footer/footer.component.ts +13 -0
  75. package/src/lib/modules/layout/header/header-menu/header-menu.component.html +27 -0
  76. package/src/lib/modules/layout/header/header-menu/header-menu.component.scss +4 -0
  77. package/src/lib/modules/layout/header/header-menu/header-menu.component.spec.ts +25 -0
  78. package/src/lib/modules/layout/header/header-menu/header-menu.component.ts +38 -0
  79. package/src/lib/modules/layout/header/header.component.html +90 -0
  80. package/src/lib/modules/layout/header/header.component.scss +7 -0
  81. package/src/lib/modules/layout/header/header.component.spec.ts +25 -0
  82. package/src/lib/modules/layout/header/header.component.ts +139 -0
  83. package/src/lib/modules/layout/header/navbar/navbar.component.html +156 -0
  84. package/src/lib/modules/layout/header/navbar/navbar.component.scss +223 -0
  85. package/src/lib/modules/layout/header/navbar/navbar.component.spec.ts +23 -0
  86. package/src/lib/modules/layout/header/navbar/navbar.component.ts +255 -0
  87. package/src/lib/modules/layout/header/notifications-inner/notifications-inner.component.html +200 -0
  88. package/src/lib/modules/layout/header/notifications-inner/notifications-inner.component.scss +139 -0
  89. package/src/lib/modules/layout/header/notifications-inner/notifications-inner.component.ts +76 -0
  90. package/src/lib/modules/layout/header/page-title/page-title.component.html +32 -0
  91. package/src/lib/modules/layout/header/page-title/page-title.component.scss +11 -0
  92. package/src/lib/modules/layout/header/page-title/page-title.component.ts +47 -0
  93. package/src/lib/modules/layout/keenicon/icons.json +1 -0
  94. package/src/lib/modules/layout/keenicon/keenicon.component.html +4 -0
  95. package/src/lib/modules/layout/keenicon/keenicon.component.scss +0 -0
  96. package/src/lib/modules/layout/keenicon/keenicon.component.spec.ts +23 -0
  97. package/src/lib/modules/layout/keenicon/keenicon.component.ts +30 -0
  98. package/src/lib/modules/layout/layout/layout.component.html +71 -0
  99. package/src/lib/modules/layout/layout/layout.component.scss +23 -0
  100. package/src/lib/modules/layout/layout/layout.component.ts +425 -0
  101. package/src/lib/modules/layout/layout.module.ts +129 -0
  102. package/src/lib/modules/layout/scripts-init/scripts-init.component.html +0 -0
  103. package/src/lib/modules/layout/scripts-init/scripts-init.component.ts +81 -0
  104. package/src/lib/modules/layout/scroll-top/scroll-top.component.html +1 -0
  105. package/src/lib/modules/layout/scroll-top/scroll-top.component.ts +75 -0
  106. package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.html +70 -0
  107. package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.scss +57 -0
  108. package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.spec.ts +23 -0
  109. package/src/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.ts +136 -0
  110. package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.html +26 -0
  111. package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.scss +0 -0
  112. package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.spec.ts +23 -0
  113. package/src/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.ts +36 -0
  114. package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.html +761 -0
  115. package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.scss +38 -0
  116. package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.spec.ts +23 -0
  117. package/src/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.ts +130 -0
  118. package/src/lib/modules/layout/sidebar/sidebar.component.html +16 -0
  119. package/src/lib/modules/layout/sidebar/sidebar.component.scss +3 -0
  120. package/src/lib/modules/layout/sidebar/sidebar.component.spec.ts +23 -0
  121. package/src/lib/modules/layout/sidebar/sidebar.component.ts +203 -0
  122. package/src/lib/modules/layout/toolbar/accounting/accounting.component.html +84 -0
  123. package/src/lib/modules/layout/toolbar/accounting/accounting.component.scss +0 -0
  124. package/src/lib/modules/layout/toolbar/accounting/accounting.component.spec.ts +23 -0
  125. package/src/lib/modules/layout/toolbar/accounting/accounting.component.ts +14 -0
  126. package/src/lib/modules/layout/toolbar/classic/classic.component.html +69 -0
  127. package/src/lib/modules/layout/toolbar/classic/classic.component.scss +238 -0
  128. package/src/lib/modules/layout/toolbar/classic/classic.component.spec.ts +23 -0
  129. package/src/lib/modules/layout/toolbar/classic/classic.component.ts +389 -0
  130. package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.html +4 -0
  131. package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.scss +3 -0
  132. package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.spec.ts +23 -0
  133. package/src/lib/modules/layout/toolbar/client-settings/client-settings.component.ts +91 -0
  134. package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.html +22 -0
  135. package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.scss +156 -0
  136. package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.spec.ts +23 -0
  137. package/src/lib/modules/layout/toolbar/date-single-select/date-single-select.component.ts +238 -0
  138. package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.html +14 -0
  139. package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.scss +149 -0
  140. package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.spec.ts +23 -0
  141. package/src/lib/modules/layout/toolbar/datepicker/datepicker.component.ts +183 -0
  142. package/src/lib/modules/layout/toolbar/extended/extended.component.html +100 -0
  143. package/src/lib/modules/layout/toolbar/extended/extended.component.scss +0 -0
  144. package/src/lib/modules/layout/toolbar/extended/extended.component.spec.ts +23 -0
  145. package/src/lib/modules/layout/toolbar/extended/extended.component.ts +12 -0
  146. package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.html +311 -0
  147. package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.scss +311 -0
  148. package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.spec.ts +23 -0
  149. package/src/lib/modules/layout/toolbar/metrics-header/metrics-header.component.ts +1555 -0
  150. package/src/lib/modules/layout/toolbar/reports/reports.component.html +62 -0
  151. package/src/lib/modules/layout/toolbar/reports/reports.component.scss +0 -0
  152. package/src/lib/modules/layout/toolbar/reports/reports.component.spec.ts +23 -0
  153. package/src/lib/modules/layout/toolbar/reports/reports.component.ts +14 -0
  154. package/src/lib/modules/layout/toolbar/saas/saas.component.html +77 -0
  155. package/src/lib/modules/layout/toolbar/saas/saas.component.scss +0 -0
  156. package/src/lib/modules/layout/toolbar/saas/saas.component.spec.ts +23 -0
  157. package/src/lib/modules/layout/toolbar/saas/saas.component.ts +14 -0
  158. package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.html +26 -0
  159. package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.scss +176 -0
  160. package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.spec.ts +23 -0
  161. package/src/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.ts +235 -0
  162. package/src/lib/modules/layout/toolbar/single-store/single-store.component.html +39 -0
  163. package/src/lib/modules/layout/toolbar/single-store/single-store.component.scss +176 -0
  164. package/src/lib/modules/layout/toolbar/single-store/single-store.component.spec.ts +23 -0
  165. package/src/lib/modules/layout/toolbar/single-store/single-store.component.ts +188 -0
  166. package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.html +17 -0
  167. package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.scss +172 -0
  168. package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.spec.ts +23 -0
  169. package/src/lib/modules/layout/toolbar/single-storedate/single-storedate.component.ts +179 -0
  170. package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.html +4 -0
  171. package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.scss +19 -0
  172. package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.spec.ts +23 -0
  173. package/src/lib/modules/layout/toolbar/storesingle/storesingle.component.ts +105 -0
  174. package/src/lib/modules/layout/toolbar/toolbar.component.html +64 -0
  175. package/src/lib/modules/layout/toolbar/toolbar.component.scss +0 -0
  176. package/src/lib/modules/layout/toolbar/toolbar.component.spec.ts +25 -0
  177. package/src/lib/modules/layout/toolbar/toolbar.component.ts +400 -0
  178. package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.html +259 -0
  179. package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.scss +305 -0
  180. package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.spec.ts +23 -0
  181. package/src/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.ts +1202 -0
  182. package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.html +199 -0
  183. package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.scss +311 -0
  184. package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.spec.ts +23 -0
  185. package/src/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.ts +899 -0
  186. package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.html +204 -0
  187. package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.scss +311 -0
  188. package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.spec.ts +23 -0
  189. package/src/lib/modules/layout/toolbar/trax-header/trax-header.component.ts +1045 -0
  190. package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.html +190 -0
  191. package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.scss +311 -0
  192. package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.spec.ts +23 -0
  193. package/src/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.ts +825 -0
  194. package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.html +259 -0
  195. package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.scss +305 -0
  196. package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.spec.ts +23 -0
  197. package/src/lib/modules/layout/toolbar/zone-header/zone-header.component.ts +1242 -0
  198. package/src/lib/modules/notification/conformation/conformation.component.html +25 -0
  199. package/src/lib/modules/notification/conformation/conformation.component.scss +0 -0
  200. package/src/lib/modules/notification/conformation/conformation.component.spec.ts +23 -0
  201. package/src/lib/modules/notification/conformation/conformation.component.ts +23 -0
  202. package/src/lib/modules/notification/notification/notification.component.html +209 -0
  203. package/src/lib/modules/notification/notification/notification.component.scss +211 -0
  204. package/src/lib/modules/notification/notification/notification.component.spec.ts +23 -0
  205. package/src/lib/modules/notification/notification/notification.component.ts +310 -0
  206. package/src/lib/modules/notification/notification-routing.module.ts +20 -0
  207. package/src/lib/modules/notification/notification.module.ts +21 -0
  208. package/src/lib/pipes/customDate.pipe.ts +18 -0
  209. package/src/lib/routes/route-wraper-modules/analyse-wrapper.module.ts +12 -0
  210. package/src/lib/routes/route-wraper-modules/edge-wrapper.module.ts +11 -0
  211. package/src/lib/routes/route-wraper-modules/manage-wrapper.module.ts +11 -0
  212. package/src/lib/routes/route-wraper-modules/profile-wrapper.module.ts +12 -0
  213. package/src/lib/routes/route-wraper-modules/store-wrapper.module.ts +11 -0
  214. package/src/lib/routes/route-wraper-modules/ticket-wrapper.module.ts +10 -0
  215. package/src/lib/routes/routing.ts +56 -0
  216. package/src/lib/services/auth.service.ts +178 -0
  217. package/src/lib/services/notification.service.spec.ts +16 -0
  218. package/src/lib/services/notification.service.ts +73 -0
  219. package/src/lib/services/toast.service.ts +82 -0
  220. package/{public-api.d.ts → src/public-api.ts} +71 -44
  221. package/tsconfig.lib.json +14 -0
  222. package/tsconfig.lib.prod.json +10 -0
  223. package/tsconfig.spec.json +14 -0
  224. package/esm2022/lib/guards/auth.guard.mjs +0 -26
  225. package/esm2022/lib/guards/lead.guard.mjs +0 -16
  226. package/esm2022/lib/guards/stores.guard.mjs +0 -16
  227. package/esm2022/lib/guards/tickets.guard.mjs +0 -16
  228. package/esm2022/lib/i18n/index.mjs +0 -3
  229. package/esm2022/lib/i18n/translation.module.mjs +0 -17
  230. package/esm2022/lib/i18n/translation.service.mjs +0 -53
  231. package/esm2022/lib/i18n/vocabs/ch.mjs +0 -106
  232. package/esm2022/lib/i18n/vocabs/de.mjs +0 -106
  233. package/esm2022/lib/i18n/vocabs/en.mjs +0 -106
  234. package/esm2022/lib/i18n/vocabs/es.mjs +0 -106
  235. package/esm2022/lib/i18n/vocabs/fr.mjs +0 -106
  236. package/esm2022/lib/i18n/vocabs/jp.mjs +0 -106
  237. package/esm2022/lib/interceptors/http-auth-interceptor.mjs +0 -124
  238. package/esm2022/lib/interfaces/global-state.mjs +0 -2
  239. package/esm2022/lib/modules/common/common-shared.module.mjs +0 -31
  240. package/esm2022/lib/modules/common/custom-select/custom-select.component.mjs +0 -155
  241. package/esm2022/lib/modules/common/filters/filters.component.mjs +0 -179
  242. package/esm2022/lib/modules/common/pagination/pagination.component.mjs +0 -49
  243. package/esm2022/lib/modules/errors/error403/error403.component.mjs +0 -33
  244. package/esm2022/lib/modules/errors/error404/error404.component.mjs +0 -44
  245. package/esm2022/lib/modules/errors/error500/error500.component.mjs +0 -45
  246. package/esm2022/lib/modules/errors/errors-routing.module.mjs +0 -48
  247. package/esm2022/lib/modules/errors/errors.component.mjs +0 -39
  248. package/esm2022/lib/modules/errors/errors.module.mjs +0 -37
  249. package/esm2022/lib/modules/errors/invalid-ip/invalid-ip.component.mjs +0 -44
  250. package/esm2022/lib/modules/intro/contact-support/contact-support.component.mjs +0 -19
  251. package/esm2022/lib/modules/intro/intro-routing.module.mjs +0 -24
  252. package/esm2022/lib/modules/intro/intro.module.mjs +0 -32
  253. package/esm2022/lib/modules/intro/lead-intro/lead-intro.component.mjs +0 -110
  254. package/esm2022/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.mjs +0 -31
  255. package/esm2022/lib/modules/layout/content/content.component.mjs +0 -107
  256. package/esm2022/lib/modules/layout/footer/footer.component.mjs +0 -17
  257. package/esm2022/lib/modules/layout/header/header-menu/header-menu.component.mjs +0 -41
  258. package/esm2022/lib/modules/layout/header/header.component.mjs +0 -100
  259. package/esm2022/lib/modules/layout/header/navbar/navbar.component.mjs +0 -256
  260. package/esm2022/lib/modules/layout/header/notifications-inner/notifications-inner.component.mjs +0 -79
  261. package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +0 -56
  262. package/esm2022/lib/modules/layout/keenicon/icons.json +0 -1
  263. package/esm2022/lib/modules/layout/keenicon/keenicon.component.mjs +0 -37
  264. package/esm2022/lib/modules/layout/layout/layout.component.mjs +0 -314
  265. package/esm2022/lib/modules/layout/layout.module.mjs +0 -198
  266. package/esm2022/lib/modules/layout/scripts-init/scripts-init.component.mjs +0 -74
  267. package/esm2022/lib/modules/layout/scroll-top/scroll-top.component.mjs +0 -74
  268. package/esm2022/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.mjs +0 -159
  269. package/esm2022/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.mjs +0 -45
  270. package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +0 -122
  271. package/esm2022/lib/modules/layout/sidebar/sidebar.component.mjs +0 -134
  272. package/esm2022/lib/modules/layout/toolbar/accounting/accounting.component.mjs +0 -16
  273. package/esm2022/lib/modules/layout/toolbar/classic/classic.component.mjs +0 -331
  274. package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +0 -88
  275. package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +0 -207
  276. package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +0 -158
  277. package/esm2022/lib/modules/layout/toolbar/extended/extended.component.mjs +0 -15
  278. package/esm2022/lib/modules/layout/toolbar/metrics-header/metrics-header.component.mjs +0 -1321
  279. package/esm2022/lib/modules/layout/toolbar/reports/reports.component.mjs +0 -18
  280. package/esm2022/lib/modules/layout/toolbar/saas/saas.component.mjs +0 -18
  281. package/esm2022/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.mjs +0 -216
  282. package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +0 -178
  283. package/esm2022/lib/modules/layout/toolbar/single-storedate/single-storedate.component.mjs +0 -166
  284. package/esm2022/lib/modules/layout/toolbar/storesingle/storesingle.component.mjs +0 -105
  285. package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +0 -372
  286. package/esm2022/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.mjs +0 -1062
  287. package/esm2022/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.mjs +0 -795
  288. package/esm2022/lib/modules/layout/toolbar/trax-header/trax-header.component.mjs +0 -880
  289. package/esm2022/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.mjs +0 -729
  290. package/esm2022/lib/modules/layout/toolbar/zone-header/zone-header.component.mjs +0 -1088
  291. package/esm2022/lib/modules/notification/conformation/conformation.component.mjs +0 -22
  292. package/esm2022/lib/modules/notification/notification/notification.component.mjs +0 -317
  293. package/esm2022/lib/modules/notification/notification-routing.module.mjs +0 -28
  294. package/esm2022/lib/modules/notification/notification.module.mjs +0 -32
  295. package/esm2022/lib/pipes/customDate.pipe.mjs +0 -22
  296. package/esm2022/lib/routes/route-wraper-modules/edge-wrapper.module.mjs +0 -18
  297. package/esm2022/lib/routes/route-wraper-modules/manage-wrapper.module.mjs +0 -18
  298. package/esm2022/lib/routes/route-wraper-modules/profile-wrapper.module.mjs +0 -18
  299. package/esm2022/lib/routes/route-wraper-modules/store-wrapper.module.mjs +0 -18
  300. package/esm2022/lib/routes/route-wraper-modules/ticket-wrapper.module.mjs +0 -18
  301. package/esm2022/lib/routes/routing.mjs +0 -53
  302. package/esm2022/lib/services/auth.service.mjs +0 -141
  303. package/esm2022/lib/services/notification.service.mjs +0 -74
  304. package/esm2022/lib/services/toast.service.mjs +0 -83
  305. package/esm2022/public-api.mjs +0 -56
  306. package/esm2022/tango-app-ui-shared.mjs +0 -5
  307. package/fesm2022/tango-app-ui-shared-edge-wrapper.module-CFDk0tvS.mjs +0 -21
  308. package/fesm2022/tango-app-ui-shared-edge-wrapper.module-CFDk0tvS.mjs.map +0 -1
  309. package/fesm2022/tango-app-ui-shared-intro.module-DYh4ZRha.mjs +0 -188
  310. package/fesm2022/tango-app-ui-shared-intro.module-DYh4ZRha.mjs.map +0 -1
  311. package/fesm2022/tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs +0 -21
  312. package/fesm2022/tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs.map +0 -1
  313. package/fesm2022/tango-app-ui-shared-notification.module-C5ZmCf8U.mjs +0 -400
  314. package/fesm2022/tango-app-ui-shared-notification.module-C5ZmCf8U.mjs.map +0 -1
  315. package/fesm2022/tango-app-ui-shared-profile-wrapper.module-BNC1AGOk.mjs +0 -21
  316. package/fesm2022/tango-app-ui-shared-profile-wrapper.module-BNC1AGOk.mjs.map +0 -1
  317. package/fesm2022/tango-app-ui-shared-store-wrapper.module-DdaCYHdv.mjs +0 -21
  318. package/fesm2022/tango-app-ui-shared-store-wrapper.module-DdaCYHdv.mjs.map +0 -1
  319. package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-r32uKkDO.mjs +0 -21
  320. package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-r32uKkDO.mjs.map +0 -1
  321. package/fesm2022/tango-app-ui-shared.mjs +0 -12438
  322. package/fesm2022/tango-app-ui-shared.mjs.map +0 -1
  323. package/index.d.ts +0 -5
  324. package/lib/guards/auth.guard.d.ts +0 -10
  325. package/lib/guards/lead.guard.d.ts +0 -2
  326. package/lib/guards/stores.guard.d.ts +0 -2
  327. package/lib/guards/tickets.guard.d.ts +0 -2
  328. package/lib/i18n/translation.module.d.ts +0 -8
  329. package/lib/i18n/translation.service.d.ts +0 -19
  330. package/lib/i18n/vocabs/ch.d.ts +0 -104
  331. package/lib/i18n/vocabs/de.d.ts +0 -104
  332. package/lib/i18n/vocabs/en.d.ts +0 -104
  333. package/lib/i18n/vocabs/es.d.ts +0 -104
  334. package/lib/i18n/vocabs/fr.d.ts +0 -104
  335. package/lib/i18n/vocabs/jp.d.ts +0 -104
  336. package/lib/interceptors/http-auth-interceptor.d.ts +0 -19
  337. package/lib/interfaces/global-state.d.ts +0 -5
  338. package/lib/modules/common/common-shared.module.d.ts +0 -13
  339. package/lib/modules/common/custom-select/custom-select.component.d.ts +0 -33
  340. package/lib/modules/common/filters/filters.component.d.ts +0 -38
  341. package/lib/modules/common/pagination/pagination.component.d.ts +0 -18
  342. package/lib/modules/errors/error403/error403.component.d.ts +0 -14
  343. package/lib/modules/errors/error404/error404.component.d.ts +0 -15
  344. package/lib/modules/errors/error500/error500.component.d.ts +0 -15
  345. package/lib/modules/errors/errors-routing.module.d.ts +0 -7
  346. package/lib/modules/errors/errors.component.d.ts +0 -13
  347. package/lib/modules/errors/errors.module.d.ts +0 -13
  348. package/lib/modules/errors/invalid-ip/invalid-ip.component.d.ts +0 -17
  349. package/lib/modules/intro/contact-support/contact-support.component.d.ts +0 -9
  350. package/lib/modules/intro/intro-routing.module.d.ts +0 -7
  351. package/lib/modules/intro/intro.module.d.ts +0 -11
  352. package/lib/modules/intro/lead-intro/lead-intro.component.d.ts +0 -31
  353. package/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.d.ts +0 -13
  354. package/lib/modules/layout/content/content.component.d.ts +0 -25
  355. package/lib/modules/layout/footer/footer.component.d.ts +0 -8
  356. package/lib/modules/layout/header/header-menu/header-menu.component.d.ts +0 -18
  357. package/lib/modules/layout/header/header.component.d.ts +0 -30
  358. package/lib/modules/layout/header/navbar/navbar.component.d.ts +0 -45
  359. package/lib/modules/layout/header/notifications-inner/notifications-inner.component.d.ts +0 -25
  360. package/lib/modules/layout/header/page-title/page-title.component.d.ts +0 -23
  361. package/lib/modules/layout/keenicon/keenicon.component.d.ts +0 -13
  362. package/lib/modules/layout/layout/layout.component.d.ts +0 -82
  363. package/lib/modules/layout/layout.module.d.ts +0 -50
  364. package/lib/modules/layout/scripts-init/scripts-init.component.d.ts +0 -19
  365. package/lib/modules/layout/scroll-top/scroll-top.component.d.ts +0 -19
  366. package/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.d.ts +0 -45
  367. package/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.d.ts +0 -19
  368. package/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.d.ts +0 -26
  369. package/lib/modules/layout/sidebar/sidebar.component.d.ts +0 -36
  370. package/lib/modules/layout/toolbar/accounting/accounting.component.d.ts +0 -8
  371. package/lib/modules/layout/toolbar/classic/classic.component.d.ts +0 -48
  372. package/lib/modules/layout/toolbar/client-settings/client-settings.component.d.ts +0 -16
  373. package/lib/modules/layout/toolbar/date-single-select/date-single-select.component.d.ts +0 -28
  374. package/lib/modules/layout/toolbar/datepicker/datepicker.component.d.ts +0 -28
  375. package/lib/modules/layout/toolbar/extended/extended.component.d.ts +0 -8
  376. package/lib/modules/layout/toolbar/metrics-header/metrics-header.component.d.ts +0 -103
  377. package/lib/modules/layout/toolbar/reports/reports.component.d.ts +0 -9
  378. package/lib/modules/layout/toolbar/saas/saas.component.d.ts +0 -9
  379. package/lib/modules/layout/toolbar/single-clientstore-date/single-clientstore-date.component.d.ts +0 -32
  380. package/lib/modules/layout/toolbar/single-store/single-store.component.d.ts +0 -33
  381. package/lib/modules/layout/toolbar/single-storedate/single-storedate.component.d.ts +0 -34
  382. package/lib/modules/layout/toolbar/storesingle/storesingle.component.d.ts +0 -24
  383. package/lib/modules/layout/toolbar/toolbar.component.d.ts +0 -57
  384. package/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.d.ts +0 -93
  385. package/lib/modules/layout/toolbar/traffic-nob/traffic-nob.component.d.ts +0 -80
  386. package/lib/modules/layout/toolbar/trax-header/trax-header.component.d.ts +0 -83
  387. package/lib/modules/layout/toolbar/trax-withoutdate/trax-withoutdate.component.d.ts +0 -74
  388. package/lib/modules/layout/toolbar/zone-header/zone-header.component.d.ts +0 -97
  389. package/lib/modules/notification/conformation/conformation.component.d.ts +0 -10
  390. package/lib/modules/notification/notification/notification.component.d.ts +0 -63
  391. package/lib/modules/notification/notification-routing.module.d.ts +0 -7
  392. package/lib/modules/notification/notification.module.d.ts +0 -11
  393. package/lib/pipes/customDate.pipe.d.ts +0 -7
  394. package/lib/routes/route-wraper-modules/edge-wrapper.module.d.ts +0 -7
  395. package/lib/routes/route-wraper-modules/manage-wrapper.module.d.ts +0 -7
  396. package/lib/routes/route-wraper-modules/profile-wrapper.module.d.ts +0 -7
  397. package/lib/routes/route-wraper-modules/store-wrapper.module.d.ts +0 -7
  398. package/lib/routes/route-wraper-modules/ticket-wrapper.module.d.ts +0 -7
  399. package/lib/routes/routing.d.ts +0 -3
  400. package/lib/services/auth.service.d.ts +0 -49
  401. package/lib/services/notification.service.d.ts +0 -30
  402. package/lib/services/toast.service.d.ts +0 -10
@@ -0,0 +1,105 @@
1
+ // France
2
+ export const locale = {
3
+ lang: 'fr',
4
+ data: {
5
+ TRANSLATOR: {
6
+ SELECT: 'choisissez votre langue',
7
+ },
8
+ MENU: {
9
+ NEW: 'Nouveau',
10
+ ACTIONS: 'Actes',
11
+ CREATE_POST: 'Créer un nouveau Post',
12
+ PAGES: 'Pages',
13
+ FEATURES: 'Fonctionnalités',
14
+ APPS: 'Applications',
15
+ DASHBOARD: 'Tableau de Bord',
16
+ },
17
+ AUTH: {
18
+ GENERAL: {
19
+ OR: 'Ou',
20
+ SUBMIT_BUTTON: 'Soumettre',
21
+ NO_ACCOUNT: 'Ne pas avoir de compte?',
22
+ SIGNUP_BUTTON: 'Registre',
23
+ FORGOT_BUTTON: 'Mot de passe oublié',
24
+ BACK_BUTTON: 'Back',
25
+ PRIVACY: 'Privacy',
26
+ LEGAL: 'Legal',
27
+ CONTACT: 'Contact',
28
+ },
29
+ LOGIN: {
30
+ TITLE: 'Créer un compte',
31
+ BUTTON: 'Sign In',
32
+ },
33
+ FORGOT: {
34
+ TITLE: 'Forgotten Password?',
35
+ DESC: 'Enter your email to reset your password',
36
+ SUCCESS: 'Your account has been successfully reset.'
37
+ },
38
+ REGISTER: {
39
+ TITLE: 'Sign Up',
40
+ DESC: 'Enter your details to create your account',
41
+ SUCCESS: 'Your account has been successfuly registered.'
42
+ },
43
+ INPUT: {
44
+ EMAIL: 'Email',
45
+ FULLNAME: 'Fullname',
46
+ PASSWORD: 'Mot de passe',
47
+ CONFIRM_PASSWORD: 'Confirm Password',
48
+ USERNAME: 'Nom d\'utilisateur'
49
+ },
50
+ VALIDATION: {
51
+ INVALID: '{{name}} n\'est pas valide',
52
+ REQUIRED: '{{name}} est requis',
53
+ MIN_LENGTH: '{{name}} minimum length is {{min}}',
54
+ AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',
55
+ NOT_FOUND: 'The requested {{name}} is not found',
56
+ INVALID_LOGIN: 'The login detail is incorrect',
57
+ REQUIRED_FIELD: 'Required field',
58
+ MIN_LENGTH_FIELD: 'Minimum field length:',
59
+ MAX_LENGTH_FIELD: 'Maximum field length:',
60
+ INVALID_FIELD: 'Field is not valid',
61
+ }
62
+ },
63
+ ECOMMERCE: {
64
+ COMMON: {
65
+ SELECTED_RECORDS_COUNT: 'Nombre d\'enregistrements sélectionnés: ',
66
+ ALL: 'All',
67
+ SUSPENDED: 'Suspended',
68
+ ACTIVE: 'Active',
69
+ FILTER: 'Filter',
70
+ BY_STATUS: 'by Status',
71
+ BY_TYPE: 'by Type',
72
+ BUSINESS: 'Business',
73
+ INDIVIDUAL: 'Individual',
74
+ SEARCH: 'Search',
75
+ IN_ALL_FIELDS: 'in all fields'
76
+ },
77
+ ECOMMERCE: 'éCommerce',
78
+ CUSTOMERS: {
79
+ CUSTOMERS: 'Les clients',
80
+ CUSTOMERS_LIST: 'Liste des clients',
81
+ NEW_CUSTOMER: 'Nouveau client',
82
+ DELETE_CUSTOMER_SIMPLE: {
83
+ TITLE: 'Suppression du client',
84
+ DESCRIPTION: 'Êtes-vous sûr de supprimer définitivement ce client?',
85
+ WAIT_DESCRIPTION: 'Le client est en train de supprimer ...',
86
+ MESSAGE: 'Le client a été supprimé'
87
+ },
88
+ DELETE_CUSTOMER_MULTY: {
89
+ TITLE: 'Supprimer les clients',
90
+ DESCRIPTION: 'Êtes-vous sûr de supprimer définitivement les clients sélectionnés?',
91
+ WAIT_DESCRIPTION: 'Les clients suppriment ...',
92
+ MESSAGE: 'Les clients sélectionnés ont été supprimés'
93
+ },
94
+ UPDATE_STATUS: {
95
+ TITLE: 'Le statut a été mis à jour pour les clients sélectionnés',
96
+ MESSAGE: 'Le statut des clients sélectionnés a été mis à jour avec succès'
97
+ },
98
+ EDIT: {
99
+ UPDATE_MESSAGE: 'Le client a été mis à jour',
100
+ ADD_MESSAGE: 'Le client a été créé'
101
+ }
102
+ }
103
+ }
104
+ }
105
+ };
@@ -0,0 +1,105 @@
1
+ // Japan
2
+ export const locale = {
3
+ lang: 'ja',
4
+ data: {
5
+ TRANSLATOR: {
6
+ SELECT: 'あなたが使う言語を選んでください',
7
+ },
8
+ MENU: {
9
+ NEW: '新しい',
10
+ ACTIONS: '行動',
11
+ CREATE_POST: '新しい投稿を作成',
12
+ PAGES: 'Pages',
13
+ FEATURES: '特徴',
14
+ APPS: 'アプリ',
15
+ DASHBOARD: 'ダッシュボード',
16
+ },
17
+ AUTH: {
18
+ GENERAL: {
19
+ OR: 'または',
20
+ SUBMIT_BUTTON: '提出する',
21
+ NO_ACCOUNT: 'アカウントを持っていない?',
22
+ SIGNUP_BUTTON: 'サインアップ',
23
+ FORGOT_BUTTON: 'パスワードをお忘れですか',
24
+ BACK_BUTTON: 'バック',
25
+ PRIVACY: 'プライバシー',
26
+ LEGAL: '法的',
27
+ CONTACT: '接触',
28
+ },
29
+ LOGIN: {
30
+ TITLE: 'Create Account',
31
+ BUTTON: 'Sign In',
32
+ },
33
+ FORGOT: {
34
+ TITLE: 'Forgotten Password?',
35
+ DESC: 'Enter your email to reset your password',
36
+ SUCCESS: 'Your account has been successfully reset.',
37
+ },
38
+ REGISTER: {
39
+ TITLE: 'Sign Up',
40
+ DESC: 'Enter your details to create your account',
41
+ SUCCESS: 'Your account has been successfuly registered.',
42
+ },
43
+ INPUT: {
44
+ EMAIL: 'Email',
45
+ FULLNAME: 'Fullname',
46
+ PASSWORD: 'Password',
47
+ CONFIRM_PASSWORD: 'Confirm Password',
48
+ USERNAME: 'ユーザー名',
49
+ },
50
+ VALIDATION: {
51
+ INVALID: '{{name}} is not valid',
52
+ REQUIRED: '{{name}} is required',
53
+ MIN_LENGTH: '{{name}} minimum length is {{min}}',
54
+ AGREEMENT_REQUIRED: 'Accepting terms & conditions are required',
55
+ NOT_FOUND: 'The requested {{name}} is not found',
56
+ INVALID_LOGIN: 'The login detail is incorrect',
57
+ REQUIRED_FIELD: 'Required field',
58
+ MIN_LENGTH_FIELD: 'Minimum field length:',
59
+ MAX_LENGTH_FIELD: 'Maximum field length:',
60
+ INVALID_FIELD: 'Field is not valid',
61
+ },
62
+ },
63
+ ECOMMERCE: {
64
+ COMMON: {
65
+ SELECTED_RECORDS_COUNT: 'Selected records count: ',
66
+ ALL: 'All',
67
+ SUSPENDED: 'Suspended',
68
+ ACTIVE: 'Active',
69
+ FILTER: 'Filter',
70
+ BY_STATUS: 'by Status',
71
+ BY_TYPE: 'by Type',
72
+ BUSINESS: 'Business',
73
+ INDIVIDUAL: 'Individual',
74
+ SEARCH: 'Search',
75
+ IN_ALL_FIELDS: 'in all fields',
76
+ },
77
+ ECOMMERCE: 'eCommerce',
78
+ CUSTOMERS: {
79
+ CUSTOMERS: 'Customers',
80
+ CUSTOMERS_LIST: 'Customers list',
81
+ NEW_CUSTOMER: 'New Customer',
82
+ DELETE_CUSTOMER_SIMPLE: {
83
+ TITLE: 'Customer Delete',
84
+ DESCRIPTION: 'Are you sure to permanently delete this customer?',
85
+ WAIT_DESCRIPTION: 'Customer is deleting...',
86
+ MESSAGE: 'Customer has been deleted',
87
+ },
88
+ DELETE_CUSTOMER_MULTY: {
89
+ TITLE: 'Customers Delete',
90
+ DESCRIPTION: 'Are you sure to permanently delete selected customers?',
91
+ WAIT_DESCRIPTION: 'Customers are deleting...',
92
+ MESSAGE: 'Selected customers have been deleted',
93
+ },
94
+ UPDATE_STATUS: {
95
+ TITLE: 'Status has been updated for selected customers',
96
+ MESSAGE: 'Selected customers status have successfully been updated',
97
+ },
98
+ EDIT: {
99
+ UPDATE_MESSAGE: 'Customer has been updated',
100
+ ADD_MESSAGE: 'Customer has been created',
101
+ },
102
+ },
103
+ },
104
+ },
105
+ };
@@ -0,0 +1,225 @@
1
+ import { Injectable } from '@angular/core';
2
+ import {
3
+ HttpRequest,
4
+ HttpHandler,
5
+ HttpEvent,
6
+ HttpInterceptor,
7
+ HttpErrorResponse
8
+ } from '@angular/common/http';
9
+ import { BehaviorSubject, Observable, catchError, switchMap, throwError, tap } from 'rxjs';
10
+ import { GlobalStateService } from 'tango-app-ui-global';
11
+ import { AuthService } from '../services/auth.service';
12
+ import { Router } from '@angular/router';
13
+ @Injectable()
14
+ export class HttpAuthInterceptor implements HttpInterceptor {
15
+
16
+ authlocalStorageToken: string='';
17
+ private isRefreshingToken: boolean = false;
18
+ private tokenRefreshed: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
19
+
20
+ constructor(
21
+ private gs:GlobalStateService,
22
+ private authService: AuthService,private router:Router
23
+ ) {
24
+ this.gs.environment.subscribe((env)=>{
25
+ if(env){
26
+ this.authlocalStorageToken = `${env.appVersion}-${env.USERDATA_KEY}`;}
27
+ })
28
+ }
29
+ intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
30
+ const user: any = JSON.parse(localStorage.getItem(this.authlocalStorageToken) || '{}');
31
+ request = request.clone({
32
+ setHeaders: {
33
+ Authorization: 'Bearer ' + user.authenticationToken
34
+ }
35
+ });
36
+ return next.handle(request)
37
+ .pipe(tap((response:any)=>{
38
+ if(response?.body?.data?.result === 'RESTRICTED-IP'){
39
+ this.router.navigateByUrl('/error/403-ip')
40
+ }
41
+ }))
42
+ .pipe(
43
+ catchError((error:any)=>{
44
+ if (error instanceof HttpErrorResponse && error.status === 401) {
45
+ // If the error is due to unauthorized access, try to refresh the token
46
+ return this.handle401Error(request, next);
47
+ }
48
+ // else if (error instanceof HttpErrorResponse && error.status === 403) {
49
+ // // If the error is due to unauthorized access, try to refresh the token
50
+ // this.router.navigate(['/manage/brands'])
51
+ // }
52
+ return throwError(error);
53
+ })
54
+ );
55
+ }
56
+
57
+ private handle401Error(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
58
+ if (!this.isRefreshingToken) {
59
+ this.isRefreshingToken = true;
60
+ return this.authService.refreshToken().pipe(
61
+ switchMap((res: any) => {
62
+ if (res && res.code == 200 && res.data.result) {
63
+ // Update local storage with the new token
64
+ localStorage.setItem(this.authlocalStorageToken, JSON.stringify(res.data.result));
65
+
66
+ // Clone the request with the new token
67
+ request = request.clone({
68
+ setHeaders: {
69
+ Authorization: `Bearer ${res.data.result.authenticationToken}`
70
+ }
71
+ });
72
+
73
+ // Reset the flag for token refreshing
74
+ this.isRefreshingToken = false;
75
+
76
+ // Retry the original request with the new token
77
+ return next.handle(request);
78
+ } else {
79
+ // Logout user if refresh token fails
80
+ this.authService.logout();
81
+ const keysToKeep = ['data-mismatch-draft'];
82
+ const valuesToKeep:any = {};
83
+
84
+ keysToKeep.forEach(key => {
85
+ const value = localStorage.getItem(key);
86
+ if (value !== null) {
87
+ valuesToKeep[key] = value;
88
+ }
89
+ });
90
+
91
+ localStorage.clear();
92
+
93
+ Object.keys(valuesToKeep).forEach(key => {
94
+ localStorage.setItem(key, valuesToKeep[key]);
95
+ });
96
+ this.router.navigate(['/auth/login']);
97
+ return throwError('Token Expired Please Login Again!');
98
+ }
99
+ }),
100
+ catchError((error) => {
101
+ // Logout user if refresh token fails
102
+ this.authService.logout();
103
+ const keysToKeep = ['data-mismatch-draft'];
104
+ const valuesToKeep:any = {};
105
+
106
+ keysToKeep.forEach(key => {
107
+ const value = localStorage.getItem(key);
108
+ if (value !== null) {
109
+ valuesToKeep[key] = value;
110
+ }
111
+ });
112
+
113
+ localStorage.clear();
114
+
115
+ Object.keys(valuesToKeep).forEach(key => {
116
+ localStorage.setItem(key, valuesToKeep[key]);
117
+ });
118
+
119
+ this.router.navigate(['/auth/login']);
120
+ return throwError(error);
121
+ })
122
+ );
123
+ } else {
124
+ // If already refreshing the token, queue the request and wait
125
+ return this.tokenRefreshed.pipe(
126
+ switchMap(() => {
127
+ const tokens: any = JSON.parse(localStorage.getItem(this.authlocalStorageToken) || '{}');
128
+ request = request.clone({
129
+ setHeaders: {
130
+ Authorization: 'Bearer ' + tokens.authenticationToken
131
+ }
132
+ });
133
+ return next.handle(request);
134
+ })
135
+ );
136
+ }
137
+ }
138
+ // intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
139
+ // const tokenObjStr = this.authService.getCookie(this.authlocalStorageToken);
140
+ // let token = '';
141
+
142
+ // if (tokenObjStr) {
143
+ // try {
144
+ // const tokenObj = JSON.parse(tokenObjStr);
145
+ // token = tokenObj?.authenticationToken || '';
146
+ // } catch (e) {
147
+ // console.error('Invalid auth token format in cookie', e);
148
+ // }
149
+ // }
150
+
151
+ // if (token) {
152
+ // request = request.clone({
153
+ // setHeaders: {
154
+ // Authorization: 'Bearer ' + token,
155
+ // },
156
+ // });
157
+ // }
158
+
159
+ // return next.handle(request).pipe(
160
+ // tap((response: any) => {
161
+ // if (response?.body?.data?.result === 'RESTRICTED-IP') {
162
+ // this.router.navigateByUrl('/error/403-ip');
163
+ // }
164
+ // }),
165
+ // catchError((error: any) => {
166
+ // if (error instanceof HttpErrorResponse && error.status === 401) {
167
+ // return this.handle401Error(request, next);
168
+ // }
169
+ // return throwError(error);
170
+ // })
171
+ // );
172
+ // }
173
+
174
+ // private handle401Error(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
175
+ // if (!this.isRefreshingToken) {
176
+ // this.isRefreshingToken = true;
177
+
178
+ // return this.authService.refreshToken().pipe(
179
+ // switchMap((res: any) => {
180
+ // if (res && res.code === 200 && res.data?.result) {
181
+ // this.authService.setCookie(this.authlocalStorageToken, JSON.stringify(res.data.result), 1);
182
+
183
+ // const newToken = res.data.result.authenticationToken;
184
+ // request = request.clone({
185
+ // setHeaders: {
186
+ // Authorization: 'Bearer ' + newToken,
187
+ // },
188
+ // });
189
+
190
+ // this.isRefreshingToken = false;
191
+ // return next.handle(request);
192
+ // } else {
193
+ // return this.forceLogout('Token Expired. Please login again.');
194
+ // }
195
+ // }),
196
+ // catchError((err) => this.forceLogout(err))
197
+ // );
198
+ // } else {
199
+ // // Optional: implement logic to queue and retry if multiple requests during refresh
200
+ // return throwError('Token refresh already in progress');
201
+ // }
202
+ // }
203
+
204
+ // private forceLogout(message: string): Observable<never> {
205
+ // this.authService.logout();
206
+
207
+ // const keysToKeep = ['data-mismatch-draft'];
208
+ // const valuesToKeep: any = {};
209
+
210
+ // keysToKeep.forEach((key) => {
211
+ // const val = localStorage.getItem(key);
212
+ // if (val) valuesToKeep[key] = val;
213
+ // });
214
+
215
+ // localStorage.clear();
216
+
217
+ // // Object.entries(valuesToKeep).forEach(([k, v]) => {
218
+ // // return localStorage.setItem(k, v);
219
+ // // });
220
+
221
+ // this.authService.deleteCookie(this.authlocalStorageToken);
222
+ // this.router.navigate(['/auth/login']);
223
+ // return throwError(() => message);
224
+ // }
225
+ }
@@ -0,0 +1,6 @@
1
+ export type sampleType = {
2
+ firstName:string
3
+ lastName:string,
4
+ email:string
5
+ }
6
+
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { NgxPaginationModule } from 'ngx-pagination';
5
+ import { PaginationComponent } from './pagination/pagination.component';
6
+ import { FiltersComponent } from './filters/filters.component';
7
+ import { CustomSelectComponent } from './custom-select/custom-select.component';
8
+ import { CustomDateFormatPipe } from '../../pipes/customDate.pipe';
9
+
10
+
11
+ @NgModule({
12
+ declarations: [PaginationComponent, FiltersComponent,CustomSelectComponent,CustomDateFormatPipe],
13
+ imports: [
14
+ CommonModule,
15
+ FormsModule,
16
+ NgxPaginationModule
17
+ ],
18
+ exports:[PaginationComponent,FiltersComponent,CustomSelectComponent,CustomDateFormatPipe]
19
+ })
20
+ export class CommonSharedModule { }
@@ -0,0 +1,42 @@
1
+ <div class="outer-container">
2
+ <div [ngClass]="disabled ? 'disable-input':''" (click)="openDropdown($event)" class="form-select">
3
+ <ng-container *ngIf="multi" >
4
+ {{selectedValues?.length}} {{label}} Selected
5
+ </ng-container>
6
+ <ng-container *ngIf="!multi" >
7
+ {{selectedValues?.[0]?.[searchField]}}
8
+ </ng-container>
9
+ </div>
10
+ <div [ngClass]="showDropdown ? '' : 'd-none'" class="input-container dropdown" >
11
+ <div class="w-100 input-wrapper">
12
+ <input [(ngModel)]="searchValue" placeholder="Search" (input)="onInput($event)" type="text">
13
+ <svg class="search-icon" xmlns="http://www.w3.org/2000/svg" width="16" height="17" viewBox="0 0 16 17" fill="none">
14
+ <path d="M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z" stroke="#667085" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
15
+ </svg>
16
+ </div>
17
+ <ul>
18
+ <li *ngIf="multi && filteredValues?.length">
19
+ <label class="form-check" for="selectAll">
20
+ <input (change)="onSelectAll($event)" [checked]="checkIfAllSelected()" class="form-check-input me-3" type="checkbox"
21
+ id="selectAll">
22
+ <span class="form-check-label" >
23
+ Select All
24
+ </span>
25
+ </label>
26
+ </li>
27
+ <li *ngFor="let item of filteredValues" [ngClass]="item.isSelected && !multi ? 'selected' : ''" >
28
+ <label [for]="item[idField] + instanceId" [ngClass]="multi ? '': 'ps-0'" class="form-check">
29
+ <input [ngClass]="multi ? '': 'd-none'" (change)="onSelect($event, item)" [(ngModel)]="item.isSelected" class="form-check-input me-3" type="checkbox" value=""
30
+ [id]="item[idField] + instanceId">
31
+ <span class="form-check-label" >
32
+ {{item[searchField]}}
33
+ </span>
34
+ </label>
35
+ </li>
36
+ <li *ngIf="!filteredValues?.length" >
37
+ <span class="d-flex align-items-center justify-content-center" >No data found</span>
38
+ </li>
39
+ </ul>
40
+ </div>
41
+
42
+ </div>
@@ -0,0 +1,131 @@
1
+ :host {
2
+ width: 100%;
3
+ height: 100%;
4
+ }
5
+
6
+
7
+ .outer-container {
8
+ // z-index: 1;
9
+ position: relative;
10
+ background-color: white;
11
+
12
+
13
+ .form-select {
14
+ font-size: 1.1rem;
15
+ font-weight: 600;
16
+ border-radius: 8px !important;
17
+ color: var(--Gray-500, #344054);
18
+ border: 1px solid var(--Gray-300, #D0D5DD) !important;
19
+ height: 42.5px;
20
+ }
21
+
22
+ .disable-input{
23
+ pointer-events: none;
24
+ background-color: #F9FAFB !important;
25
+ }
26
+
27
+ .input-container {
28
+ position: absolute;
29
+ width: 100%;
30
+ z-index: 1;
31
+
32
+ .input-wrapper {
33
+ padding: 8px 10px;
34
+ background-color: white;
35
+ border-top-right-radius: 8px;
36
+ border-top-left-radius: 8px;
37
+ border-top: 1px solid rgba(16, 24, 40, 0.08);
38
+ border-right: 1px solid rgba(16, 24, 40, 0.08);
39
+ border-left: 1px solid rgba(16, 24, 40, 0.08);
40
+
41
+
42
+ input {
43
+ width: 100%;
44
+ border-radius: 8px;
45
+ border: 1px solid var(--Gray-300, #D0D5DD);
46
+ background: var(--White, #FFF);
47
+ box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
48
+ padding: 10px 14px 10px 30px;
49
+ outline: none;
50
+
51
+ ::placeholder {
52
+ color: var(--Gray-500, #667085);
53
+ font-family: Inter;
54
+ font-size: 14px;
55
+ font-weight: 500;
56
+ line-height: 20px;
57
+ }
58
+ }
59
+
60
+ .search-icon {
61
+ position: absolute;
62
+ left: 20px;
63
+ top: 20px;
64
+ }
65
+ }
66
+
67
+ ul {
68
+ position: relative;
69
+ background-color: white;
70
+ margin: 0;
71
+ padding: 0;
72
+ max-height: 200px;
73
+ min-height: auto;
74
+ overflow-y: auto;
75
+ border-bottom-right-radius: 8px;
76
+ border-bottom-left-radius: 8px;
77
+ border-bottom: 1px solid rgba(16, 24, 40, 0.08);
78
+ border-right: 1px solid rgba(16, 24, 40, 0.08);
79
+ border-left: 1px solid rgba(16, 24, 40, 0.08);
80
+
81
+ .selected{
82
+ background: #F9FAFB;
83
+ }
84
+
85
+ li {
86
+ list-style: none;
87
+ padding: 10px 16px;
88
+ cursor: pointer;
89
+
90
+ label{
91
+ cursor: pointer;
92
+ }
93
+
94
+ }
95
+
96
+ li:hover{
97
+ background: #F9FAFB;
98
+ }
99
+
100
+ }
101
+
102
+ }
103
+
104
+ }
105
+
106
+ .form-check {
107
+ display: flex;
108
+ align-items: center;
109
+ }
110
+
111
+ .form-check-input {
112
+ height: 16px;
113
+ width: 16px;
114
+ border-radius: 4px;
115
+ border: 1px solid var(--Primary-600, #00A3FF);
116
+ }
117
+
118
+ .form-check-input:checked {
119
+ --bs-form-check-bg-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=');
120
+ background-color: #EAF8FF;
121
+ border-color: #00A3FF;
122
+ }
123
+
124
+ .form-check-label {
125
+ color: var(--Gray-700, #344054);
126
+ font-family: Inter;
127
+ font-size: 14px;
128
+ font-style: normal;
129
+ font-weight: 500;
130
+ line-height: 20px;
131
+ }
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { CustomSelectComponent } from './custom-select.component';
4
+
5
+ describe('CustomSelectComponent', () => {
6
+ let component: CustomSelectComponent;
7
+ let fixture: ComponentFixture<CustomSelectComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ declarations: [CustomSelectComponent]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(CustomSelectComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });