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,425 @@
1
+ import {
2
+ Component,
3
+ OnInit,
4
+ ViewChild,
5
+ ElementRef,
6
+ OnDestroy,
7
+ HostListener,
8
+ } from '@angular/core';
9
+ import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
10
+ import { Subscription } from 'rxjs';
11
+ import { GlobalStateService, ILayout, LayoutType } from 'tango-app-ui-global';
12
+ import { LayoutInitService, LayoutService } from 'tango-app-ui-global';
13
+ import { AuthService } from '../../../services/auth.service';
14
+ import { ToastService } from '../../../services/toast.service';
15
+
16
+ @Component({
17
+ selector: 'lib-layout',
18
+ templateUrl: './layout.component.html',
19
+ styleUrls: ['./layout.component.scss'],
20
+ })
21
+ export class LayoutComponent implements OnInit, OnDestroy {
22
+ private unsubscribe: Subscription[] = [];
23
+
24
+ // Public variables
25
+ // page
26
+ pageContainerCSSClasses: string;
27
+ // header
28
+ appHeaderDefaultClass: string = '';
29
+ appHeaderDisplay: boolean;
30
+ appHeaderDefaultStickyEnabled: boolean;
31
+ appHeaderDefaultStickyAttributes: { [attrName: string]: string } = {};
32
+ appHeaderDefaultMinimizeEnabled: boolean;
33
+ appHeaderDefaultMinimizeAttributes: { [attrName: string]: string } = {};
34
+ // toolbar
35
+ appToolbarDisplay: boolean;
36
+ appToolbarLayout: 'classic' | 'accounting' | 'extended' | 'reports' | 'saas';
37
+ appToolbarCSSClass: string = '';
38
+ appToolbarSwapEnabled: boolean;
39
+ appToolbarSwapAttributes: { [attrName: string]: string } = {};
40
+ appToolbarStickyEnabled: boolean;
41
+ appToolbarStickyAttributes: { [attrName: string]: string } = {};
42
+ appToolbarMinimizeEnabled: boolean;
43
+ appToolbarMinimizeAttributes: { [attrName: string]: string } = {};
44
+
45
+ // content
46
+ appContentContiner?: 'fixed' | 'fluid';
47
+ appContentContainerClass: string;
48
+ contentCSSClasses: string;
49
+ contentContainerCSSClass: string;
50
+ // sidebar
51
+ appSidebarDefaultClass: string;
52
+ appSidebarDefaultDrawerEnabled: boolean;
53
+ appSidebarDefaultDrawerAttributes: { [attrName: string]: string } = {};
54
+ appSidebarDisplay: boolean;
55
+ appSidebarDefaultStickyEnabled: boolean;
56
+ appSidebarDefaultStickyAttributes: { [attrName: string]: string } = {};
57
+ @ViewChild('ktSidebar', { static: true }) ktSidebar: ElementRef;
58
+ /// sidebar panel
59
+ appSidebarPanelDisplay: boolean;
60
+ // footer
61
+ appFooterDisplay: boolean;
62
+ appFooterCSSClass: string = '';
63
+ appFooterContainer: string = '';
64
+ appFooterContainerCSSClass: string = '';
65
+ appFooterFixedDesktop: boolean;
66
+ appFooterFixedMobile: boolean;
67
+
68
+ // scrolltop
69
+ scrolltopDisplay: boolean;
70
+
71
+ @ViewChild('ktAside', { static: true }) ktAside: ElementRef;
72
+ @ViewChild('ktHeaderMobile', { static: true }) ktHeaderMobile: ElementRef;
73
+ @ViewChild('ktHeader', { static: true }) ktHeader: ElementRef;
74
+
75
+ constructor(
76
+ private initService: LayoutInitService,
77
+ private layout: LayoutService,
78
+ private router: Router,
79
+ private activatedRoute: ActivatedRoute,
80
+ private authService:AuthService,
81
+ private toastService:ToastService,
82
+ private gs:GlobalStateService
83
+ ) {
84
+
85
+ // define layout type and load layout
86
+ this.router.events.subscribe((event) => {
87
+ if (event instanceof NavigationEnd) {
88
+ const currentLayoutType = this.layout.currentLayoutTypeSubject.value;
89
+
90
+ const nextLayoutType: LayoutType =
91
+ this.activatedRoute?.firstChild?.snapshot.data.layout ||
92
+ this.layout.getBaseLayoutTypeFromLocalStorage();
93
+
94
+ if (currentLayoutType !== nextLayoutType || !currentLayoutType) {
95
+ this.layout.currentLayoutTypeSubject.next(nextLayoutType);
96
+ this.initService.reInitProps(nextLayoutType);
97
+ }
98
+ }
99
+ });
100
+ }
101
+
102
+ ngOnInit() {
103
+ const subscr = this.layout.layoutConfigSubject
104
+ .asObservable()
105
+ .subscribe((config) => {
106
+ this.updateProps(config);
107
+ });
108
+ this.unsubscribe.push(subscr);
109
+ }
110
+
111
+ updateProps(config: ILayout) {
112
+ this.scrolltopDisplay = this.layout.getProp(
113
+ 'scrolltop.display',
114
+ config
115
+ ) as boolean;
116
+ this.pageContainerCSSClasses =
117
+ this.layout.getStringCSSClasses('pageContainer');
118
+ this.appHeaderDefaultClass = this.layout.getProp(
119
+ 'app.header.default.class',
120
+ config
121
+ ) as string;
122
+ this.appHeaderDisplay = this.layout.getProp(
123
+ 'app.header.display',
124
+ config
125
+ ) as boolean;
126
+ this.appFooterDisplay = this.layout.getProp(
127
+ 'app.footer.display',
128
+ config
129
+ ) as boolean;
130
+ this.appSidebarDisplay = this.layout.getProp(
131
+ 'app.sidebar.display',
132
+ config
133
+ ) as boolean;
134
+ this.appSidebarPanelDisplay = this.layout.getProp(
135
+ 'app.sidebar-panel.display',
136
+ config
137
+ ) as boolean;
138
+ this.appToolbarDisplay = this.layout.getProp(
139
+ 'app.toolbar.display',
140
+ config
141
+ ) as boolean;
142
+ this.contentCSSClasses = this.layout.getStringCSSClasses('content');
143
+ this.contentContainerCSSClass =
144
+ this.layout.getStringCSSClasses('contentContainer');
145
+ this.appContentContiner = this.layout.getProp(
146
+ 'app.content.container',
147
+ config
148
+ ) as 'fixed' | 'fluid';
149
+ this.appContentContainerClass = this.layout.getProp(
150
+ 'app.content.containerClass',
151
+ config
152
+ ) as string;
153
+ // footer
154
+ if (this.appFooterDisplay) {
155
+ this.updateFooter(config);
156
+ }
157
+ // sidebar
158
+ if (this.appSidebarDisplay) {
159
+ this.updateSidebar(config);
160
+ }
161
+ // header
162
+ if (this.appHeaderDisplay) {
163
+ this.updateHeader(config);
164
+ }
165
+ // toolbar
166
+ if (this.appToolbarDisplay) {
167
+ this.updateToolbar(config);
168
+ }
169
+ }
170
+
171
+ updateSidebar(config: ILayout) {
172
+ this.appSidebarDefaultClass = this.layout.getProp(
173
+ 'app.sidebar.default.class',
174
+ config
175
+ ) as string;
176
+
177
+ this.appSidebarDefaultDrawerEnabled = this.layout.getProp(
178
+ 'app.sidebar.default.drawer.enabled',
179
+ config
180
+ ) as boolean;
181
+ if (this.appSidebarDefaultDrawerEnabled) {
182
+ this.appSidebarDefaultDrawerAttributes = this.layout.getProp(
183
+ 'app.sidebar.default.drawer.attributes',
184
+ config
185
+ ) as { [attrName: string]: string };
186
+ }
187
+
188
+ this.appSidebarDefaultStickyEnabled = this.layout.getProp(
189
+ 'app.sidebar.default.sticky.enabled',
190
+ config
191
+ ) as boolean;
192
+ if (this.appSidebarDefaultStickyEnabled) {
193
+ this.appSidebarDefaultStickyAttributes = this.layout.getProp(
194
+ 'app.sidebar.default.sticky.attributes',
195
+ config
196
+ ) as { [attrName: string]: string };
197
+ }
198
+
199
+ setTimeout(() => {
200
+ const sidebarElement = document.getElementById('kt_app_sidebar');
201
+ // sidebar
202
+ if (this.appSidebarDisplay && sidebarElement) {
203
+ const sidebarAttributes = sidebarElement
204
+ .getAttributeNames()
205
+ .filter((t) => t.indexOf('data-') > -1);
206
+ sidebarAttributes.forEach((attr) =>
207
+ sidebarElement.removeAttribute(attr)
208
+ );
209
+
210
+ if (this.appSidebarDefaultDrawerEnabled) {
211
+ for (const key in this.appSidebarDefaultDrawerAttributes) {
212
+ if (this.appSidebarDefaultDrawerAttributes.hasOwnProperty(key)) {
213
+ sidebarElement.setAttribute(
214
+ key,
215
+ this.appSidebarDefaultDrawerAttributes[key]
216
+ );
217
+ }
218
+ }
219
+ }
220
+
221
+ if (this.appSidebarDefaultStickyEnabled) {
222
+ for (const key in this.appSidebarDefaultStickyAttributes) {
223
+ if (this.appSidebarDefaultStickyAttributes.hasOwnProperty(key)) {
224
+ sidebarElement.setAttribute(
225
+ key,
226
+ this.appSidebarDefaultStickyAttributes[key]
227
+ );
228
+ }
229
+ }
230
+ }
231
+ }
232
+ }, 0);
233
+ }
234
+
235
+ updateHeader(config: ILayout) {
236
+ this.appHeaderDefaultStickyEnabled = this.layout.getProp(
237
+ 'app.header.default.sticky.enabled',
238
+ config
239
+ ) as boolean;
240
+ if (this.appHeaderDefaultStickyEnabled) {
241
+ this.appHeaderDefaultStickyAttributes = this.layout.getProp(
242
+ 'app.header.default.sticky.attributes',
243
+ config
244
+ ) as { [attrName: string]: string };
245
+ }
246
+
247
+ this.appHeaderDefaultMinimizeEnabled = this.layout.getProp(
248
+ 'app.header.default.minimize.enabled',
249
+ config
250
+ ) as boolean;
251
+ if (this.appHeaderDefaultMinimizeEnabled) {
252
+ this.appHeaderDefaultMinimizeAttributes = this.layout.getProp(
253
+ 'app.header.default.minimize.attributes',
254
+ config
255
+ ) as { [attrName: string]: string };
256
+ }
257
+
258
+ setTimeout(() => {
259
+ const headerElement = document.getElementById('kt_app_header');
260
+ // header
261
+ if (this.appHeaderDisplay && headerElement) {
262
+ const headerAttributes = headerElement
263
+ .getAttributeNames()
264
+ .filter((t) => t.indexOf('data-') > -1);
265
+ headerAttributes.forEach((attr) => headerElement.removeAttribute(attr));
266
+
267
+ if (this.appHeaderDefaultStickyEnabled) {
268
+ for (const key in this.appHeaderDefaultStickyAttributes) {
269
+ if (this.appHeaderDefaultStickyAttributes.hasOwnProperty(key)) {
270
+ headerElement.setAttribute(
271
+ key,
272
+ this.appHeaderDefaultStickyAttributes[key]
273
+ );
274
+ }
275
+ }
276
+ }
277
+
278
+ if (this.appHeaderDefaultMinimizeEnabled) {
279
+ for (const key in this.appHeaderDefaultMinimizeAttributes) {
280
+ if (this.appHeaderDefaultMinimizeAttributes.hasOwnProperty(key)) {
281
+ headerElement.setAttribute(
282
+ key,
283
+ this.appHeaderDefaultMinimizeAttributes[key]
284
+ );
285
+ }
286
+ }
287
+ }
288
+ }
289
+ }, 0);
290
+ }
291
+
292
+ updateFooter(config: ILayout) {
293
+ this.appFooterCSSClass = this.layout.getProp('app.footer.class', config) as string;
294
+ this.appFooterContainer = this.layout.getProp('app.footer.container', config) as string;
295
+ this.appFooterContainerCSSClass = this.layout.getProp('app.footer.containerClass', config) as string;
296
+ if (this.appFooterContainer === 'fixed') {
297
+ this.appFooterContainerCSSClass += ' container-xxl';
298
+ } else {
299
+ if (this.appFooterContainer === 'fluid') {
300
+ this.appFooterContainerCSSClass += ' container-fluid';
301
+ }
302
+ }
303
+
304
+ this.appFooterFixedDesktop = this.layout.getProp('app.footer.fixed.desktop', config) as boolean;
305
+ if (this.appFooterFixedDesktop) {
306
+ document.body.setAttribute('data-kt-app-footer-fixed', 'true')
307
+ }
308
+
309
+ this.appFooterFixedMobile = this.layout.getProp('app.footer.fixed.mobile') as boolean;
310
+ if (this.appFooterFixedMobile) {
311
+ document.body.setAttribute('data-kt-app-footer-fixed-mobile', 'true')
312
+ }
313
+ }
314
+
315
+ updateToolbar(config: ILayout) {
316
+ this.appToolbarLayout = this.layout.getProp(
317
+ 'app.toolbar.layout',
318
+ config
319
+ ) as 'classic' | 'accounting' | 'extended' | 'reports' | 'saas';
320
+ this.appToolbarSwapEnabled = this.layout.getProp(
321
+ 'app.toolbar.swap.enabled',
322
+ config
323
+ ) as boolean;
324
+ if (this.appToolbarSwapEnabled) {
325
+ this.appToolbarSwapAttributes = this.layout.getProp(
326
+ 'app.toolbar.swap.attributes',
327
+ config
328
+ ) as { [attrName: string]: string };
329
+ }
330
+
331
+ this.appToolbarStickyEnabled = this.layout.getProp(
332
+ 'app.toolbar.sticky.enabled',
333
+ config
334
+ ) as boolean;
335
+ if (this.appToolbarStickyEnabled) {
336
+ this.appToolbarStickyAttributes = this.layout.getProp(
337
+ 'app.toolbar.sticky.attributes',
338
+ config
339
+ ) as { [attrName: string]: string };
340
+ }
341
+
342
+ this.appToolbarCSSClass =
343
+ (this.layout.getProp('app.toolbar.class', config) as string) || '';
344
+ this.appToolbarMinimizeEnabled = this.layout.getProp(
345
+ 'app.toolbar.minimize.enabled',
346
+ config
347
+ ) as boolean;
348
+ if (this.appToolbarMinimizeEnabled) {
349
+ this.appToolbarMinimizeAttributes = this.layout.getProp(
350
+ 'app.toolbar.minimize.attributes',
351
+ config
352
+ ) as { [attrName: string]: string };
353
+ this.appToolbarCSSClass += ' app-toolbar-minimize';
354
+ }
355
+
356
+ setTimeout(() => {
357
+ const toolbarElement = document.getElementById('kt_app_toolbar');
358
+ // toolbar
359
+ if (this.appToolbarDisplay && toolbarElement) {
360
+ const toolbarAttributes = toolbarElement
361
+ .getAttributeNames()
362
+ .filter((t) => t.indexOf('data-') > -1);
363
+ toolbarAttributes.forEach((attr) =>
364
+ toolbarElement.removeAttribute(attr)
365
+ );
366
+
367
+ if (this.appToolbarSwapEnabled) {
368
+ for (const key in this.appToolbarSwapAttributes) {
369
+ if (this.appToolbarSwapAttributes.hasOwnProperty(key)) {
370
+ toolbarElement.setAttribute(
371
+ key,
372
+ this.appToolbarSwapAttributes[key]
373
+ );
374
+ }
375
+ }
376
+ }
377
+
378
+ if (this.appToolbarStickyEnabled) {
379
+ for (const key in this.appToolbarStickyAttributes) {
380
+ if (this.appToolbarStickyAttributes.hasOwnProperty(key)) {
381
+ toolbarElement.setAttribute(
382
+ key,
383
+ this.appToolbarStickyAttributes[key]
384
+ );
385
+ }
386
+ }
387
+ }
388
+
389
+ if (this.appToolbarMinimizeEnabled) {
390
+ for (const key in this.appToolbarMinimizeAttributes) {
391
+ if (this.appToolbarMinimizeAttributes.hasOwnProperty(key)) {
392
+ toolbarElement.setAttribute(
393
+ key,
394
+ this.appToolbarMinimizeAttributes[key]
395
+ );
396
+ }
397
+ }
398
+ }
399
+ }
400
+ }, 0);
401
+ }
402
+
403
+ ngOnDestroy() {
404
+ this.unsubscribe.forEach((sb) => sb.unsubscribe());
405
+ }
406
+ previousScroll = 0;
407
+ // appHeaderDisplay = true; // Initially visible
408
+ isToolbarFixed = false;
409
+ @HostListener('window:scroll', [])
410
+ onScroll(): void {
411
+ const currentScroll = window.scrollY;
412
+
413
+ if (currentScroll > this.previousScroll && currentScroll > 100) {
414
+ // Hide header on scroll down
415
+ this.appHeaderDisplay = false;
416
+ this.isToolbarFixed = true; // Fix toolbar
417
+ } else {
418
+ // Show header on scroll up
419
+ this.appHeaderDisplay = true;
420
+ this.isToolbarFixed = currentScroll > 100; // Keep toolbar fixed if scrolled beyond 100px
421
+ }
422
+
423
+ this.previousScroll = currentScroll;
424
+ }
425
+ }
@@ -0,0 +1,129 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { InlineSVGModule } from 'ng-inline-svg-2';
4
+ import { RouterModule, Routes } from '@angular/router';
5
+ import {
6
+ NgbDropdownModule,
7
+ NgbProgressbarModule,
8
+ NgbTooltipModule,
9
+ } from '@ng-bootstrap/ng-bootstrap';
10
+ import { TranslateModule } from '@ngx-translate/core';
11
+ // import { ExtrasModule } from '../partials/layout/extras/extras.module';
12
+ // import {
13
+ // DrawersModule,
14
+ // DropdownMenusModule,
15
+ // ModalsModule,
16
+ // EngagesModule,
17
+ // } from '../partials';
18
+ // import { EngagesComponent } from '../partials/layout/engages/engages.component';
19
+ // import { ThemeModeModule } from '../partials/layout/theme-mode-switcher/theme-mode.module';
20
+ import { KeeniconComponent } from './keenicon/keenicon.component';
21
+ import { TranslationModule } from '../../i18n';
22
+ import { LayoutComponent } from './layout/layout.component';
23
+ import { HeaderComponent } from './header/header.component';
24
+ import { ContentComponent } from './content/content.component';
25
+ import { FooterComponent } from './footer/footer.component';
26
+ import { ScriptsInitComponent } from './scripts-init/scripts-init.component';
27
+ import { ToolbarComponent } from './toolbar/toolbar.component';
28
+ import { PageTitleComponent } from './header/page-title/page-title.component';
29
+ import { HeaderMenuComponent } from './header/header-menu/header-menu.component';
30
+ import { SidebarComponent } from './sidebar/sidebar.component';
31
+ import { SidebarLogoComponent } from './sidebar/sidebar-logo/sidebar-logo.component';
32
+ import { SidebarMenuComponent } from './sidebar/sidebar-menu/sidebar-menu.component';
33
+ import { SidebarFooterComponent } from './sidebar/sidebar-footer/sidebar-footer.component';
34
+ import { NavbarComponent } from './header/navbar/navbar.component';
35
+ import { AccountingComponent } from './toolbar/accounting/accounting.component';
36
+ import { ClassicComponent } from './toolbar/classic/classic.component';
37
+ import { ExtendedComponent } from './toolbar/extended/extended.component';
38
+ import { ReportsComponent } from './toolbar/reports/reports.component';
39
+ import { SaasComponent } from './toolbar/saas/saas.component';
40
+ import { Routing } from '../../routes/routing';
41
+ import { LayoutScrollTopComponent } from './scroll-top/scroll-top.component';
42
+ import { CommonSharedModule } from '../common/common-shared.module';
43
+ import { FormsModule } from '@angular/forms';
44
+ import { NgxDaterangepickerMd } from 'ngx-daterangepicker-material';
45
+ import { ClientSettingsComponent } from './toolbar/client-settings/client-settings.component';
46
+ import { DatepickerComponent } from './toolbar/datepicker/datepicker.component';
47
+ import { DateSingleSelectComponent } from './toolbar/date-single-select/date-single-select.component';
48
+ import { SingleStoreComponent } from './toolbar/single-store/single-store.component';
49
+ import { NotificationsInnerComponent } from './header/notifications-inner/notifications-inner.component';
50
+ import { CsmAssignConfirmationComponent } from './components/csm-assign-confirmation/csm-assign-confirmation.component';
51
+ import { TrafficHeaderComponent } from './toolbar/traffic-header/traffic-header/traffic-header.component';
52
+ import { TraxHeaderComponent } from './toolbar/trax-header/trax-header.component';
53
+ import { SingleStoredateComponent } from './toolbar/single-storedate/single-storedate.component';
54
+ import { StoresingleComponent } from './toolbar/storesingle/storesingle.component';
55
+ import { TraxWithoutdateComponent } from './toolbar/trax-withoutdate/trax-withoutdate.component';
56
+ import { TrafficNobComponent } from './toolbar/traffic-nob/traffic-nob.component';
57
+ import { MetricsHeaderComponent } from './toolbar/metrics-header/metrics-header.component';
58
+ import { SingleClientstoreDateComponent } from './toolbar/single-clientstore-date/single-clientstore-date.component';
59
+ import { ZoneHeaderComponent } from './toolbar/zone-header/zone-header.component';
60
+
61
+ const routes: Routes = [
62
+ {
63
+ path: '',
64
+ component: LayoutComponent,
65
+ children: Routing,
66
+ },
67
+ ];
68
+
69
+ @NgModule({
70
+ declarations: [
71
+ LayoutComponent,
72
+ HeaderComponent,
73
+ ContentComponent,
74
+ FooterComponent,
75
+ ScriptsInitComponent,
76
+ ToolbarComponent,
77
+ PageTitleComponent,
78
+ HeaderMenuComponent,
79
+ // EngagesComponent,
80
+ SidebarComponent,
81
+ SidebarLogoComponent,
82
+ SidebarMenuComponent,
83
+ SidebarFooterComponent,
84
+ NavbarComponent,
85
+ AccountingComponent,
86
+ ClassicComponent,
87
+ ExtendedComponent,
88
+ ReportsComponent,
89
+ SaasComponent,
90
+ KeeniconComponent,
91
+ LayoutScrollTopComponent,
92
+ ClientSettingsComponent,
93
+ DatepickerComponent,
94
+ DateSingleSelectComponent,
95
+ SingleStoreComponent,
96
+ NotificationsInnerComponent,
97
+ CsmAssignConfirmationComponent,
98
+ TrafficHeaderComponent,
99
+ TraxHeaderComponent,
100
+ SingleStoredateComponent,
101
+ StoresingleComponent,
102
+ TraxWithoutdateComponent,
103
+ TrafficNobComponent,
104
+ MetricsHeaderComponent,
105
+ SingleClientstoreDateComponent,
106
+ ZoneHeaderComponent
107
+ ],
108
+ imports: [
109
+ CommonModule,
110
+ RouterModule.forChild(routes),
111
+ TranslationModule,
112
+ InlineSVGModule,
113
+ NgbDropdownModule,
114
+ NgbProgressbarModule,
115
+ // ExtrasModule,
116
+ // ModalsModule,
117
+ // DrawersModule,
118
+ // EngagesModule,
119
+ // DropdownMenusModule,
120
+ NgbTooltipModule,
121
+ TranslateModule,
122
+ // ThemeModeModule,
123
+ CommonSharedModule,
124
+ FormsModule,
125
+ NgxDaterangepickerMd.forRoot()
126
+ ],
127
+ exports: [RouterModule],
128
+ })
129
+ export class LayoutModule {}
@@ -0,0 +1,81 @@
1
+ import { Component, OnDestroy, OnInit } from '@angular/core';
2
+ import { ResolveEnd, Router } from '@angular/router';
3
+ import { filter } from 'rxjs/operators';
4
+ import { Observable, Subscription } from 'rxjs';
5
+ import {
6
+ ToggleComponent,
7
+ ScrollTopComponent,
8
+ DrawerComponent,
9
+ StickyComponent,
10
+ MenuComponent,
11
+ ScrollComponent,
12
+ } from 'tango-app-ui-global';
13
+ import { Title } from '@angular/platform-browser';
14
+ import { LayoutService, PageInfoService } from 'tango-app-ui-global';
15
+
16
+ @Component({
17
+ selector: 'lib-scripts-init',
18
+ templateUrl: './scripts-init.component.html',
19
+ })
20
+ export class ScriptsInitComponent implements OnInit, OnDestroy {
21
+ private unsubscribe: Subscription[] = [];
22
+ constructor(
23
+ private layout: LayoutService,
24
+ private pageInfo: PageInfoService,
25
+ private router: Router,
26
+ private titleService: Title,
27
+ ) {
28
+ const initPageInfo = () => {
29
+ setTimeout(() => {
30
+ // this.pageInfo.calculateTitle();
31
+ // this.pageInfo.calculateBreadcrumbs();
32
+
33
+ this.pageInfo.title.asObservable().subscribe((title) => {
34
+ this.titleService.setTitle(title + ' - TangoEye');
35
+ });
36
+ }, 10);
37
+ };
38
+
39
+ initPageInfo();
40
+ // subscribe to router events
41
+ this.router.events
42
+ .pipe(filter((event) => event instanceof ResolveEnd))
43
+ .subscribe(initPageInfo);
44
+ }
45
+
46
+ ngOnInit(): void {
47
+ this.pluginsInitialization();
48
+ const layoutUpdateSubscription = this.layout.layoutConfigSubject
49
+ .asObservable()
50
+ .subscribe(() => {
51
+ this.pluginsReInitialization();
52
+ });
53
+ this.unsubscribe.push(layoutUpdateSubscription);
54
+ }
55
+
56
+ pluginsInitialization() {
57
+ setTimeout(() => {
58
+ ToggleComponent.bootstrap();
59
+ ScrollTopComponent.bootstrap();
60
+ DrawerComponent.bootstrap();
61
+ StickyComponent.bootstrap();
62
+ MenuComponent.bootstrap();
63
+ ScrollComponent.bootstrap();
64
+ }, 200);
65
+ }
66
+
67
+ pluginsReInitialization() {
68
+ setTimeout(() => {
69
+ ToggleComponent.reinitialization();
70
+ ScrollTopComponent.reinitialization();
71
+ DrawerComponent.reinitialization();
72
+ StickyComponent.bootstrap();
73
+ MenuComponent.reinitialization();
74
+ ScrollComponent.reinitialization();
75
+ }, 100);
76
+ }
77
+
78
+ ngOnDestroy() {
79
+ this.unsubscribe.forEach((sb) => sb.unsubscribe());
80
+ }
81
+ }
@@ -0,0 +1 @@
1
+ <lib-keenicon name="arrow-up" class="text-white fw-bold"></lib-keenicon>