@retalia/sidebar-navigation 13.4.0

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 (46) hide show
  1. package/README.md +43 -0
  2. package/esm2020/lib/data/support-routes.mjs +55 -0
  3. package/esm2020/lib/data/test-data.mjs +621 -0
  4. package/esm2020/lib/models/cookie-names.mjs +14 -0
  5. package/esm2020/lib/models/environment.mjs +2 -0
  6. package/esm2020/lib/models/http-response.mjs +2 -0
  7. package/esm2020/lib/models/module.mjs +2 -0
  8. package/esm2020/lib/navigation-lib.component.mjs +28 -0
  9. package/esm2020/lib/navigation-lib.module.mjs +50 -0
  10. package/esm2020/lib/navigation-lib.service.mjs +14 -0
  11. package/esm2020/lib/services/auth.service.mjs +43 -0
  12. package/esm2020/lib/services/cookie.service.mjs +34 -0
  13. package/esm2020/lib/services/http.service.mjs +19 -0
  14. package/esm2020/lib/services/module.service.mjs +133 -0
  15. package/esm2020/lib/services/sub-item.service.mjs +47 -0
  16. package/esm2020/lib/sidebar/shop-modal/shop-modal.component.mjs +40 -0
  17. package/esm2020/lib/sidebar/sidebar.component.mjs +182 -0
  18. package/esm2020/lib/sidebar/sub-item/sub-item.component.mjs +52 -0
  19. package/esm2020/lib/topbar/topbar.component.mjs +68 -0
  20. package/esm2020/public-api.mjs +12 -0
  21. package/esm2020/retalia-sidebar-navigation.mjs +5 -0
  22. package/fesm2015/retalia-sidebar-navigation.mjs +1367 -0
  23. package/fesm2015/retalia-sidebar-navigation.mjs.map +1 -0
  24. package/fesm2020/retalia-sidebar-navigation.mjs +1358 -0
  25. package/fesm2020/retalia-sidebar-navigation.mjs.map +1 -0
  26. package/lib/data/support-routes.d.ts +2 -0
  27. package/lib/data/test-data.d.ts +2 -0
  28. package/lib/models/cookie-names.d.ts +12 -0
  29. package/lib/models/environment.d.ts +4 -0
  30. package/lib/models/http-response.d.ts +3 -0
  31. package/lib/models/module.d.ts +32 -0
  32. package/lib/navigation-lib.component.d.ts +12 -0
  33. package/lib/navigation-lib.module.d.ts +14 -0
  34. package/lib/navigation-lib.service.d.ts +6 -0
  35. package/lib/services/auth.service.d.ts +12 -0
  36. package/lib/services/cookie.service.d.ts +12 -0
  37. package/lib/services/http.service.d.ts +2 -0
  38. package/lib/services/module.service.d.ts +20 -0
  39. package/lib/services/sub-item.service.d.ts +12 -0
  40. package/lib/sidebar/shop-modal/shop-modal.component.d.ts +17 -0
  41. package/lib/sidebar/sidebar.component.d.ts +47 -0
  42. package/lib/sidebar/sub-item/sub-item.component.d.ts +16 -0
  43. package/lib/topbar/topbar.component.d.ts +20 -0
  44. package/package.json +44 -0
  45. package/public-api.d.ts +8 -0
  46. package/retalia-sidebar-navigation.d.ts +5 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retalia-sidebar-navigation.mjs","sources":["../../../projects/sidebar-navigation/src/lib/navigation-lib.service.ts","../../../projects/sidebar-navigation/src/lib/data/support-routes.ts","../../../projects/sidebar-navigation/src/lib/models/cookie-names.ts","../../../projects/sidebar-navigation/src/lib/services/http.service.ts","../../../projects/sidebar-navigation/src/lib/data/test-data.ts","../../../projects/sidebar-navigation/src/lib/services/module.service.ts","../../../projects/sidebar-navigation/src/lib/services/sub-item.service.ts","../../../projects/sidebar-navigation/src/lib/services/cookie.service.ts","../../../projects/sidebar-navigation/src/lib/sidebar/sub-item/sub-item.component.ts","../../../projects/sidebar-navigation/src/lib/sidebar/sub-item/sub-item.component.html","../../../projects/sidebar-navigation/src/lib/sidebar/shop-modal/shop-modal.component.ts","../../../projects/sidebar-navigation/src/lib/sidebar/shop-modal/shop-modal.component.html","../../../projects/sidebar-navigation/src/lib/sidebar/sidebar.component.ts","../../../projects/sidebar-navigation/src/lib/sidebar/sidebar.component.html","../../../projects/sidebar-navigation/src/lib/services/auth.service.ts","../../../projects/sidebar-navigation/src/lib/topbar/topbar.component.ts","../../../projects/sidebar-navigation/src/lib/topbar/topbar.component.html","../../../projects/sidebar-navigation/src/lib/navigation-lib.component.ts","../../../projects/sidebar-navigation/src/lib/navigation-lib.component.html","../../../projects/sidebar-navigation/src/lib/navigation-lib.module.ts","../../../projects/sidebar-navigation/src/public-api.ts","../../../projects/sidebar-navigation/src/retalia-sidebar-navigation.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigationLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { ModuleItem } from '../models/module';\r\n\r\nexport const supportRoutes: ModuleItem[] = [\r\n {\r\n id: 0,\r\n authorizationId: 'User Documentation',\r\n name: 'User Documentation',\r\n translatedName: 'User Documentation',\r\n url: 'https://documenation.retalia.cloud',\r\n relationName: 'Documentation',\r\n displayOrder: 1,\r\n entityAccess: [],\r\n sidebarEntries: [],\r\n children: [],\r\n visible: true,\r\n },\r\n {\r\n id: 1,\r\n authorizationId: 'API Documentation',\r\n name: 'API Documentation',\r\n translatedName: 'API Documentation',\r\n url: 'https://postman.retalia.cloud/?version=latest',\r\n displayOrder: 2,\r\n relationName: 'Documentation',\r\n entityAccess: [],\r\n sidebarEntries: [],\r\n children: [],\r\n visible: true,\r\n },\r\n {\r\n id: 2,\r\n authorizationId: 'Release Notes',\r\n name: 'Release Notes',\r\n translatedName: 'Release Notes',\r\n url: 'https://changlog.retalia.cloud',\r\n displayOrder: 3,\r\n relationName: 'Documentation',\r\n entityAccess: [],\r\n sidebarEntries: [],\r\n children: [],\r\n visible: true,\r\n },\r\n {\r\n id: 3,\r\n authorizationId: 'Support',\r\n name: 'Support',\r\n translatedName: 'Support',\r\n url: 'https://retaliasolutions.com/contact-us/',\r\n displayOrder: 4,\r\n relationName: 'Documentation',\r\n entityAccess: [],\r\n sidebarEntries: [],\r\n children: [],\r\n visible: true,\r\n },\r\n];\r\n","export enum CookieNames {\r\n groupId = 'groupId',\r\n id = 'id',\r\n languageCode = 'languageCode',\r\n portalApiToken = 'portalApiToken',\r\n portalRefreshToken = 'portalRefreshToken',\r\n recentlyLoggedIn = 'recentlyLoggedIn',\r\n shopId = 'shopId',\r\n tenantId = 'tenantId',\r\n clientId = 'client_id',\r\n isSidebarOpen = 'isSidebarOpen',\r\n}\r\n","import { HttpResponse } from '../models/http-response';\r\n\r\nexport async function httpGet<T>(\r\n requestUrl: string,\r\n tokenIn: string\r\n): Promise<HttpResponse<T>> {\r\n const token = getCookieValue('portalApiToken');\r\n const response: HttpResponse<T> = await fetch(requestUrl, {\r\n method: 'get',\r\n headers: new Headers({\r\n Authorization: 'Bearer ' + token,\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n }),\r\n });\r\n response.parsedBody = response.ok\r\n ? (response.parsedBody = await response.json())\r\n : [];\r\n return response;\r\n}\r\n\r\nfunction getCookieValue(cookieName: string) {\r\n const b = document.cookie.match(\r\n '(^|[^;]+)\\\\s*' + cookieName + '\\\\s*=\\\\s*([^;]+)'\r\n );\r\n return b ? b.pop() : '';\r\n}\r\n","import { ModulesInfo } from '../models/module';\r\n\r\nexport const testModuleDetails: ModulesInfo = {\r\n modulesDetails: [\r\n {\r\n id: 1039,\r\n authorizationId: 'platformadmin',\r\n name: 'Platform Admin',\r\n url: '/platform-admin',\r\n relationName: 'Tenant',\r\n displayOrder: 0,\r\n entityAccess: [],\r\n sidebarEntries: [\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Tenants',\r\n url: '/platform-admin/tenants',\r\n children: [\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'New Tenant',\r\n url: '/platform-admin/tenants/new',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Tenants With Really Long Split Name',\r\n url: '/platform-admin/tenants/long',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Tenantwithreallylongword',\r\n url: '/platform-admin/tenants/longword',\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Partners',\r\n url: '/platform-admin/partners',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Permissions',\r\n url: '/platform-admin/permissions',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Integrators',\r\n url: '/platform-admin/integrators',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Widgets',\r\n url: '/platform-admin/widgets',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Features',\r\n url: '/platform-admin/features',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Connectors',\r\n url: '/platform-admin/connectors',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Email Customers',\r\n url: '/platform-admin/email-customers',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'platformadmin',\r\n name: 'Reports',\r\n url: '/platform-admin/reports/apps-by-tenant',\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 1024,\r\n authorizationId: 'inventory',\r\n name: 'Inventory',\r\n url: '/inventory',\r\n relationName: 'Tenant',\r\n displayOrder: 17,\r\n entityAccess: [],\r\n sidebarEntries: [\r\n {\r\n moduleAuthorizationId: 'inventory',\r\n name: 'Item List',\r\n url: '/inventory/items',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'inventory',\r\n name: 'Item Creation',\r\n url: '/inventory/item-creation/hierarchy',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'inventory',\r\n name: 'Item Hierarchies',\r\n url: '/inventory/hierarchy',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'inventory',\r\n name: 'Item Import',\r\n url: '/inventory/item-import',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'inventory',\r\n name: 'Purchase Order',\r\n url: '/inventory/purchase-order',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'inventory',\r\n name: 'Receive Goods',\r\n url: '/inventory/receive-goods',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'inventory',\r\n name: 'Stocktake',\r\n url: '/inventory/stocktake',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'inventory',\r\n name: 'Logs',\r\n url: '/inventory/stock-logs',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'inventory',\r\n name: 'Transfers',\r\n url: '/inventory/transfers',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'inventory',\r\n name: 'Stock Lookup Overview',\r\n url: '/inventory/stock-lookup-overview',\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 3,\r\n authorizationId: 'admin',\r\n name: 'Admin',\r\n url: '/admin',\r\n relationName: 'Shop',\r\n displayOrder: 16,\r\n entityAccess: [1, 2, 3],\r\n sidebarEntries: [\r\n {\r\n moduleAuthorizationId: 'admin',\r\n name: 'Manage K3 Connector',\r\n url: '/admin/#!/connector',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'admin',\r\n name: 'Receipt Setup',\r\n url: '/admin/#!/notesetup',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'admin',\r\n name: 'Shop Setup',\r\n url: '/admin/#!/shopsetup',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'admin',\r\n name: 'POS Option',\r\n url: '/admin/#!/posoptions',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'admin',\r\n name: 'Button Management',\r\n url: '/admin/#!/button-management',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'admin',\r\n name: 'Expansions',\r\n url: '/admin/#!/expansions',\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 13,\r\n authorizationId: 'mtd',\r\n name: 'Making Tax Digital',\r\n url: '/',\r\n relationName: 'Tenant',\r\n displayOrder: 13,\r\n entityAccess: [],\r\n sidebarEntries: [\r\n {\r\n moduleAuthorizationId: 'mtd',\r\n name: 'Submissions',\r\n url: '/submissions',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'mtd',\r\n name: 'Payments',\r\n url: '/payments',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'mtd',\r\n name: 'Liabilities',\r\n url: '/liabilities',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'mtd',\r\n name: 'Transactions',\r\n url: '/transactions',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'mtd',\r\n name: 'Logs',\r\n url: '/logs',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'mtd',\r\n name: 'Settings',\r\n url: '/settings',\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 15,\r\n authorizationId: 'customerui',\r\n name: 'Customer',\r\n url: '/customer',\r\n relationName: 'Tenant',\r\n displayOrder: 12,\r\n entityAccess: [],\r\n sidebarEntries: [\r\n {\r\n moduleAuthorizationId: 'customerui',\r\n name: 'Customers',\r\n url: '/customer/customers',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'customerui',\r\n name: 'Export Customers',\r\n url: '/customer/customers-export',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'customerui',\r\n name: 'Companies',\r\n url: '/customer/companies',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'customerui',\r\n name: 'Groups',\r\n url: '/customer/groups',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'customerui',\r\n name: 'Loyalty',\r\n url: '/customer/loyalty/config',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'customerui',\r\n name: 'Settings',\r\n url: '/customer/customersettings',\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n authorizationId: 'backoffice',\r\n name: 'Backoffice',\r\n url: '/rbo',\r\n relationName: 'Tenant',\r\n displayOrder: 9,\r\n entityAccess: [],\r\n sidebarEntries: [\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Shops',\r\n url: '/rbo/#/shops',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Vendors',\r\n url: '/rbo/#/vendors',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Clerks',\r\n url: '/rbo/#/clerks',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Clerk Roles',\r\n url: '/rbo/#/clerkroles',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Expenses',\r\n url: '/rbo/#/expenses',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Reason Codes',\r\n url: '/rbo/#/reasoncodes',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Payment Types',\r\n url: '/rbo/#/payment-types',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Taxes',\r\n url: '/rbo/#/taxes',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Groups',\r\n url: '/rbo/#/groups',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Gift Vouchers',\r\n url: '/rbo/#/giftvoucher',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Label Templates',\r\n url: '/rbo/#/labeltemplates',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Credit Memo',\r\n url: '/rbo/#/creditmemo',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Data Export',\r\n url: '/rbo/#/data-export',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'MobilePay',\r\n url: '/rbo/#/mobilepay',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'backoffice',\r\n name: 'Fiskaly',\r\n url: '/rbo/#/fiskaly',\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 1042,\r\n authorizationId: 'reports',\r\n name: 'Analysis',\r\n url: '/analysis',\r\n relationName: 'Tenant',\r\n displayOrder: 0,\r\n entityAccess: [],\r\n sidebarEntries: [\r\n {\r\n moduleAuthorizationId: 'reports',\r\n name: 'Dashboard',\r\n url: '/analysis/dashboard',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'reports',\r\n name: 'Store Sale Summary',\r\n url: '/analysis/storesalesummary',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'reports',\r\n name: 'Financial Summary',\r\n url: '/analysis/financialsummary',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'reports',\r\n name: 'Clerk Sale Summary',\r\n url: '/analysis/clerksalesummary',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'reports',\r\n name: 'Master Item Sale Summary',\r\n url: '/analysis/masteritemsalesummary',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'reports',\r\n name: 'Item Sale Summary',\r\n url: '/analysis/itemsalesummary',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'reports',\r\n name: 'Hierarchy Sale Summary',\r\n url: '/analysis/hierarchysalesummary',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'reports',\r\n name: 'Vendor Sale Summary',\r\n url: '/analysis/vendorsalesummary',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'reports',\r\n name: 'Customer Sale Summary',\r\n url: '/analysis/customersalesummary',\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 7,\r\n authorizationId: 'report',\r\n name: 'Report',\r\n url: '/report',\r\n relationName: 'Tenant',\r\n displayOrder: 0,\r\n entityAccess: [],\r\n sidebarEntries: [\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Home',\r\n url: '/report/#!/',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Sales Analysis',\r\n url: '/report/#!/salesAnalysis',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Weekly Sales',\r\n url: '/report/#!/weeklySales',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Sales Sundial',\r\n url: '/report/#!/salesSundial',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Financial Report',\r\n url: '/report/#!/financialReport',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Customer Turnover',\r\n url: '/report/#!/customerTurnover',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Transactions Report',\r\n url: '/report/#!/transactionsReport',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Promotions Report',\r\n url: '/report/#!/promotionsReport',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Overview',\r\n url: '/report/#!/generic-report/1',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Index',\r\n url: '/report/#!/generic-report/2',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Employee',\r\n url: '/report/#!/generic-report/3',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Top List',\r\n url: '/report/#!/generic-report/4',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Stock',\r\n url: '/report/#!/generic-report/6',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'report',\r\n name: 'Financial Stock',\r\n url: '/report/#!/generic-report/7',\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n authorizationId: 'stock',\r\n name: 'StockStockStockStockStock',\r\n url: '/stock',\r\n relationName: 'Shop',\r\n displayOrder: 0,\r\n entityAccess: [],\r\n sidebarEntries: [\r\n {\r\n moduleAuthorizationId: 'stock',\r\n name: 'Stock Lookup Overview',\r\n url: '/stock/#!/stock-lookup-overview',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'stock',\r\n name: 'Stock Lookup',\r\n url: '/stock/#!/stock-lookup',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'stock',\r\n name: 'Purchase Orders',\r\n url: '/stock/#!/purchase-orders',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'stock',\r\n name: 'Receive Goods',\r\n url: '/stock/#!/receive-goods',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'stock',\r\n name: 'Transfers',\r\n url: '/stock/#!/transfers',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'stock',\r\n name: 'Stocktake',\r\n url: '/stock/#!/stocktake',\r\n children: [],\r\n },\r\n {\r\n moduleAuthorizationId: 'stock',\r\n name: 'Logs',\r\n url: '/stock/#!/logs',\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n shops: [\r\n { id: 1, description: 'Koge' },\r\n { id: 2, description: 'Waalwijk' },\r\n { id: 3, description: 'Manchester' },\r\n ],\r\n flags: ['TenantAdmin', 'SupportAdmin'],\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { ModuleItem, ModulesInfo, SidebarEntry } from '../models/module';\r\nimport { httpGet } from './http.service';\r\nimport { Subject } from 'rxjs';\r\nimport { testModuleDetails } from '../data/test-data';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ModuleService {\r\n storedModuleFlags: string[] = [];\r\n storedModuleFlagsChange: Subject<string[]> = new Subject<string[]>();\r\n currentRouteName: Subject<string> = new Subject<string>();\r\n currentModule;\r\n modules: ModuleItem[];\r\n\r\n constructor() {\r\n this.storedModuleFlagsChange.subscribe((value) => {\r\n this.storedModuleFlags = value;\r\n });\r\n }\r\n\r\n public async getUserModules(\r\n gatewayUrl: string,\r\n token: string\r\n ): Promise<ModulesInfo> {\r\n if (gatewayUrl === 'TEST') {\r\n this.storedModuleFlagsChange.next(testModuleDetails.flags);\r\n return Promise.resolve(testModuleDetails);\r\n }\r\n\r\n const requestUrl = gatewayUrl + '/Module';\r\n const response = await httpGet<ModulesInfo>(requestUrl, token);\r\n this.storedModuleFlagsChange.next(response.parsedBody.flags);\r\n return Promise.resolve(response.parsedBody);\r\n }\r\n\r\n public setNavigationTitle(selectedItem?: ModuleItem | SidebarEntry) {\r\n var pathArray = window.location.pathname.split('/');\r\n let translatedModuleName = '';\r\n let item = selectedItem;\r\n if (pathArray.length > 1 && !item) {\r\n let currentPath = window.location.pathname;\r\n item = this.findNestedUrlMatch(this.modules, currentPath);\r\n item\r\n ? (translatedModuleName = item.translatedName || item.name)\r\n : (translatedModuleName = pathArray[pathArray.length - 1]);\r\n } else if (item) {\r\n translatedModuleName = item.translatedName || item.name;\r\n }\r\n translatedModuleName === 'main' ? (translatedModuleName = '') : '';\r\n this.currentRouteName.next(translatedModuleName);\r\n\r\n if (item) {\r\n this.setItemVisbility(item);\r\n } else {\r\n this.currentModule = this.modules.find(\r\n (m) =>\r\n m.url.toLowerCase().replace(/\\//g, '') ===\r\n pathArray[1].toLowerCase().replace(/\\//g, '')\r\n );\r\n }\r\n }\r\n\r\n public findNestedUrlMatch(subItems, urlPath: string) {\r\n let nameMatch;\r\n subItems.forEach((i: ModuleItem | SidebarEntry) => {\r\n if (\r\n i.url &&\r\n i.url.replace(/\\//g, '') &&\r\n i.url.toLowerCase().replace(/\\//g, '') ===\r\n urlPath.toLowerCase().replace(/\\//g, '')\r\n ) {\r\n nameMatch = i;\r\n i.active = true;\r\n } else {\r\n i.active = false;\r\n const childMatch = this.findNestedUrlMatch(i.children, urlPath);\r\n if (childMatch) {\r\n nameMatch = childMatch;\r\n }\r\n }\r\n });\r\n\r\n return nameMatch;\r\n }\r\n\r\n public setItemVisbility(item): void {\r\n let activeModule: ModuleItem = this.modules.find(\r\n (m: ModuleItem) =>\r\n m.authorizationId ===\r\n (item.authorizationId || item.moduleAuthorizationId)\r\n );\r\n\r\n this.currentModule ? '' : (this.currentModule = activeModule);\r\n activeModule.children.map((se: SidebarEntry) => {\r\n se.visible = true;\r\n if (item.name !== se.name) {\r\n let isCurrent = se.children.some((sec) => sec.name === item.name);\r\n se.children.map((sec) => {\r\n sec.visible = isCurrent;\r\n });\r\n }\r\n });\r\n }\r\n\r\n public mapModuleItems(modules: ModuleItem[]): ModuleItem[] {\r\n modules.sort(\r\n (a, b) => a.displayOrder - b.displayOrder || a.name.localeCompare(b.name)\r\n ); // Alphabetically if modules share a displayOrder\r\n const isSupportAdmin = this.storedModuleFlags.includes('SupportAdmin');\r\n const isTenantAdmin = this.storedModuleFlags.includes('TenantAdmin');\r\n let portalModule = modules.find((m) => m.authorizationId === 'portal');\r\n isTenantAdmin ? '' : (modules = modules.filter((m) => m !== portalModule));\r\n\r\n // modules = this.mapAdminItems(modules, isSupportAdmin); // Pending support for individual item flags\r\n this.modules = modules.map((m) => {\r\n if (m && m.sidebarEntries) {\r\n m.children = JSON.parse(JSON.stringify(m.sidebarEntries));\r\n m.sidebarEntries = [];\r\n } else {\r\n m.children = [];\r\n }\r\n m.visible = true;\r\n m.sidebarEntries ? `` : (m.children = []);\r\n m.url ? `` : (m.url = '/');\r\n return m;\r\n });\r\n this.setNavigationTitle();\r\n\r\n return this.modules;\r\n }\r\n\r\n public mapAdminItems(modules, isSupportAdmin: boolean): ModuleItem[] {\r\n modules.forEach((m) => {\r\n if (!isSupportAdmin && m.isAdminOnly) {\r\n modules = modules.filter((i) => i.name !== m.name);\r\n }\r\n if (m.children) {\r\n m.children = this.mapAdminItems(m.children, isSupportAdmin);\r\n }\r\n });\r\n\r\n return modules;\r\n }\r\n\r\n public getCurrentModule(selectedItem: ModuleItem | SidebarEntry): ModuleItem {\r\n var moduleRoute = window.location.pathname.split('/')[1];\r\n if (!moduleRoute) return null;\r\n this.setNavigationTitle(selectedItem);\r\n return this.modules.filter(m => m.url.indexOf(moduleRoute) > 0)[0];\r\n }\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { ModuleItem } from '../models/module';\r\nimport { getDomain } from 'tldjs';\r\nimport { set as setCookie } from 'es-cookie';\r\n\r\n@Injectable()\r\nexport class SubItemService {\r\n subItemClickEvent = new EventEmitter();\r\n _storage: Storage;\r\n\r\n constructor() {\r\n this._storage = window.localStorage;\r\n }\r\n\r\n public saveItemInfo(selectedModule: ModuleItem, shopId: number): void {\r\n let moduleKey = `context${selectedModule.relationName}Id`;\r\n let entity: any = selectedModule;\r\n\r\n // The POS module is a special case and we dont want to change the shopId context when\r\n // changing for the other modules. We only change the shopId context for the POS when\r\n // explicitly clicking a new shopId on the POS module.\r\n // For legacy reasons the POS uses the generic key 'shopId' and modules use 'contextShopId'.\r\n if (selectedModule.authorizationId === 'pos') {\r\n moduleKey = 'shopId';\r\n entity = shopId;\r\n }\r\n\r\n if (\r\n (selectedModule.authorizationId !== 'pos' &&\r\n selectedModule.entityAccess.length > 0) ||\r\n selectedModule.name === 'orb'\r\n ) {\r\n entity = shopId;\r\n }\r\n\r\n let tld = getDomain(window.location.href);\r\n tld = tld !== null ? `.${tld}` : '';\r\n\r\n // ? Sets the new data into storage, with a formatted domain\r\n this._storage.setItem(moduleKey, entity.toString());\r\n\r\n // ? TEMP: Sets the new cookie, with a formatted domain\r\n setCookie(moduleKey, entity.toString(), {\r\n path: '/',\r\n domain: tld,\r\n sameSite : 'none', \r\n secure : true\r\n });\r\n }\r\n\r\n subItemclicked(item) {\r\n this.subItemClickEvent.emit(item);\r\n }\r\n}\r\n\r\n// This service exists to allow the EventEmitter to bubble up from the recursive subItem component to the parent sidebar component.\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport {\r\n set as setCookie,\r\n get as getCookie,\r\n remove as removeCookie,\r\n} from 'es-cookie';\r\nimport { CookieNames } from '../models/cookie-names';\r\nimport { getDomain } from 'tldjs';\r\n\r\n// @dynamic\r\n@Injectable()\r\nexport class CookieService {\r\n constructor(@Inject(DOCUMENT) private document: Document) {}\r\n\r\n private getDomain(): string {\r\n let tld = getDomain(this.document.location.href);\r\n tld = tld != null ? '.' + tld : '';\r\n return tld;\r\n }\r\n\r\n getCookie(cookieName: CookieNames): string | undefined {\r\n return getCookie(cookieName);\r\n }\r\n\r\n setCookie(cookieName: CookieNames, value: any): void {\r\n setCookie(cookieName, value, { path: '/', domain: this.getDomain(), sameSite : 'none' , secure : true });\r\n }\r\n\r\n removeCookie(cookieName: CookieNames): void {\r\n removeCookie(cookieName, { path: '/', domain: this.getDomain() });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ModuleItem, SidebarEntry } from '../../models/module';\r\nimport { SubItemService } from '../../services/sub-item.service';\r\n\r\n@Component({\r\n selector: 'sub-item',\r\n templateUrl: './sub-item.component.html',\r\n styleUrls: ['./sub-item.component.scss'],\r\n})\r\nexport class SubItemComponent {\r\n @Input() items: ModuleItem[] | SidebarEntry[];\r\n activeItem = 'Yes';\r\n constructor(private subItemService: SubItemService) {}\r\n\r\n getClass = (item, items) => {\r\n let className = `item ${item.name}`;\r\n if (item.children.length > 0 && !items[0].authorizationId) {\r\n className = `item-group ${item.name}`;\r\n } else if (!item.authorizationId) {\r\n className = `sub-item ${item.name}`;\r\n }\r\n\r\n if (item.active) {\r\n className += ' active';\r\n }\r\n\r\n return className;\r\n };\r\n\r\n subItemClicked(e, item): void {\r\n e.stopPropagation();\r\n item.children.length > 0\r\n ? this.toggleSubItems(item)\r\n : this.onSubItemClick(item);\r\n }\r\n\r\n onSubItemClick(item: ModuleItem): void {\r\n this.subItemService.subItemclicked(item);\r\n }\r\n\r\n toggleSubItems(item: ModuleItem): void {\r\n item.children.map((si) => {\r\n si.visible = !si.visible;\r\n if (si.children && !si.visible) {\r\n si.children.map((si2) => (si2.visible = false)); // ensure nested items close with parent\r\n }\r\n });\r\n }\r\n\r\n checkVisibleSubItems(item: ModuleItem | SidebarEntry): boolean {\r\n return item && item.visible && item.children.some((se) => se.visible);\r\n }\r\n}\r\n","<div *ngFor=\"let item of items; let i = index\"\r\n [attr.data-testid]=\"'nav-' + (item.authorizationId || item.name)\"\r\n [class]=\"this.getClass(item, items)\" (click)=\"subItemClicked($event, item)\">\r\n <ng-container *ngIf=\"item.visible\">\r\n {{ item.translatedName || item.name }}\r\n <img src=\"assets/icons/subItem-arrow.svg\" class=\"sub-item-arrow\"\r\n [ngClass]=\"{'rotated': checkVisibleSubItems(item)}\" *ngIf=\"item.children.length > 0\" />\r\n </ng-container>\r\n <sub-item [items]=\"item.children\" *ngIf=\"item.children\">\r\n </sub-item>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { NgxSmartModalService } from 'ngx-smart-modal';\r\nimport { Shop } from '../../models/module';\r\n\r\n@Component({\r\n selector: 'shop-modal',\r\n templateUrl: './shop-modal.component.html',\r\n styleUrls: ['./shop-modal.component.scss'],\r\n})\r\nexport class ShopModalComponent {\r\n @Input() availableShops: Shop[] = [];\r\n copyAvailableShops: Shop[] = [];\r\n @Output() selectedShop: EventEmitter<Shop> = new EventEmitter();\r\n @Input() shopSearchValue: any = '';\r\n shopSearchPlaceholder = 'Search for a Shop ...';\r\n\r\n constructor(public ngxSmartModalService: NgxSmartModalService) {}\r\n\r\n shopSelected(shop): void {\r\n this.selectedShop.emit(shop);\r\n this.ngxSmartModalService.getModal('shopModal').close();\r\n }\r\n\r\n handleShopSearch(e): void {\r\n if (this.copyAvailableShops.length < 1) {\r\n this.copyAvailableShops = [...this.availableShops];\r\n }\r\n this.shopSearchValue = e && e.target ? e.target.value : '';\r\n this.availableShops = this.copyAvailableShops.filter((shop) =>\r\n shop.description\r\n .toLowerCase()\r\n .includes(this.shopSearchValue.toLowerCase())\r\n );\r\n }\r\n}\r\n","<ngx-smart-modal #shopModal identifier=\"shopModal\">\r\n <h1 class=\"shopSelect\">Shop Select</h1>\r\n <ng-container *ngIf=\"availableShops\">\r\n <ng-container *ngIf=\"availableShops.length > 8 || copyAvailableShops.length > 8\">\r\n <input class=\"shopSearchInput\" type=\"search\" autocomplete=\"off\" id=\"search\" [value]=\"shopSearchValue\"\r\n required=\"false\" [placeholder]=\"shopSearchPlaceholder\" (keyup)=\"handleShopSearch($event)\"\r\n (click)=\"handleShopSearch($event)\" />\r\n </ng-container>\r\n <div class=\"shopButtons\">\r\n <button class=\"shopButton\" *ngFor=\"let shop of availableShops\"\r\n [attr.data-testid]=\"'nav-shop' + shop.id\"\r\n (click)=\"shopSelected(shop)\">{{shop.description}}</button>\r\n </div>\r\n </ng-container>\r\n</ngx-smart-modal>","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ModuleItem, Shop, SidebarEntry } from '../models/module';\r\nimport { SubItemService } from '../services/sub-item.service';\r\nimport { NgxSmartModalService } from 'ngx-smart-modal';\r\nimport { ModuleService } from '../services/module.service';\r\nimport { Environment } from '../models/environment';\r\nimport { supportRoutes } from '../data/support-routes';\r\nimport { CookieNames } from '../models/cookie-names';\r\nimport { CookieService } from '../services/cookie.service';\r\n\r\n@Component({\r\n selector: 'sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss'],\r\n})\r\nexport class SidebarComponent implements OnChanges {\r\n @Output() selectedRoute: EventEmitter<SidebarEntry> = new EventEmitter();\r\n @Input() environment: Environment;\r\n @Input() moduleSearchValue: any = '';\r\n modules: ModuleItem[] = [];\r\n modulesCopy: ModuleItem[] = [];\r\n supportRoutes: ModuleItem[] = supportRoutes;\r\n selectedModule: ModuleItem;\r\n selectedItem;\r\n availableShops: Shop[] = [];\r\n availableShopsCopy: Shop[] = [];\r\n moduleSearchPlaceholder = 'Search Modules ...';\r\n isSidebarOpen: boolean = this.getSidebarState();\r\n hideStatus: boolean = true;\r\n panelButtonStates = {\r\n isModuleOpen: false,\r\n isSupportOpen: false,\r\n };\r\n\r\n constructor(\r\n private moduleService: ModuleService,\r\n private subItemService: SubItemService,\r\n private cookieService: CookieService,\r\n public ngxSmartModalService: NgxSmartModalService\r\n ) {\r\n this.subItemService.subItemClickEvent.subscribe((item) => {\r\n this.subItemClicked(item);\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.environment && changes.environment.currentValue.apiRequestUrl) {\r\n this.getModules(true);\r\n }\r\n }\r\n\r\n // SIDEBAR\r\n public toggleSidebar(e: Event, option: string): void {\r\n e.stopPropagation();\r\n // Allows us to expand the panel items in future without needing to change the toggle logic\r\n for (let item in Object(this.panelButtonStates)) {\r\n item === option\r\n ? (this.panelButtonStates[item] = !this.panelButtonStates[item])\r\n : (this.panelButtonStates[item] = false);\r\n }\r\n this.isSidebarOpen = this.panelButtonStates[option];\r\n this.setSidebarState();\r\n }\r\n\r\n public setSidebarState(): void {\r\n this.cookieService.setCookie(CookieNames.isSidebarOpen, this.isSidebarOpen);\r\n }\r\n\r\n public getSidebarState(): boolean {\r\n let isSidebarOpen: boolean =\r\n this.cookieService.getCookie(CookieNames.isSidebarOpen) == 'true';\r\n if (typeof isSidebarOpen === 'undefined') {\r\n return true;\r\n }\r\n return isSidebarOpen;\r\n }\r\n\r\n public goToPortal(): void {\r\n window.location.href = this.environment.portalUrl;\r\n }\r\n\r\n public handleModuleSearch(e): void {\r\n if (this.modulesCopy.length < 1) {\r\n this.modulesCopy = [...this.modules];\r\n }\r\n\r\n this.moduleSearchValue = e && e.target ? e.target.value : '';\r\n const searchString = this.moduleSearchValue.toLowerCase();\r\n\r\n const moduleCopy = JSON.parse(JSON.stringify(this.modulesCopy));\r\n this.modules = this.filterModules(moduleCopy, searchString);\r\n }\r\n\r\n public filterModules(\r\n moduleItems: ModuleItem[] | SidebarEntry[],\r\n searchTerm: string\r\n ): any[] {\r\n const matches = [];\r\n if (!Array.isArray(this.modules)) return matches;\r\n\r\n moduleItems.forEach((i) => {\r\n if (i.name.toLowerCase().includes(searchTerm)) {\r\n i.visible = true;\r\n matches.push(i);\r\n } else {\r\n const childResults: SidebarEntry[] = this.filterModules(\r\n i.children,\r\n searchTerm\r\n );\r\n if (childResults.length) {\r\n matches.push(Object.assign({}, i, { children: childResults }));\r\n }\r\n }\r\n });\r\n\r\n return matches;\r\n }\r\n\r\n public subItemClicked(item): void {\r\n this.selectedModule = this.modules.find(\r\n (m) =>\r\n m.authorizationId ===\r\n (item.authorizationId || item.moduleAuthorizationId)\r\n );\r\n\r\n if (this.selectedItem) this.selectedItem.active = false;\r\n this.selectedItem = item;\r\n this.selectedItem.active = true;\r\n\r\n if (this.selectedItem.relationName === 'Documentation') {\r\n window.open(this.selectedItem.url, '_blank', 'noopener noreferrer');\r\n } else if (\r\n (this.selectedModule && !this.selectedModule.entityAccess) ||\r\n !this.selectedModule.entityAccess.length\r\n ) {\r\n this.routeToUrl();\r\n } else if (\r\n this.selectedModule &&\r\n this.selectedModule.entityAccess.length === 1\r\n ) {\r\n const soleShop = this.selectedModule.entityAccess[0];\r\n this.subItemService.saveItemInfo(this.selectedModule, soleShop);\r\n this.routeToUrl();\r\n } else {\r\n this.mapShopModal();\r\n this.ngxSmartModalService.getModal('shopModal').open();\r\n }\r\n }\r\n\r\n public selectedShop(selectedShop: Shop): void {\r\n this.subItemService.saveItemInfo(this.selectedModule, selectedShop.id);\r\n this.routeToUrl();\r\n }\r\n\r\n public mapShopModal(): void {\r\n if (this.availableShopsCopy.length < 1) {\r\n this.availableShopsCopy = [...this.availableShops];\r\n }\r\n this.availableShops = this.availableShopsCopy.filter((shop) =>\r\n this.selectedModule.entityAccess.includes(shop.id)\r\n );\r\n }\r\n\r\n public goToStatusPage(): void {\r\n window.open(\r\n 'https://status.retalia.cloud',\r\n '_blank',\r\n 'noopener noreferrer'\r\n );\r\n }\r\n\r\n public routeToUrl(): void {\r\n let currentModule = this.moduleService.getCurrentModule(this.selectedItem);\r\n if (\r\n currentModule &&\r\n this.selectedItem &&\r\n (currentModule.authorizationId === this.selectedItem.authorizationId ||\r\n currentModule.authorizationId === this.selectedItem.moduleAuthorizationId)\r\n ) {\r\n let currentItem = JSON.parse(JSON.stringify(this.selectedItem));\r\n const pathArray = this.selectedItem.url.split('/');\r\n pathArray.splice(0, 2);\r\n currentItem.url = pathArray.join('/');\r\n this.selectedRoute.emit(currentItem);\r\n } else {\r\n const itemUrl = this.selectedItem.url;\r\n window.location.href = itemUrl;\r\n }\r\n }\r\n\r\n private getModules(isFirstCall: boolean): void {\r\n let apiUrl = this.environment.apiRequestUrl;\r\n if (apiUrl.endsWith(\"/\"))\r\n apiUrl = apiUrl.slice(0, -1);\r\n\r\n this.moduleService.getUserModules(apiUrl, '').then((moduleObject) => {\r\n if (!moduleObject || !moduleObject.modulesDetails) {\r\n if (isFirstCall) {\r\n // If the UI relies on an interceptor to refire failed API calls, the initial module call will fail\r\n setTimeout(() => this.getModules(false), 1000);\r\n } else {\r\n console.log(`No modules were found using: ${apiUrl}`);\r\n }\r\n return;\r\n }\r\n\r\n this.availableShops = moduleObject.shops;\r\n this.modules = this.moduleService.mapModuleItems(\r\n moduleObject.modulesDetails\r\n );\r\n this.selectedItem = this.moduleService.findNestedUrlMatch(this.modules,window.location.pathname);\r\n this.panelButtonStates.isModuleOpen = this.isSidebarOpen;\r\n });\r\n }\r\n}\r\n","<div id=\"sidebar-panel\">\r\n <div class=\"panel-item\" (click)=\"toggleSidebar($event, 'isModuleOpen')\" data-testid=\"nav-menu\">\r\n <svg class=\"panel-icon\" *ngIf=\"!panelButtonStates.isModuleOpen\" height=\"14\" width=\"21\" viewBox=\"0 0 18 12\"\r\n fill=\"#3e3e3e\" xmlns=\"http://www.w3.org/2000/svg\" preserveAspectRatio=\"xMinYMin meet\">\r\n <path d=\"M0 12H18V10H0V12ZM0 7H18V5H0V7ZM0 0V2H18V0H0Z\" />\r\n </svg>\r\n <svg class=\"panel-icon\" *ngIf=\"panelButtonStates.isModuleOpen\" height=\"13\" width=\"13\" viewBox=\"0 0 14 14\"\r\n fill=\"#3e3e3e\" xmlns=\"http://www.w3.org/2000/svg\" preserveAspectRatio=\"xMinYMin meet\">\r\n <path\r\n d=\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\" />\r\n </svg>\r\n </div>\r\n <div class=\"panel-item\" (click)=\"toggleSidebar($event, 'isSupportOpen')\" data-testid=\"nav-support\">\r\n <svg class=\"panel-icon\" *ngIf=\"!panelButtonStates.isSupportOpen\" width=\"18\" height=\"21\" viewBox=\"0 0 18 21\"\r\n fill=\"#3e3e3e\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M16 0H2C0.89 0 0 0.9 0 2V16C0 17.1 0.89 18 2 18H6L9 21L12 18H16C17.1 18 18 17.1 18 16V2C18 0.9 17.1 0 16 0ZM10 16H8V14H10V16ZM12.07 8.25L11.17 9.17C10.45 9.9 10 10.5 10 12H8V11.5C8 10.4 8.45 9.4 9.17 8.67L10.41 7.41C10.78 7.05 11 6.55 11 6C11 4.9 10.1 4 9 4C7.9 4 7 4.9 7 6H5C5 3.79 6.79 2 9 2C11.21 2 13 3.79 13 6C13 6.88 12.64 7.68 12.07 8.25Z\" />\r\n </svg>\r\n <svg class=\"panel-icon\" *ngIf=\"panelButtonStates.isSupportOpen\" height=\"13\" width=\"13\" viewBox=\"0 0 14 14\"\r\n fill=\"#3e3e3e\" xmlns=\"http://www.w3.org/2000/svg\" preserveAspectRatio=\"xMinYMin meet\">\r\n <path\r\n d=\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\" />\r\n </svg>\r\n </div>\r\n\r\n\r\n <div class=\"status-button\" (mouseover)=\"hideStatus = false\" (mouseleave)=\"hideStatus = true\"\r\n (click)=\"goToStatusPage()\" data-testid=\"sidebar-status\">\r\n <svg class=\"panel-icon\" width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"#FFFFFF\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M20.625 6.5H1.375C0.615613 6.5 0 5.82842 0 5V2C0 1.17158 0.615613 0.5 1.375 0.5H20.625C21.3844 0.5 22 1.17158 22 2V5C22 5.82842 21.3844 6.5 20.625 6.5ZM18.5625 2.375C17.9929 2.375 17.5312 2.87867 17.5312 3.5C17.5312 4.12133 17.9929 4.625 18.5625 4.625C19.1321 4.625 19.5938 4.12133 19.5938 3.5C19.5938 2.87867 19.1321 2.375 18.5625 2.375ZM15.8125 2.375C15.2429 2.375 14.7812 2.87867 14.7812 3.5C14.7812 4.12133 15.2429 4.625 15.8125 4.625C16.3821 4.625 16.8438 4.12133 16.8438 3.5C16.8438 2.87867 16.3821 2.375 15.8125 2.375ZM20.625 14H1.375C0.615613 14 0 13.3284 0 12.5V9.5C0 8.67158 0.615613 8 1.375 8H20.625C21.3844 8 22 8.67158 22 9.5V12.5C22 13.3284 21.3844 14 20.625 14ZM18.5625 9.875C17.9929 9.875 17.5312 10.3787 17.5312 11C17.5312 11.6213 17.9929 12.125 18.5625 12.125C19.1321 12.125 19.5938 11.6213 19.5938 11C19.5938 10.3787 19.1321 9.875 18.5625 9.875ZM15.8125 9.875C15.2429 9.875 14.7812 10.3787 14.7812 11C14.7812 11.6213 15.2429 12.125 15.8125 12.125C16.3821 12.125 16.8438 11.6213 16.8438 11C16.8438 10.3787 16.3821 9.875 15.8125 9.875ZM20.625 21.5H1.375C0.615613 21.5 0 20.8284 0 20V17C0 16.1716 0.615613 15.5 1.375 15.5H20.625C21.3844 15.5 22 16.1716 22 17V20C22 20.8284 21.3844 21.5 20.625 21.5ZM18.5625 17.375C17.9929 17.375 17.5312 17.8787 17.5312 18.5C17.5312 19.1213 17.9929 19.625 18.5625 19.625C19.1321 19.625 19.5938 19.1213 19.5938 18.5C19.5938 17.8787 19.1321 17.375 18.5625 17.375ZM15.8125 17.375C15.2429 17.375 14.7812 17.8787 14.7812 18.5C14.7812 19.1213 15.2429 19.625 15.8125 19.625C16.3821 19.625 16.8438 19.1213 16.8438 18.5C16.8438 17.8787 16.3821 17.375 15.8125 17.375Z\" />\r\n </svg>\r\n <iframe id=\"status-frame\" [ngClass]=\"{'isOpen': !hideStatus, 'isClosed': hideStatus }\"\r\n src=\"//status.retalia.cloud/embed-status/light-sm\" name=\"statusPage\" width=\"230\" height=\"61\" frameBorder=\"0\"\r\n scrolling=\"no\">\r\n </iframe>\r\n </div>\r\n</div>\r\n\r\n<div id=\"sidebar-container\" [class.open-sidebar]=\"isSidebarOpen\">\r\n <div id=\"sticky-header\">\r\n <img class=\"logo-full\" height=\"40px\" src=\"https://imagineshared.blob.core.windows.net/portal/retalia_files/logos/sidebar_logo.png\" (click)=\"goToPortal()\"\r\n data-testid=\"nav-logo\" />\r\n <div class=\"module-divider\"></div>\r\n <div class=\"moduleSearchbar\" *ngIf=\"panelButtonStates.isModuleOpen\">\r\n <input class=\"moduleSearchInput\" type=\"search\" autocomplete=\"off\" id=\"search\" [value]=\"moduleSearchValue\"\r\n required=\"false\" [placeholder]=\"moduleSearchPlaceholder\" (keyup)=\"handleModuleSearch($event)\"\r\n (click)=\"handleModuleSearch($event)\" />\r\n </div>\r\n </div>\r\n <div id=\"menu\" *ngIf=\"panelButtonStates.isModuleOpen\">\r\n <sub-item [items]=\"modules\"></sub-item>\r\n </div>\r\n <div id=\"menu\" *ngIf=\"panelButtonStates.isSupportOpen\">\r\n <sub-item [items]=\"supportRoutes\"></sub-item>\r\n </div>\r\n</div>\r\n\r\n<shop-modal [availableShops]=\"availableShops\" (selectedShop)=\"selectedShop($event)\"></shop-modal>","import { Inject, Injectable } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n// @dynamic\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n environmentUrl: string;\r\n _refreshTokenStore: string;\r\n _tokenStore: string;\r\n\r\n constructor(@Inject(DOCUMENT) private document: Document) {}\r\n\r\n public logout(): void {\r\n this.clearCookies();\r\n }\r\n\r\n clearCookies(): void {\r\n let cookies = document.cookie.split('; ');\r\n for (let c = 0; c < cookies.length; c++) {\r\n let domain = window.location.hostname.split('.');\r\n while (domain.length > 0) {\r\n let cookieBase =\r\n encodeURIComponent(cookies[c].split(';')[0].split('=')[0]) +\r\n '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' +\r\n domain.join('.') +\r\n ' ;path=';\r\n let p = location.pathname.split('/');\r\n document.cookie = cookieBase + '/';\r\n while (p.length > 0) {\r\n document.cookie = cookieBase + p.join('/');\r\n p.pop();\r\n }\r\n domain.shift();\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, HostListener, Input } from '@angular/core';\r\nimport { Environment } from '../models/environment';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { ModuleService } from '../services/module.service';\r\n\r\n@Component({\r\n selector: 'topbar',\r\n templateUrl: './topbar.component.html',\r\n styleUrls: ['./topbar.component.scss'],\r\n})\r\nexport class TopbarComponent {\r\n @Input() environment: Environment;\r\n currentRouteName: string;\r\n isTenantAdmin = false;\r\n showProfileDropdown = false;\r\n\r\n constructor(\r\n private moduleService: ModuleService,\r\n private authService: AuthService\r\n ) {\r\n this.moduleService.storedModuleFlagsChange.subscribe((value) => {\r\n value ? (this.isTenantAdmin = value.includes('TenantAdmin')) : '';\r\n });\r\n this.moduleService.currentRouteName.subscribe((value) => {\r\n this.currentRouteName = value;\r\n });\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: Event): void {\r\n this.closeDropdown(event);\r\n }\r\n\r\n public showDropdownOptions(dropdownName: string): void {\r\n if (dropdownName === 'profile') {\r\n this.showProfileDropdown = true;\r\n }\r\n }\r\n\r\n public closeDropdown(event: Event): void {\r\n if (!(event.target instanceof Element)) {\r\n this.showProfileDropdown = false;\r\n return;\r\n }\r\n\r\n const element = event.composedPath()[0];\r\n if (!(element instanceof Element)) {\r\n this.showProfileDropdown = false;\r\n return;\r\n }\r\n\r\n if (event.target.id !== 'avatar' && element.id !== 'avatar') {\r\n this.showProfileDropdown = false;\r\n }\r\n }\r\n\r\n public clickDetails(e: Event): void {\r\n if (this.environment.portalUrl.slice(-1) !== `/`) {\r\n this.environment.portalUrl += `/`;\r\n }\r\n\r\n const detailsUrl = this.environment.portalUrl + 'profile/general';\r\n window.location.href = detailsUrl;\r\n }\r\n\r\n public logout(): void {\r\n if (this.environment.portalUrl.slice(-1) !== `/`) {\r\n this.environment.portalUrl += `/`;\r\n }\r\n\r\n this.authService.logout();\r\n const loginUrl = this.environment.portalUrl + 'auth/login';\r\n window.location.href = loginUrl;\r\n }\r\n}\r\n","<nav class=\"top-menu\">\r\n\r\n <div id=\"profile\">\r\n\r\n <div id=\"avatar\" (click)=\"showDropdownOptions('profile')\" data-testid=\"nav-profile\">\r\n <svg class=\"profile-icon\" width=\"24\" height=\"24\" viewBox=\"0 0 32 32\" fill=\"#213244\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M16 20C20.4183 20 24 16.4183 24 12C24 7.58172 20.4183 4 16 4C11.5817 4 8 7.58172 8 12C8 16.4183 11.5817 20 16 20Z\"\r\n stroke=\"white\" stroke-width=\"2\" stroke-miterlimit=\"10\" />\r\n <path\r\n d=\"M3.87354 26.9988C5.10299 24.8708 6.8708 23.1037 8.99939 21.8752C11.128 20.6467 13.5424 20 16.0001 20C18.4577 20 20.8721 20.6468 23.0007 21.8754C25.1292 23.1039 26.897 24.871 28.1264 26.9991\"\r\n stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n <div *ngIf=\"showProfileDropdown\" class=\"dropdown-items\">\r\n <div class=\"option-text\" (click)=\"clickDetails($event)\" data-testid=\"nav-profile-settings\">\r\n <img class=\"dropdown-icon\" src=\"assets/icons/topbar-settings.svg\" />\r\n Update details\r\n </div>\r\n <div class=\"option-text\" (click)=\"logout()\" data-testid=\"nav-profile-logout\">\r\n <img class=\"dropdown-icon\" src=\"assets/icons/topbar-logout.svg\" />\r\n Logout\r\n </div>\r\n </div>\r\n </div>\r\n</nav>","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { Environment } from './models/environment';\r\nimport { SidebarEntry } from './models/module';\r\n\r\n@Component({\r\n selector: 'sidebar-navigation',\r\n templateUrl: './navigation-lib.component.html',\r\n styleUrls: ['./navigation-lib.component.scss'],\r\n encapsulation: ViewEncapsulation.ShadowDom,\r\n})\r\nexport class NavigationLibComponent {\r\n @Output() selectedRoute: EventEmitter<SidebarEntry> = new EventEmitter();\r\n @Input() useCustomPage = false;\r\n @Input() environment: Environment = <Environment>{};\r\n\r\n public routeSelected(selectedItem): void {\r\n this.selectedRoute.emit(selectedItem);\r\n }\r\n}\r\n","<div id=\"root\">\r\n <div id=\"main\">\r\n <sidebar [environment]=\"environment\" (selectedRoute)=\"routeSelected($event)\"></sidebar>\r\n <topbar [environment]=\"environment\"></topbar>\r\n <div *ngIf=\"!useCustomPage\" class=\"page-container\">\r\n <div class=\"page-body\">\r\n <div class=\"content\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"useCustomPage\" class=\"content\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgxSmartModalModule } from 'ngx-smart-modal';\r\n\r\nimport { NavigationLibComponent } from './navigation-lib.component';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { TopbarComponent } from './topbar/topbar.component';\r\nimport { SubItemComponent } from './sidebar/sub-item/sub-item.component';\r\nimport { SubItemService } from './services/sub-item.service';\r\nimport { ShopModalComponent } from './sidebar/shop-modal/shop-modal.component';\r\n\r\nimport { ModuleService } from './services/module.service';\r\nimport { AuthService } from './services/auth.service';\r\nimport { CookieService } from './services/cookie.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n SidebarComponent,\r\n SubItemComponent,\r\n TopbarComponent,\r\n NavigationLibComponent,\r\n ShopModalComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n NgxSmartModalModule.forRoot(),\r\n ],\r\n providers: [SubItemService, ModuleService, AuthService, CookieService],\r\n entryComponents: [NavigationLibComponent],\r\n exports: [NavigationLibComponent],\r\n})\r\nexport class NavigationLibModule {}\r\n","/*\r\n * Public API Surface of sidebar-navigation\r\n */\r\n\r\nexport * from './lib/navigation-lib.service';\r\nexport * from './lib/navigation-lib.component';\r\nexport * from './lib/navigation-lib.module';\r\n\r\nexport * from './lib/models/module';\r\n\r\nexport * from './lib/services/auth.service';\r\nexport * from './lib/services/http.service';\r\nexport * from './lib/services/module.service';\r\nexport * from './lib/services/sub-item.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["setCookie","getCookie","removeCookie","i1.SubItemService","i1.ModuleService","i2.SubItemService","i3.CookieService","i4","i5.SubItemComponent","i6.ShopModalComponent","i7","i2.AuthService","i3","i1.SidebarComponent","i2.TopbarComponent"],"mappings":"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"}