@mis-wis/common 0.1.9 → 0.2.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 (54) hide show
  1. package/esm2020/lib/components/create-non-shift-modal/create-non-shift-modal.component.mjs +233 -0
  2. package/esm2020/lib/constants/assets.constants.mjs +8 -0
  3. package/esm2020/lib/models/env.model.mjs +1 -1
  4. package/esm2020/lib/models/session.model.mjs +2 -0
  5. package/esm2020/lib/services/http.service.mjs +29 -9
  6. package/esm2020/lib/services/session.errors.mjs +28 -0
  7. package/esm2020/lib/services/session.service.mjs +148 -0
  8. package/esm2020/lib/wis-common.module.mjs +13 -8
  9. package/esm2020/public-api.mjs +5 -1
  10. package/fesm2015/mis-wis-common.mjs +459 -25
  11. package/fesm2015/mis-wis-common.mjs.map +1 -1
  12. package/fesm2020/mis-wis-common.mjs +451 -25
  13. package/fesm2020/mis-wis-common.mjs.map +1 -1
  14. package/lib/components/create-non-shift-modal/create-non-shift-modal.component.d.ts +56 -0
  15. package/lib/constants/assets.constants.d.ts +7 -0
  16. package/lib/models/env.model.d.ts +1 -0
  17. package/lib/models/session.model.d.ts +21 -0
  18. package/lib/services/http.service.d.ts +16 -5
  19. package/lib/services/session.errors.d.ts +15 -0
  20. package/lib/services/session.service.d.ts +49 -0
  21. package/lib/wis-common.module.d.ts +9 -4
  22. package/mis-wis-common-0.2.0.tgz +0 -0
  23. package/package.json +3 -2
  24. package/public-api.d.ts +4 -0
  25. package/src/assets/calendar.svg +7 -0
  26. package/src/assets/images/icons/Wis-icon.svg +4 -0
  27. package/src/assets/images/icons/brand.png +0 -0
  28. package/src/assets/images/icons/broascast.svg +3 -0
  29. package/src/assets/images/icons/bulk-upload.svg +3 -0
  30. package/src/assets/images/icons/desk-mgmt.svg +6 -0
  31. package/src/assets/images/icons/employees-sidebar.svg +3 -0
  32. package/src/assets/images/icons/help-section.svg +4 -0
  33. package/src/assets/images/icons/home.svg +3 -0
  34. package/src/assets/images/icons/logout.svg +4 -0
  35. package/src/assets/images/icons/manage-premise.svg +3 -0
  36. package/src/assets/images/icons/meeting-room.svg +7 -0
  37. package/src/assets/images/icons/mis-icon.svg +3 -0
  38. package/src/assets/images/icons/my-bookings.svg +5 -0
  39. package/src/assets/images/icons/profile.svg +3 -0
  40. package/src/assets/images/icons/reception.svg +14 -0
  41. package/src/assets/images/icons/report.svg +3 -0
  42. package/src/assets/images/icons/resource-group.svg +3 -0
  43. package/src/assets/images/icons/roles.svg +3 -0
  44. package/src/assets/images/icons/sanitize.svg +10 -0
  45. package/src/assets/images/icons/seat-mgmt.svg +3 -0
  46. package/src/assets/images/icons/settings-sidebar.svg +3 -0
  47. package/src/assets/images/icons/signout.svg +4 -0
  48. package/src/assets/images/icons/user-group.svg +6 -0
  49. package/src/assets/images/icons/user-permission.svg +5 -0
  50. package/src/assets/images/icons/utilisation.svg +3 -0
  51. package/src/assets/images/icons/vaccine_approval.svg +8 -0
  52. package/src/assets/images/icons/vaccine_upload.png +0 -0
  53. package/src/assets/images/icons/work-planner-sidebar.svg +3 -0
  54. package/src/assets/images/icons/workInSyncText.svg +14 -0
@@ -1 +1 @@
1
- {"version":3,"file":"mis-wis-common.mjs","sources":["../../../libraries/wis-common/src/lib/modules/auth/auth.service.ts","../../../libraries/wis-common/src/lib/modules/auth/auth.module.ts","../../../libraries/wis-common/src/lib/services/configuration.service.ts","../../../libraries/wis-common/src/lib/functions/nav-filter.function.ts","../../../libraries/wis-common/src/lib/functions/cookie.function.ts","../../../libraries/wis-common/src/lib/functions/url.functions.ts","../../../libraries/wis-common/src/lib/interceptors/auth.interceptor.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.html","../../../libraries/wis-common/src/lib/services/loader.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.constant.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.functions.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.module.ts","../../../libraries/wis-common/src/lib/constants/emp-web-exp.constants.ts","../../../libraries/wis-common/src/lib/services/http.service.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.html","../../../libraries/wis-common/src/lib/wis-common.module.ts","../../../libraries/wis-common/src/lib/services/mfe-communication.service.ts","../../../libraries/wis-common/src/public-api.ts","../../../libraries/wis-common/src/mis-wis-common.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\nimport { IUserInfo } from \"./auth.model\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AuthService {\n userDetails: IUserInfo;\n\n constructor() {}\n\n init(user: IUserInfo) {\n this.userDetails = user;\n }\n}\n","import { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AuthService } from \"./auth.service\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class AuthModule {\n /**\n *\n * @returns ModuleWithProviders<AuthModule>\n */\n static forRoot(): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [AuthService]\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ConfigurationService {\n constructor() {}\n}\n","import { NsWISConfigurations } from \"../models/configurations.model\";\n\nexport const filterNavList = (\n navList: NsWISConfigurations.ISidenavLink[],\n features: NsWISConfigurations.IFeaturesMap\n): NsWISConfigurations.ISidenavLink[] => {\n return navList.filter(nav => {\n const mustHave = nav.mustHaveBasedProperty && nav.mustHaveBasedProperty.every(basedProperty => features[basedProperty]);\n const canHave = nav.canHaveBasedProperty && nav.canHaveBasedProperty.some(basedProperty => features[basedProperty]);\n if ((mustHave || canHave) && nav.children) {\n nav.children = filterNavList(nav.children, features);\n }\n return mustHave || canHave;\n });\n};\n","interface ICookieOptions {\n expires?: string;\n path?: string;\n domain?: string;\n \"Max-Age\"?: string;\n Secure?: boolean;\n HttpOnly?: boolean;\n SameSite?: \"Strict\" | \"Lax\" | \"None\";\n}\n\nexport function getCookie(name: string): string {\n const cookies = {};\n const cookieString = document.cookie;\n cookieString.split(\"; \").forEach(cookie => {\n const [key, value] = cookie.split(\"=\");\n cookies[key] = value;\n });\n return cookies[name] || undefined;\n}\n\nexport function setCookie(name: string, value: string, options?: ICookieOptions): void {\n let cookieStr = `${name}=${value};`;\n if (options) {\n const optsSelected = Object.keys(options);\n for (const opt of optsSelected) {\n cookieStr += ` ${opt}${(typeof options[opt] === \"string\" && `=${options[opt]}`) || \"\"};`;\n }\n }\n cookieStr += \";secure; SameSite=Strict;\";\n document.cookie = cookieStr;\n}\n\nexport function removeCookie(name: string, domain?: string): void {\n setCookie(name, \"\", { expires: new Date(0).toUTCString(), domain });\n}\n","export function getQueryParam(queryString: string): string | null {\n const results = new RegExp(\"[?&]\" + queryString + \"=([^&#]*)\").exec(window.location.href);\n if (results === null) {\n return null;\n } else {\n return decodeURIComponent(results[1]) || null;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { tap } from \"rxjs/operators\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { getCookie } from \"../functions/cookie.function\";\nimport { getQueryParam } from \"../functions/url.functions\";\n\nconst TOKEN_NAME = \"x-wis-token\";\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(private route: ActivatedRoute, private toast: ToastService) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler) {\n const paramsMap = this.route.snapshot.queryParamMap;\n const buid = getQueryParam(\"buid\") || getQueryParam(\"buId\") || \"\";\n const empGuid = getQueryParam(\"empGuid\") || getQueryParam(\"empGuId\") || getQueryParam(\"userId\") || \"\";\n // const source = getQueryParam(\"source\");\n const authToken = getQueryParam(\"auth-token\");\n const token = getCookie(`sso-wis-token-${buid}`);\n const mobile_app_token = getCookie(TOKEN_NAME);\n const cloneReq = request.clone({\n setHeaders: {\n \"x-tenant-id\": buid,\n \"x-user-id\": empGuid,\n ...(!!token && { [TOKEN_NAME]: token }),\n ...(!!authToken && { [TOKEN_NAME]: authToken }),\n ...(!!mobile_app_token && { [TOKEN_NAME]: mobile_app_token })\n }\n });\n return next.handle(cloneReq).pipe(\n tap(\n () => {},\n err => {\n if (err instanceof HttpErrorResponse && err.status === 401) {\n this.toast.displayMsg(\"Your session has expired. Please login again.\",6000);\n }\n }\n )\n );\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"mis-common-loader\",\n templateUrl: \"./loader.component.html\",\n styleUrls: [\"./loader.component.scss\"]\n})\nexport class LoaderComponent implements OnInit {\n message: string;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"message-wrapper\" *ngIf=\"message; else noMessageLoader\">\n <span><mis-loader type=\"block\"></mis-loader></span>\n <p>{{ message }}</p>\n</div>\n<ng-template #noMessageLoader>\n <mis-loader></mis-loader>\n</ng-template>\n","/** @format */\n\nimport { GlobalPositionStrategy, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { LoaderComponent } from \"../components/loader/loader.component\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoaderService {\n private overlayRef: OverlayRef;\n public loading = false;\n\n constructor(private overlay: Overlay) {}\n\n show(message?: string): void {\n this.loading = true;\n if (this.overlayRef?.hasAttached()) {\n return;\n }\n const { positionStrategy, width, backdropClass, hasMessage } = this.calcLoaderProperties(!!message);\n const config = new OverlayConfig({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n width,\n backdropClass\n });\n this.overlayRef = this.overlay.create(config);\n const portal = new ComponentPortal(LoaderComponent, null);\n const componentRef = this.overlayRef.attach(portal);\n if (hasMessage) {\n componentRef.instance.message = message;\n }\n }\n\n hide(): void {\n this.loading = false;\n this.overlayRef?.detach();\n this.overlayRef?.dispose();\n }\n\n private calcLoaderProperties(hasMessage: boolean): {\n positionStrategy: GlobalPositionStrategy;\n width: string;\n backdropClass: string;\n hasMessage: boolean;\n } {\n const positionStrategy = this.overlay.position().global();\n let width = \"100vh\";\n let backdropClass = \"cdk-overlay-transparent-backdrop\";\n if (hasMessage) {\n width = \"initial\";\n backdropClass = \"wis-common-loader-bg\";\n positionStrategy.centerHorizontally().centerVertically();\n } else {\n positionStrategy.top(\"0px\").right(\"0px\");\n }\n return { positionStrategy, width, backdropClass, hasMessage };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_LOGGER = {\n APP_NAME: \"wisLoggerApp\",\n ENV_VAR: \"wisLoggerEnv\"\n};\n","import { TEnvName } from \"./logger.model\";\nconst envMap = {\n dev: \"https://bff.devcl.moveinsync.com\",\n qa: \"https://bff.stage.moveinsync.com\",\n production: \"https://bff.moveinsync.com\",\n uat: \"https://wisbff-uat.moveinsync.com\",\n \"production-green\": \"https://wisempweb-green.moveinsync.com\",\n \"production-beta\": \"https://bff-beta.moveinsync.com\",\n \"production-eu\": \"https://bff.eu.moveinsync.com\",\n \"production-eu-green\": \"https://bff-green.eu.moveinsync.com\",\n \"production-mu\": \"https://bff.moveinsync.in\"\n};\nexport function environmentHandler(env: TEnvName) {\n if (!env) {\n return \"/bff\";\n }\n return envMap[env];\n}\n","import { TEnvName } from \"./logger.model\";\nimport { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { environmentHandler } from \"./logger.functions\";\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoggerService {\n private cookies: boolean = false;\n\n constructor(\n private http: HttpClient,\n @Inject(CONSTANTS_LOGGER.APP_NAME) private appName: string,\n @Inject(CONSTANTS_LOGGER.ENV_VAR) private appEnv: TEnvName\n ) {}\n\n useCookies(useCookies: boolean) {\n this.cookies = useCookies;\n }\n\n private logRequest(data: any, logLevel: \"info\" | \"error\" | \"warn\") {\n const request = {\n data,\n cookies: this.cookies ? document.cookie : undefined,\n logLevel\n };\n this.postLog(request);\n }\n\n private postLog(request) {\n const url = `${environmentHandler(this.appEnv)}/report-log/${this.appName}`;\n this.http.post(`${url}`, request).subscribe();\n }\n\n info(data: any) {\n this.logRequest(data, \"info\");\n }\n\n warn(data: any) {\n this.logRequest(data, \"warn\");\n }\n\n error(data: any, componentName: string, serviceUrl?: string) {\n this.logRequest({ ...data, componentName, serviceUrl }, \"error\");\n }\n}\n","import { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { LoggerService } from \"./logger.service\";\nimport { TEnvName } from \"./logger.model\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class LoggerModule {\n /**\n *\n * @param appName any app name eg. FAQ, Floor Plan, In App Popup, etc.\n * @param env \"dev\" | \"qa\" | \"uat\" | \"prod\" | \"prod-beta\" | \"prod-green\" | \"prod-eu\" | \"prod-eu-green\" | undefined\n * @returns ModuleWithProviders<LoggerModule>\n */\n static forChild(appName: string, env?: TEnvName): ModuleWithProviders<LoggerModule> {\n return {\n ngModule: LoggerModule,\n providers: [\n {\n provide: CONSTANTS_LOGGER.APP_NAME,\n useValue: appName\n },\n {\n provide: CONSTANTS_LOGGER.ENV_VAR,\n useValue: env\n },\n LoggerService\n ]\n };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_WIS_COMMON = {\n ENV_VAR: \"wisCommonEnvironment\"\n};\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CONSTANTS_WIS_COMMON } from \"../constants/emp-web-exp.constants\";\nimport { NsWISConfigurations } from \"../models/configurations.model\";\nimport { NsWISCommon } from \"../models/env.model\";\nimport { AuthService } from \"../modules/auth/auth.service\";\n\nconst API_URLS = {\n CONFIGURATIONS: \"configurations\"\n};\n\n@Injectable()\nexport class HttpService {\n constructor(@Inject(CONSTANTS_WIS_COMMON) public env: NsWISCommon.IEnv, private auth: AuthService, private http: HttpClient) {}\n\n getConfigurations(): Observable<NsWISConfigurations.IConfigurations> {\n return this.http.get<NsWISConfigurations.IConfigurations>(`${this.env.empExp}/${this.auth.userDetails.buid}/${API_URLS.CONFIGURATIONS}`);\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"wis-common-sidenav\",\n templateUrl: \"./sidenav.component.html\",\n styleUrls: [\"./sidenav.component.scss\"]\n})\nexport class SidenavComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"wis-sidenav-wrapper\">\n <div class=\"wis-sidenav-header\">\n <div class=\"wis-sidenav-header-logo\">\n <img src=\"assets/sidenav/assets/Wis-icon.svg\" alt=\"\" />\n </div>\n <div class=\"wis-sidenav-header-title\">\n <h1>WIS</h1>\n </div>\n </div>\n <div class=\"wis-sidenav-body\">\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-home\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Home</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-user\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Profile</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-users\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Users</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-cog\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Settings</h3>\n </div>\n </div>\n </div>\n</div>\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ConfigurationService } from \"./services/configuration.service\";\nimport { NsWISCommon } from \"./models/env.model\";\nimport { CONSTANTS_WIS_COMMON } from \"./constants/emp-web-exp.constants\";\nimport { HttpService } from \"./services/http.service\";\nimport { LoaderModule } from \"mis-crystal-design-system/loader\";\nimport { LoaderComponent } from \"./components/loader/loader.component\";\nimport { LoaderService } from \"./services/loader.service\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { SidenavComponent } from \"./components/sidenav/sidenav.component\";\n\n@NgModule({\n declarations: [LoaderComponent, SidenavComponent],\n imports: [CommonModule, OverlayModule, LoaderModule],\n providers: [HttpService],\n exports: [SidenavComponent]\n})\nexport class WisCommonModule {\n static forRoot(env: NsWISCommon.IEnv): ModuleWithProviders<WisCommonModule> {\n return {\n ngModule: WisCommonModule,\n providers: [{ provide: CONSTANTS_WIS_COMMON, useValue: env }, ConfigurationService, LoaderService]\n };\n }\n}\n","import { ReplaySubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { NsWISConfigurations } from \"../models/configurations.model\";\n@Injectable({\n providedIn: 'root'\n})\nexport class MfeCommunicationService {\n private _etsLoginUser: NsWISConfigurations.ILoginUserDetails;\n\n setUserDetails(userDetails: NsWISConfigurations.ILoginUserDetails): void {\n this._etsLoginUser = userDetails;\n }\n\n getUserDetails(): NsWISConfigurations.ILoginUserDetails {\n return this._etsLoginUser;\n }\n\n constructor() { }\n loginDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n employeeExperience = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n floorPlan = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n meetingRooms = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n adminUI = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n paymentsDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1); \n visitorMgmt = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n}\n","/*\n * Public API Surface of wis-common\n */\n\nexport * from \"./lib/modules/auth/auth.service\";\nexport * from \"./lib/modules/auth/auth.module\";\nexport * from \"./lib/services/configuration.service\";\nexport * from \"./lib/models/configurations.model\";\nexport * from \"./lib/functions/nav-filter.function\";\nexport * from \"./lib/functions/cookie.function\";\nexport * from \"./lib/functions/url.functions\";\nexport * from \"./lib/interceptors/auth.interceptor\";\nexport * from \"./lib/services/loader.service\";\nexport * from \"./lib/modules/logger/logger.module\";\nexport * from \"./lib/modules/logger/logger.service\";\nexport * from \"./lib/wis-common.module\";\nexport * from \"./lib/modules/logger/logger.model\";\nexport * from \"./lib/components/sidenav/sidenav.component\";\nexport * from \"./lib/services/mfe-communication.service\";\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.AuthService"],"mappings":"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"}
1
+ {"version":3,"file":"mis-wis-common.mjs","sources":["../../../libraries/wis-common/src/lib/modules/auth/auth.service.ts","../../../libraries/wis-common/src/lib/modules/auth/auth.module.ts","../../../libraries/wis-common/src/lib/services/configuration.service.ts","../../../libraries/wis-common/src/lib/functions/nav-filter.function.ts","../../../libraries/wis-common/src/lib/functions/cookie.function.ts","../../../libraries/wis-common/src/lib/functions/url.functions.ts","../../../libraries/wis-common/src/lib/interceptors/auth.interceptor.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.html","../../../libraries/wis-common/src/lib/services/loader.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.constant.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.functions.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.module.ts","../../../libraries/wis-common/src/lib/constants/emp-web-exp.constants.ts","../../../libraries/wis-common/src/lib/services/http.service.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.html","../../../libraries/wis-common/src/lib/constants/assets.constants.ts","../../../libraries/wis-common/src/lib/components/create-non-shift-modal/create-non-shift-modal.component.ts","../../../libraries/wis-common/src/lib/components/create-non-shift-modal/create-non-shift-modal.component.html","../../../libraries/wis-common/src/lib/wis-common.module.ts","../../../libraries/wis-common/src/lib/services/mfe-communication.service.ts","../../../libraries/wis-common/src/lib/services/session.errors.ts","../../../libraries/wis-common/src/lib/services/session.service.ts","../../../libraries/wis-common/src/public-api.ts","../../../libraries/wis-common/src/mis-wis-common.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\nimport { IUserInfo } from \"./auth.model\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AuthService {\n userDetails: IUserInfo;\n\n constructor() {}\n\n init(user: IUserInfo) {\n this.userDetails = user;\n }\n}\n","import { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AuthService } from \"./auth.service\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class AuthModule {\n /**\n *\n * @returns ModuleWithProviders<AuthModule>\n */\n static forRoot(): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [AuthService]\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ConfigurationService {\n constructor() {}\n}\n","import { NsWISConfigurations } from \"../models/configurations.model\";\n\nexport const filterNavList = (\n navList: NsWISConfigurations.ISidenavLink[],\n features: NsWISConfigurations.IFeaturesMap\n): NsWISConfigurations.ISidenavLink[] => {\n return navList.filter(nav => {\n const mustHave = nav.mustHaveBasedProperty && nav.mustHaveBasedProperty.every(basedProperty => features[basedProperty]);\n const canHave = nav.canHaveBasedProperty && nav.canHaveBasedProperty.some(basedProperty => features[basedProperty]);\n if ((mustHave || canHave) && nav.children) {\n nav.children = filterNavList(nav.children, features);\n }\n return mustHave || canHave;\n });\n};\n","interface ICookieOptions {\n expires?: string;\n path?: string;\n domain?: string;\n \"Max-Age\"?: string;\n Secure?: boolean;\n HttpOnly?: boolean;\n SameSite?: \"Strict\" | \"Lax\" | \"None\";\n}\n\nexport function getCookie(name: string): string {\n const cookies = {};\n const cookieString = document.cookie;\n cookieString.split(\"; \").forEach(cookie => {\n const [key, value] = cookie.split(\"=\");\n cookies[key] = value;\n });\n return cookies[name] || undefined;\n}\n\nexport function setCookie(name: string, value: string, options?: ICookieOptions): void {\n let cookieStr = `${name}=${value};`;\n if (options) {\n const optsSelected = Object.keys(options);\n for (const opt of optsSelected) {\n cookieStr += ` ${opt}${(typeof options[opt] === \"string\" && `=${options[opt]}`) || \"\"};`;\n }\n }\n cookieStr += \";secure; SameSite=Strict;\";\n document.cookie = cookieStr;\n}\n\nexport function removeCookie(name: string, domain?: string): void {\n setCookie(name, \"\", { expires: new Date(0).toUTCString(), domain });\n}\n","export function getQueryParam(queryString: string): string | null {\n const results = new RegExp(\"[?&]\" + queryString + \"=([^&#]*)\").exec(window.location.href);\n if (results === null) {\n return null;\n } else {\n return decodeURIComponent(results[1]) || null;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { tap } from \"rxjs/operators\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { getCookie } from \"../functions/cookie.function\";\nimport { getQueryParam } from \"../functions/url.functions\";\n\nconst TOKEN_NAME = \"x-wis-token\";\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(private route: ActivatedRoute, private toast: ToastService) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler) {\n const paramsMap = this.route.snapshot.queryParamMap;\n const buid = getQueryParam(\"buid\") || getQueryParam(\"buId\") || \"\";\n const empGuid = getQueryParam(\"empGuid\") || getQueryParam(\"empGuId\") || getQueryParam(\"userId\") || \"\";\n // const source = getQueryParam(\"source\");\n const authToken = getQueryParam(\"auth-token\");\n const token = getCookie(`sso-wis-token-${buid}`);\n const mobile_app_token = getCookie(TOKEN_NAME);\n const cloneReq = request.clone({\n setHeaders: {\n \"x-tenant-id\": buid,\n \"x-user-id\": empGuid,\n ...(!!token && { [TOKEN_NAME]: token }),\n ...(!!authToken && { [TOKEN_NAME]: authToken }),\n ...(!!mobile_app_token && { [TOKEN_NAME]: mobile_app_token })\n }\n });\n return next.handle(cloneReq).pipe(\n tap(\n () => {},\n err => {\n if (err instanceof HttpErrorResponse && err.status === 401) {\n this.toast.displayMsg(\"Your session has expired. Please login again.\",6000);\n }\n }\n )\n );\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"mis-common-loader\",\n templateUrl: \"./loader.component.html\",\n styleUrls: [\"./loader.component.scss\"]\n})\nexport class LoaderComponent implements OnInit {\n message: string;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"message-wrapper\" *ngIf=\"message; else noMessageLoader\">\n <span><mis-loader type=\"block\"></mis-loader></span>\n <p>{{ message }}</p>\n</div>\n<ng-template #noMessageLoader>\n <mis-loader></mis-loader>\n</ng-template>\n","/** @format */\n\nimport { GlobalPositionStrategy, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { LoaderComponent } from \"../components/loader/loader.component\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoaderService {\n private overlayRef: OverlayRef;\n public loading = false;\n\n constructor(private overlay: Overlay) {}\n\n show(message?: string): void {\n this.loading = true;\n if (this.overlayRef?.hasAttached()) {\n return;\n }\n const { positionStrategy, width, backdropClass, hasMessage } = this.calcLoaderProperties(!!message);\n const config = new OverlayConfig({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n width,\n backdropClass\n });\n this.overlayRef = this.overlay.create(config);\n const portal = new ComponentPortal(LoaderComponent, null);\n const componentRef = this.overlayRef.attach(portal);\n if (hasMessage) {\n componentRef.instance.message = message;\n }\n }\n\n hide(): void {\n this.loading = false;\n this.overlayRef?.detach();\n this.overlayRef?.dispose();\n }\n\n private calcLoaderProperties(hasMessage: boolean): {\n positionStrategy: GlobalPositionStrategy;\n width: string;\n backdropClass: string;\n hasMessage: boolean;\n } {\n const positionStrategy = this.overlay.position().global();\n let width = \"100vh\";\n let backdropClass = \"cdk-overlay-transparent-backdrop\";\n if (hasMessage) {\n width = \"initial\";\n backdropClass = \"wis-common-loader-bg\";\n positionStrategy.centerHorizontally().centerVertically();\n } else {\n positionStrategy.top(\"0px\").right(\"0px\");\n }\n return { positionStrategy, width, backdropClass, hasMessage };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_LOGGER = {\n APP_NAME: \"wisLoggerApp\",\n ENV_VAR: \"wisLoggerEnv\"\n};\n","import { TEnvName } from \"./logger.model\";\nconst envMap = {\n dev: \"https://bff.devcl.moveinsync.com\",\n qa: \"https://bff.stage.moveinsync.com\",\n production: \"https://bff.moveinsync.com\",\n uat: \"https://wisbff-uat.moveinsync.com\",\n \"production-green\": \"https://wisempweb-green.moveinsync.com\",\n \"production-beta\": \"https://bff-beta.moveinsync.com\",\n \"production-eu\": \"https://bff.eu.moveinsync.com\",\n \"production-eu-green\": \"https://bff-green.eu.moveinsync.com\",\n \"production-mu\": \"https://bff.moveinsync.in\"\n};\nexport function environmentHandler(env: TEnvName) {\n if (!env) {\n return \"/bff\";\n }\n return envMap[env];\n}\n","import { TEnvName } from \"./logger.model\";\nimport { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { environmentHandler } from \"./logger.functions\";\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoggerService {\n private cookies: boolean = false;\n\n constructor(\n private http: HttpClient,\n @Inject(CONSTANTS_LOGGER.APP_NAME) private appName: string,\n @Inject(CONSTANTS_LOGGER.ENV_VAR) private appEnv: TEnvName\n ) {}\n\n useCookies(useCookies: boolean) {\n this.cookies = useCookies;\n }\n\n private logRequest(data: any, logLevel: \"info\" | \"error\" | \"warn\") {\n const request = {\n data,\n cookies: this.cookies ? document.cookie : undefined,\n logLevel\n };\n this.postLog(request);\n }\n\n private postLog(request) {\n const url = `${environmentHandler(this.appEnv)}/report-log/${this.appName}`;\n this.http.post(`${url}`, request).subscribe();\n }\n\n info(data: any) {\n this.logRequest(data, \"info\");\n }\n\n warn(data: any) {\n this.logRequest(data, \"warn\");\n }\n\n error(data: any, componentName: string, serviceUrl?: string) {\n this.logRequest({ ...data, componentName, serviceUrl }, \"error\");\n }\n}\n","import { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { LoggerService } from \"./logger.service\";\nimport { TEnvName } from \"./logger.model\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class LoggerModule {\n /**\n *\n * @param appName any app name eg. FAQ, Floor Plan, In App Popup, etc.\n * @param env \"dev\" | \"qa\" | \"uat\" | \"prod\" | \"prod-beta\" | \"prod-green\" | \"prod-eu\" | \"prod-eu-green\" | undefined\n * @returns ModuleWithProviders<LoggerModule>\n */\n static forChild(appName: string, env?: TEnvName): ModuleWithProviders<LoggerModule> {\n return {\n ngModule: LoggerModule,\n providers: [\n {\n provide: CONSTANTS_LOGGER.APP_NAME,\n useValue: appName\n },\n {\n provide: CONSTANTS_LOGGER.ENV_VAR,\n useValue: env\n },\n LoggerService\n ]\n };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_WIS_COMMON = {\n ENV_VAR: \"wisCommonEnvironment\"\n};\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { map, Observable } from \"rxjs\";\nimport { CONSTANTS_WIS_COMMON } from \"../constants/emp-web-exp.constants\";\nimport { NsWISConfigurations } from \"../models/configurations.model\";\nimport { NsWISCommon } from \"../models/env.model\";\nimport { AuthService } from \"../modules/auth/auth.service\";\n\nconst API_URLS = {\n CONFIGURATIONS: \"configurations\"\n};\n\n@Injectable()\nexport class HttpService {\n constructor(@Inject(CONSTANTS_WIS_COMMON) public env: NsWISCommon.IEnv, private http: HttpClient) {}\n\n getProperties(Porperties: string[]) {\n return this.http.get(`${this.env.ets}/ets/apis/properties/${Porperties.join(\",\")}`).pipe(\n map((res: any) => {\n return res.reduce((acc: any, item: any) => {\n acc[item.propertyName] = item.propertyValue === \"true\" ? true : item.propertyValue === \"false\" ? false : item.propertyValue;\n return acc;\n }, {});\n })\n );\n }\n\n getOffices(nonce) {\n const body = `CSRF_NONCE=${nonce}&method=getOfficeList`;\n return this.http.post(`${this.env.ets}/Locality_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n listTransportLocalities(nonce) {\n const body = `CSRF_NONCE=${nonce}&method=listTransportLocalities`;\n return this.http.post(`${this.env.ets}/Locality_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n createEmptyIrregularTripSheet(nonce: string, direction: string): Observable<any> {\n const body = `CSRF_NONCE=${nonce}&method=createEmptyIrregularTripSheet&direction=${direction}`;\n return this.http.post(`${this.env.ets}/Tripsheet_Edit_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n addEmployeeToTripSheet(\n nonce: string,\n params: {\n tripsheet: any;\n employee: any;\n pickupLoc: any;\n dropLoc: any;\n pickUpTime: string;\n dropTime: string;\n position: number;\n routeSource?: string;\n assetList?: any;\n }\n ): Observable<any> {\n const body = `CSRF_NONCE=${nonce}&method=addEmployeeToTripSheet&tripsheet=${encodeURIComponent(\n JSON.stringify(params.tripsheet)\n )}&employee=${encodeURIComponent(JSON.stringify(params.employee))}&pickupLoc=${encodeURIComponent(\n JSON.stringify(params.pickupLoc)\n )}&dropLoc=${encodeURIComponent(JSON.stringify(params.dropLoc))}&pickUpTime=\"${params.pickUpTime}\"&dropTime=\"${params.dropTime}\"&position=${\n params.position\n }${params.routeSource ? \"&routeSource=\" + params.routeSource : \"\"}${\n params.assetList ? \"&assetList=\" + encodeURIComponent(JSON.stringify(params.assetList)) : \"\"\n }`;\n return this.http.post(`${this.env.ets}/Tripsheet_Edit_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"wis-common-sidenav\",\n templateUrl: \"./sidenav.component.html\",\n styleUrls: [\"./sidenav.component.scss\"]\n})\nexport class SidenavComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"wis-sidenav-wrapper\">\n <div class=\"wis-sidenav-header\">\n <div class=\"wis-sidenav-header-logo\">\n <img src=\"assets/sidenav/assets/Wis-icon.svg\" alt=\"\" />\n </div>\n <div class=\"wis-sidenav-header-title\">\n <h1>WIS</h1>\n </div>\n </div>\n <div class=\"wis-sidenav-body\">\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-home\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Home</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-user\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Profile</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-users\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Users</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-cog\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Settings</h3>\n </div>\n </div>\n </div>\n</div>\n","/** @format */\n\nexport const CONSTANTS_ASSETS_WIS_COMMON = {\n IMAGES: {\n CALENDAR_ICON: \"assets/libraries/wis-common/calendar.svg\"\n },\n ICONS: {}\n};\n","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport * as dayjs from \"dayjs\";\nimport { IDatePickerConfig } from \"mis-crystal-design-system/datepicker_v2\";\nimport { parseZone } from \"moment\";\nimport { CONSTANTS_ASSETS_WIS_COMMON } from \"../../constants/assets.constants\";\nimport { HttpService } from \"../../services/http.service\";\nimport { DropdownItem } from \"mis-crystal-design-system/dropdown\";\nimport { forkJoin } from \"rxjs\";\nimport { finalize } from \"rxjs/operators\";\nimport { MODAL_DATA_VAR, ModalRef } from \"mis-design-system/mis-modal\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\n\nconst PROPERTIES = [\"NON_SHIFT_TRIPS_CATEGORIES\", \"USE_VALID_OFFICE_FOR_IRREGULAR_TRIPS\"];\n\ninterface LocationValue {\n type: number;\n office: any | null;\n}\n\ninterface LocationDropdownItem {\n label: string;\n value: LocationValue;\n}\n\n@Component({\n selector: \"app-create-non-shift-modal\",\n templateUrl: \"./create-non-shift-modal.component.html\",\n styleUrls: [\"./create-non-shift-modal.component.scss\"]\n})\nexport class CreateNonShiftModalComponent implements OnInit {\n CONSTANTS_ASSETS_WIS_COMMON = CONSTANTS_ASSETS_WIS_COMMON;\n\n dateConfig: Partial<IDatePickerConfig> = {\n minDate: parseZone().format(\"DD/MM/YYYY\"),\n format: \"DD/MM/YYYY\"\n };\n createTripsheetForm!: FormGroup;\n offices: DropdownItem[] = [];\n\n locationDropdownData: LocationDropdownItem[] = [];\n\n categoryDropdownData: DropdownItem[] = [];\n\n hoursDropdownData: DropdownItem[] = [];\n\n minutesDropdownData: DropdownItem[] = [];\n\n showOtherAddress: boolean = false;\n\n loading: boolean = false;\n isSubmitting: boolean = false;\n\n readonly TYPE_OFFICE = 6;\n readonly TYPE_TRANSPORT = 3;\n readonly TYPE_OTHER = 4;\n properties: Record<string, any> = {};\n\n constructor(@Inject(MODAL_DATA_VAR) public modalData: any, private modalRef: ModalRef, private fb: FormBuilder, private http: HttpService,private toast: ToastService) {}\n\n ngOnInit(): void {\n this.loading = true;\n\n const $office = this.http.getOffices(this.modalData.nonce);\n const $properties = this.http.getProperties(PROPERTIES);\n\n forkJoin([$office, $properties])\n .pipe(finalize(() => (this.loading = false)))\n .subscribe({\n next: ([offices, properties]) => {\n this.properties = properties;\n this.initializeForm();\n this.initializeDropdownData(offices);\n this.setupFormListeners();\n },\n error: error => {\n console.error(\"Error loading form data:\", error);\n this.modalRef.close();\n }\n });\n }\n\n private initializeForm(): void {\n const currentTime = this.modalData?.date ?? parseZone().format(\"DD/MM/YYYY\");\n\n this.createTripsheetForm = this.fb.group({\n direction: [this.modalData?.shiftType === \"logout\" ? \"OUT\" : \"IN\", Validators.required],\n location: [{ label: \"\", value: \"\" }],\n otherAddress: \"\",\n tripCategory: [{ label: \"\", value: \"\" }],\n date: [currentTime, Validators.required],\n hours: [{ label: \"\", value: \"\" }],\n mins: [{ label: \"\", value: \"\" }]\n });\n }\n\n private initializeDropdownData(offices: any): void {\n this.locationDropdownData = offices.map(\n (office: any): LocationDropdownItem => ({\n label: office.address,\n value: { type: this.TYPE_OFFICE, office: office || null }\n })\n );\n this.createTripsheetForm.get(\"location\")?.setValue(this.locationDropdownData[0]);\n\n if (!this.properties?.[\"USE_VALID_OFFICE_FOR_IRREGULAR_TRIPS\"]) {\n this.locationDropdownData.push(\n { label: \"Airport\", value: { type: this.TYPE_TRANSPORT, office: null } } as LocationDropdownItem,\n { label: \"Other\", value: { type: this.TYPE_OTHER, office: null } } as LocationDropdownItem\n );\n }\n\n // Initialize category dropdown\n const categoriesString = this.properties?.[\"NON_SHIFT_TRIPS_CATEGORIES\"];\n if (categoriesString && typeof categoriesString === \"string\") {\n const categories = categoriesString.split(\",\").filter(cat => cat && cat.trim());\n if (categories.length > 0) {\n this.categoryDropdownData = categories.map(category => ({\n label: category.trim(),\n value: category.trim()\n }));\n }\n }\n\n const currentHour = new Date().getHours();\n this.hoursDropdownData = Array.from({ length: 24 }, (_, i) => ({\n label: this.padZero(i),\n value: this.padZero(i)\n }));\n this.createTripsheetForm.patchValue({ hours: this.hoursDropdownData[currentHour] });\n\n const currentMinute = new Date().getMinutes();\n this.minutesDropdownData = Array.from({ length: 60 }, (_, i) => ({\n label: this.padZero(i),\n value: this.padZero(i)\n }));\n this.createTripsheetForm.patchValue({ mins: this.minutesDropdownData[currentMinute] });\n }\n\n private setupFormListeners(): void {\n this.createTripsheetForm?.valueChanges.subscribe(value => {\n const { location } = this.createTripsheetForm?.value;\n if (this.showOtherAddress !== (location?.value?.type === this.TYPE_OTHER)) {\n this.showOtherAddress = location?.value?.type === this.TYPE_OTHER;\n if (this.showOtherAddress) {\n this.createTripsheetForm.get(\"otherAddress\")?.setValidators([Validators.required]);\n } else {\n this.createTripsheetForm.get(\"otherAddress\")?.clearValidators();\n }\n this.createTripsheetForm.get(\"otherAddress\")?.updateValueAndValidity();\n }\n });\n }\n\n private padZero(num: number): string {\n return num.toString().padStart(2, \"0\");\n }\n\n onCancel(): void {\n this.modalRef.close();\n }\n\n onSubmit(): void {\n if (this.createTripsheetForm.invalid) {\n return;\n }\n\n const formValue = this.createTripsheetForm.value;\n\n const pickupTime = `${formValue.date} ${formValue.hours.value}/${formValue.mins.value}/00`;\n const pickupTimeDate = parseZone(pickupTime).toDate();\n if (this.isDateAndTimeFromPast(pickupTimeDate)) {\n this.toast.displayMsg(\"Please select a future date and time.\");\n return;\n }\n\n if (this.categoryDropdownData.length > 0 && (!formValue.tripCategory || !formValue.tripCategory.value)) {\n this.toast.displayMsg(\"Please provide a trip category.\");\n return;\n }\n\n if (formValue.location?.value?.type === this.TYPE_OTHER) {\n if (!formValue.otherAddress || formValue.otherAddress.trim() === \"\") {\n this.toast.displayMsg(\"Please provide the address.\");\n return;\n }\n if (formValue.otherAddress.includes(\",\")) {\n this.toast.displayMsg(\"Special character (,) not allowed in address.\");\n return;\n }\n }\n\n this.isSubmitting = true;\n\n this.http.createEmptyIrregularTripSheet(this.modalData.nonce, formValue.direction).subscribe({\n next: routeTripSheet => {\n const pickupLoc = routeTripSheet.dir === \"IN\" ? this.modalData.employee.home : this.getLocation(formValue);\n const dropLoc = routeTripSheet.dir === \"OUT\" ? this.modalData.employee.home : this.getLocation(formValue);\n const pickupTimeFormatted = pickupTime;\n const dropTimeFormatted = pickupTime;\n\n const employee = { ...this.modalData.employee, employee_status: 1 };\n\n const addEmployeeParams = {\n tripsheet: routeTripSheet,\n employee: employee,\n pickupLoc: pickupLoc,\n dropLoc: dropLoc,\n pickUpTime: pickupTimeFormatted,\n dropTime: dropTimeFormatted,\n position: 0,\n routeSource: this.modalData.routeSource,\n assetList: this.modalData.assetList\n };\n\n this.http.addEmployeeToTripSheet(this.modalData.nonce, addEmployeeParams).subscribe({\n next: updatedTripSheet => {\n if (!updatedTripSheet.customMap) {\n updatedTripSheet.customMap = {};\n }\n updatedTripSheet.customMap.tripCategory = formValue.tripCategory?.value || \"\";\n\n this.modalRef.close({\n success: true,\n tripsheet: updatedTripSheet\n });\n },\n error: error => {\n console.error(\"Error adding employee to tripsheet:\", error);\n this.toast.displayMsg(\"Failed to add employee to tripsheet. Please try again.\");\n this.isSubmitting = false;\n }\n });\n },\n error: error => {\n console.error(\"Error creating tripsheet:\", error);\n this.toast.displayMsg(\"Failed to create tripsheet. Please try again.\");\n this.isSubmitting = false;\n }\n });\n }\n\n private isDateAndTimeFromPast(date: Date): boolean {\n const now = new Date();\n return date < now;\n }\n\n private getLocation(formValue: any): any {\n const location = formValue.location?.value;\n\n if (!location) {\n return null;\n }\n\n const locType = location.type;\n\n switch (locType) {\n case this.TYPE_OFFICE:\n return location.office;\n\n case this.TYPE_TRANSPORT:\n return {\n id: null,\n type: this.TYPE_TRANSPORT,\n address: \"Airport\",\n geoCord: null\n };\n\n case this.TYPE_OTHER:\n return {\n ...location.office,\n address: formValue.otherAddress || \"\"\n };\n }\n }\n}\n","<div class=\"createTripsheet\">\n <h2 class=\"modal-header\">Create Non-Shift Tripsheet</h2>\n\n <div *ngIf=\"loading\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Loading...</p>\n </div>\n\n <form\n *ngIf=\"!loading && createTripsheetForm\"\n [formGroup]=\"createTripsheetForm\"\n (ngSubmit)=\"onSubmit()\"\n class=\"createTripsheetForm\"\n id=\"createTripsheetForm\"\n >\n <div class=\"form-content\">\n <!-- Radio buttons row -->\n <div [ngClass]=\"{ 'radio-row': true, disabled: modalData?.shiftSelectionDisabled }\">\n <label class=\"radio-label\">\n <input class=\"modern-checkbox\" type=\"radio\" formControlName=\"direction\" value=\"OUT\" id=\"startLoc\" />\n <span>Start Location Fixed (Logout)</span>\n </label>\n <label class=\"radio-label\">\n <input class=\"modern-checkbox\" type=\"radio\" formControlName=\"direction\" value=\"IN\" id=\"endLoc\" />\n <span>End Location Fixed (Login)</span>\n </label>\n </div>\n\n <!-- Location field -->\n <div class=\"form-field\">\n <div class=\"label-cell\">\n <label class=\"locText\">Location</label>\n </div>\n <div class=\"input-cell\">\n <mis-dropdown\n [searchEnabled]=\"true\"\n [width]=\"'100%'\"\n [height]=\"'40px'\"\n [data]=\"locationDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('location')?.value\"\n [label]=\"'Select location...'\"\n (onChange)=\"createTripsheetForm.get('location')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n\n <!-- Other address field -->\n <div class=\"form-field otherAddress\" *ngIf=\"showOtherAddress\">\n <div class=\"label-cell\">\n <label>Pick/Drop point <sup>*</sup></label>\n </div>\n <div class=\"input-cell\">\n <input type=\"text\" formControlName=\"otherAddress\" class=\"modern-input\" />\n </div>\n </div>\n\n <!-- Trip category field -->\n <div class=\"form-field\" *ngIf=\"categoryDropdownData.length > 0\">\n <div class=\"label-cell\">\n <label>Trip Category</label>\n </div>\n <div class=\"input-cell\">\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'250px'\"\n [height]=\"'40px'\"\n [data]=\"categoryDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('tripCategory')?.value\"\n [label]=\"'Select category...'\"\n (onChange)=\"createTripsheetForm.get('tripCategory')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n\n <!-- Time field -->\n <div class=\"form-field\">\n <div class=\"label-cell\">\n <label class=\"fixedTimeText\">Time</label>\n </div>\n <div class=\"input-cell modern-date-container\">\n <div class=\"date-select\">\n <input\n misTzDp\n readonly\n [dpConfig]=\"dateConfig\"\n [formControl]=\"createTripsheetForm.get('date')\"\n style=\"height: 44px !important; font-size: 16px !important; cursor: pointer; vertical-align: middle !important\"\n />\n <img [src]=\"CONSTANTS_ASSETS_WIS_COMMON.IMAGES.CALENDAR_ICON\" alt=\"Calendar Icon\" class=\"date-icon data-picker-icon\" />\n </div>\n\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'5rem'\"\n [height]=\"'40px'\"\n [data]=\"hoursDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('hours')?.value\"\n [label]=\"'HH'\"\n (onChange)=\"createTripsheetForm.get('hours')?.setValue($event)\"\n ></mis-dropdown>\n\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'5rem'\"\n [height]=\"'40px'\"\n [data]=\"minutesDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('mins')?.value\"\n [label]=\"'MM'\"\n (onChange)=\"createTripsheetForm.get('mins')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"form-actions\">\n <button mis-button type=\"outline\" (click)=\"onCancel()\" [disabled]=\"isSubmitting\">Cancel</button>\n <button mis-button type=\"primary\" [disabled]=\"isSubmitting || createTripsheetForm?.invalid\">\n {{ isSubmitting ? \"Creating...\" : \"Create\" }}\n </button>\n </div>\n </form>\n</div>\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ConfigurationService } from \"./services/configuration.service\";\nimport { NsWISCommon } from \"./models/env.model\";\nimport { CONSTANTS_WIS_COMMON } from \"./constants/emp-web-exp.constants\";\nimport { HttpService } from \"./services/http.service\";\nimport { LoaderModule } from \"mis-crystal-design-system/loader\";\nimport { LoaderComponent } from \"./components/loader/loader.component\";\nimport { LoaderService } from \"./services/loader.service\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { SidenavComponent } from \"./components/sidenav/sidenav.component\";\nimport { CreateNonShiftModalComponent } from \"./components/create-non-shift-modal/create-non-shift-modal.component\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\nimport { HttpClientModule } from \"@angular/common/http\";\n\n@NgModule({\n declarations: [LoaderComponent, SidenavComponent, CreateNonShiftModalComponent],\n imports: [CommonModule, HttpClientModule, OverlayModule, LoaderModule, DropdownModule, ReactiveFormsModule, DatepickerModuleV2,],\n providers: [],\n exports: [SidenavComponent, CreateNonShiftModalComponent]\n})\nexport class WisCommonModule {\n static forRoot(env: NsWISCommon.IEnv): ModuleWithProviders<WisCommonModule> {\n return {\n ngModule: WisCommonModule,\n providers: [HttpService,{ provide: CONSTANTS_WIS_COMMON, useValue: env }, ConfigurationService, LoaderService]\n };\n }\n}\n","import { ReplaySubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { NsWISConfigurations } from \"../models/configurations.model\";\n@Injectable({\n providedIn: 'root'\n})\nexport class MfeCommunicationService {\n private _etsLoginUser: NsWISConfigurations.ILoginUserDetails;\n\n setUserDetails(userDetails: NsWISConfigurations.ILoginUserDetails): void {\n this._etsLoginUser = userDetails;\n }\n\n getUserDetails(): NsWISConfigurations.ILoginUserDetails {\n return this._etsLoginUser;\n }\n\n constructor() { }\n loginDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n employeeExperience = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n floorPlan = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n meetingRooms = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n adminUI = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n paymentsDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1); \n visitorMgmt = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n}\n","export abstract class SessionError extends Error {}\n\nexport class SessionTokenNotFoundError extends SessionError {\n constructor() {\n super('Session token was not found.');\n this.name = 'SessionTokenNotFoundError';\n }\n}\n\nexport class SessionTokenExpiredError extends SessionError {\n constructor() {\n super('Session token has expired.');\n this.name = 'SessionTokenExpiredError';\n }\n}\n\nexport class SessionTokenInvalidError extends SessionError {\n constructor() {\n super('Session token could not be decoded.');\n this.name = 'SessionTokenInvalidError';\n }\n}\n\nexport class SessionClaimNotFoundError extends SessionError {\n constructor(public readonly claim: string) {\n super(`Session claim \"${claim}\" was not found in the token.`);\n this.name = 'SessionClaimNotFoundError';\n }\n}\n","import { Injectable } from '@angular/core';\nimport jwtDecode from 'jwt-decode';\n\nimport { getCookie } from '../functions/cookie.function';\nimport { getQueryParam } from '../functions/url.functions';\nimport { NsSession } from '../models/session.model';\nimport {\n SessionClaimNotFoundError,\n SessionError,\n SessionTokenExpiredError,\n SessionTokenInvalidError,\n SessionTokenNotFoundError,\n} from './session.errors';\n\nconst DEFAULT_SESSION_TOKEN_PREFIX = 'sso-wis-token';\nconst DEFAULT_SESSION_TOKEN_FALLBACK_KEY = 'x-wis-token';\nconst DEFAULT_VET_TOKEN_PREFIX = 'x-vet-token';\nconst LAUNCH_SOURCE_VET = 'VET';\n\ntype SessionState =\n | { status: 'ok'; claims: NsSession.IClaims; isVET: boolean }\n | { status: 'not-found'; isVET: boolean }\n | { status: 'expired'; isVET: boolean }\n | { status: 'invalid'; isVET: boolean };\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SessionService {\n private config: NsSession.IInitConfig = {};\n private cachedToken: string | null = null;\n private cachedState: SessionState | null = null;\n\n init(config: NsSession.IInitConfig): void {\n this.config = { ...config };\n this.cachedToken = null;\n this.cachedState = null;\n }\n\n /**\n * Runs `handlers.next` and returns its result, or `handlers.error(error)` if it throws a `SessionError`.\n * Centralizes the try/catch mechanics; the caller still supplies the actual handling logic.\n */\n read<T>(handlers: { next: (session: SessionService) => T; error: (error: SessionError) => T }): T {\n try {\n return handlers.next(this);\n } catch (e) {\n if (e instanceof SessionError) {\n return handlers.error(e);\n }\n throw e;\n }\n }\n\n /**\n * Statement-style variant of `read` for blocks of assignments/side effects with no return value.\n */\n run(handlers: { next: (session: SessionService) => void; error: (error: SessionError) => void }): void {\n this.read({\n next: s => { handlers.next(s); return undefined; },\n error: err => { handlers.error(err); return undefined; }\n });\n }\n\n get isVET(): boolean {\n return this.state.isVET;\n }\n\n get sub(): string { return this.getClaim('sub'); }\n get empGuid(): string { return this.getClaim('employeeGUID'); }\n get internalSsoRole(): string { return this.getClaim('internal_sso_role'); }\n get roles(): string[] { return this.getClaim('roles'); }\n get sessionId(): string { return this.getClaim('sessionId'); }\n get loggedInUser(): string { return this.getClaim('loggedInUser'); }\n get exp(): number { return this.getClaim('exp'); }\n get iat(): number { return this.getClaim('iat'); }\n get businessUnitId(): string { return this.getClaim('businessUnitId'); }\n get allowedBuids(): string[] { return this.getClaim('ALLOWED_BUIDS'); }\n get vetUserEmailId(): string { return this.getClaim('vetUserEmailId'); }\n get vetUserId(): number { return this.getClaim('vetUserId'); }\n get source(): string { return this.getClaim('source'); }\n\n get roleId(): number {\n const claims = this.getClaims();\n const raw = claims.internal_sso_role?.trim() || claims.roles?.[0]?.trim();\n if (!raw || !/^\\d+$/.test(raw)) {\n throw new SessionClaimNotFoundError('roleId');\n }\n return Number(raw);\n }\n\n private getClaims(): NsSession.IClaims {\n const state = this.state;\n if (state.status === 'ok') {\n return state.claims;\n }\n if (state.status === 'not-found') {\n throw new SessionTokenNotFoundError();\n }\n if (state.status === 'expired') {\n throw new SessionTokenExpiredError();\n }\n throw new SessionTokenInvalidError();\n }\n\n private getClaim<K extends keyof NsSession.IClaims>(key: K): NonNullable<NsSession.IClaims[K]> {\n const claims = this.getClaims();\n const value = claims[key];\n const isEmptyString = typeof value === 'string' && value.trim() === '';\n if (value === undefined || value === null || isEmptyString) {\n throw new SessionClaimNotFoundError(key as string);\n }\n return (typeof value === 'string' ? value.trim() : value) as NonNullable<NsSession.IClaims[K]>;\n }\n\n private get state(): SessionState {\n const { token, isVET } = this.findToken();\n if (!this.cachedState || token !== this.cachedToken) {\n this.cachedToken = token;\n this.cachedState = this.build(token, isVET);\n }\n return this.cachedState;\n }\n\n private build(token: string, isVET: boolean): SessionState {\n if (!token) {\n return { status: 'not-found', isVET };\n }\n\n let claims: NsSession.IClaims;\n try {\n claims = jwtDecode<NsSession.IClaims>(token);\n } catch {\n return { status: 'invalid', isVET };\n }\n\n if (this.isExpired(claims)) {\n return { status: 'expired', isVET };\n }\n\n return { status: 'ok', claims, isVET };\n }\n\n private isExpired(claims: NsSession.IClaims): boolean {\n return typeof claims.exp === 'number' && claims.exp * 1000 <= Date.now();\n }\n\n private isVETSource(): boolean {\n return getQueryParam('source') === LAUNCH_SOURCE_VET;\n }\n\n private resolveBuid(): string | null {\n return getQueryParam('buid') || getCookie('buid') || null;\n }\n\n private findToken(): { token: string; isVET: boolean } {\n const buid = this.resolveBuid();\n\n if (this.isVETSource()) {\n const vetKey = this.config.vetTokenCookieKey ?? (buid ? `${DEFAULT_VET_TOKEN_PREFIX}-${buid}` : null);\n const vetToken = (vetKey ? getCookie(vetKey) : '') || '';\n if (vetToken) {\n return { token: vetToken, isVET: true };\n }\n }\n\n const sessionToken = this.config.sessionTokenCookieKey\n ? getCookie(this.config.sessionTokenCookieKey)\n : (buid ? getCookie(`${DEFAULT_SESSION_TOKEN_PREFIX}-${buid}`) : '') || getCookie(DEFAULT_SESSION_TOKEN_FALLBACK_KEY);\n\n return { token: sessionToken || '', isVET: false };\n }\n}\n","/*\n * Public API Surface of wis-common\n */\n\nexport * from \"./lib/modules/auth/auth.service\";\nexport * from \"./lib/modules/auth/auth.module\";\nexport * from \"./lib/services/configuration.service\";\nexport * from \"./lib/models/configurations.model\";\nexport * from \"./lib/functions/nav-filter.function\";\nexport * from \"./lib/functions/cookie.function\";\nexport * from \"./lib/functions/url.functions\";\nexport * from \"./lib/interceptors/auth.interceptor\";\nexport * from \"./lib/services/loader.service\";\nexport * from \"./lib/modules/logger/logger.module\";\nexport * from \"./lib/modules/logger/logger.service\";\nexport * from \"./lib/wis-common.module\";\nexport * from \"./lib/modules/logger/logger.model\";\nexport * from \"./lib/components/sidenav/sidenav.component\";\nexport * from \"./lib/services/mfe-communication.service\";\nexport * from \"./lib/components/create-non-shift-modal/create-non-shift-modal.component\";\nexport * from \"./lib/services/session.service\";\nexport * from \"./lib/services/session.errors\";\nexport * from \"./lib/models/session.model\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.HttpService","i4"],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { OnInit } from "@angular/core";
2
+ import { FormBuilder, FormGroup } from "@angular/forms";
3
+ import { IDatePickerConfig } from "mis-crystal-design-system/datepicker_v2";
4
+ import { HttpService } from "../../services/http.service";
5
+ import { DropdownItem } from "mis-crystal-design-system/dropdown";
6
+ import { ModalRef } from "mis-design-system/mis-modal";
7
+ import { ToastService } from "mis-crystal-design-system/toast";
8
+ import * as i0 from "@angular/core";
9
+ interface LocationValue {
10
+ type: number;
11
+ office: any | null;
12
+ }
13
+ interface LocationDropdownItem {
14
+ label: string;
15
+ value: LocationValue;
16
+ }
17
+ export declare class CreateNonShiftModalComponent implements OnInit {
18
+ modalData: any;
19
+ private modalRef;
20
+ private fb;
21
+ private http;
22
+ private toast;
23
+ CONSTANTS_ASSETS_WIS_COMMON: {
24
+ IMAGES: {
25
+ CALENDAR_ICON: string;
26
+ };
27
+ ICONS: {};
28
+ };
29
+ dateConfig: Partial<IDatePickerConfig>;
30
+ createTripsheetForm: FormGroup;
31
+ offices: DropdownItem[];
32
+ locationDropdownData: LocationDropdownItem[];
33
+ categoryDropdownData: DropdownItem[];
34
+ hoursDropdownData: DropdownItem[];
35
+ minutesDropdownData: DropdownItem[];
36
+ showOtherAddress: boolean;
37
+ loading: boolean;
38
+ isSubmitting: boolean;
39
+ readonly TYPE_OFFICE = 6;
40
+ readonly TYPE_TRANSPORT = 3;
41
+ readonly TYPE_OTHER = 4;
42
+ properties: Record<string, any>;
43
+ constructor(modalData: any, modalRef: ModalRef, fb: FormBuilder, http: HttpService, toast: ToastService);
44
+ ngOnInit(): void;
45
+ private initializeForm;
46
+ private initializeDropdownData;
47
+ private setupFormListeners;
48
+ private padZero;
49
+ onCancel(): void;
50
+ onSubmit(): void;
51
+ private isDateAndTimeFromPast;
52
+ private getLocation;
53
+ static ɵfac: i0.ɵɵFactoryDeclaration<CreateNonShiftModalComponent, never>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<CreateNonShiftModalComponent, "app-create-non-shift-modal", never, {}, {}, never, never, false>;
55
+ }
56
+ export {};
@@ -0,0 +1,7 @@
1
+ /** @format */
2
+ export declare const CONSTANTS_ASSETS_WIS_COMMON: {
3
+ IMAGES: {
4
+ CALENDAR_ICON: string;
5
+ };
6
+ ICONS: {};
7
+ };
@@ -3,5 +3,6 @@ export declare namespace NsWISCommon {
3
3
  interface IEnv {
4
4
  empExp: string;
5
5
  tms: string;
6
+ ets?: string;
6
7
  }
7
8
  }
@@ -0,0 +1,21 @@
1
+ export declare namespace NsSession {
2
+ interface IClaims {
3
+ sub?: string;
4
+ employeeGUID?: string;
5
+ internal_sso_role?: string;
6
+ sessionId?: string;
7
+ loggedInUser?: string;
8
+ vetUserEmailId?: string;
9
+ vetUserId?: number;
10
+ source?: string;
11
+ roles?: string[];
12
+ exp?: number;
13
+ iat?: number;
14
+ businessUnitId?: string;
15
+ ALLOWED_BUIDS?: string[];
16
+ }
17
+ interface IInitConfig {
18
+ sessionTokenCookieKey?: string;
19
+ vetTokenCookieKey?: string;
20
+ }
21
+ }
@@ -1,15 +1,26 @@
1
1
  import { HttpClient } from "@angular/common/http";
2
2
  import { Observable } from "rxjs";
3
- import { NsWISConfigurations } from "../models/configurations.model";
4
3
  import { NsWISCommon } from "../models/env.model";
5
- import { AuthService } from "../modules/auth/auth.service";
6
4
  import * as i0 from "@angular/core";
7
5
  export declare class HttpService {
8
6
  env: NsWISCommon.IEnv;
9
- private auth;
10
7
  private http;
11
- constructor(env: NsWISCommon.IEnv, auth: AuthService, http: HttpClient);
12
- getConfigurations(): Observable<NsWISConfigurations.IConfigurations>;
8
+ constructor(env: NsWISCommon.IEnv, http: HttpClient);
9
+ getProperties(Porperties: string[]): Observable<any>;
10
+ getOffices(nonce: any): Observable<Object>;
11
+ listTransportLocalities(nonce: any): Observable<Object>;
12
+ createEmptyIrregularTripSheet(nonce: string, direction: string): Observable<any>;
13
+ addEmployeeToTripSheet(nonce: string, params: {
14
+ tripsheet: any;
15
+ employee: any;
16
+ pickupLoc: any;
17
+ dropLoc: any;
18
+ pickUpTime: string;
19
+ dropTime: string;
20
+ position: number;
21
+ routeSource?: string;
22
+ assetList?: any;
23
+ }): Observable<any>;
13
24
  static ɵfac: i0.ɵɵFactoryDeclaration<HttpService, never>;
14
25
  static ɵprov: i0.ɵɵInjectableDeclaration<HttpService>;
15
26
  }
@@ -0,0 +1,15 @@
1
+ export declare abstract class SessionError extends Error {
2
+ }
3
+ export declare class SessionTokenNotFoundError extends SessionError {
4
+ constructor();
5
+ }
6
+ export declare class SessionTokenExpiredError extends SessionError {
7
+ constructor();
8
+ }
9
+ export declare class SessionTokenInvalidError extends SessionError {
10
+ constructor();
11
+ }
12
+ export declare class SessionClaimNotFoundError extends SessionError {
13
+ readonly claim: string;
14
+ constructor(claim: string);
15
+ }
@@ -0,0 +1,49 @@
1
+ import { NsSession } from '../models/session.model';
2
+ import { SessionError } from './session.errors';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SessionService {
5
+ private config;
6
+ private cachedToken;
7
+ private cachedState;
8
+ init(config: NsSession.IInitConfig): void;
9
+ /**
10
+ * Runs `handlers.next` and returns its result, or `handlers.error(error)` if it throws a `SessionError`.
11
+ * Centralizes the try/catch mechanics; the caller still supplies the actual handling logic.
12
+ */
13
+ read<T>(handlers: {
14
+ next: (session: SessionService) => T;
15
+ error: (error: SessionError) => T;
16
+ }): T;
17
+ /**
18
+ * Statement-style variant of `read` for blocks of assignments/side effects with no return value.
19
+ */
20
+ run(handlers: {
21
+ next: (session: SessionService) => void;
22
+ error: (error: SessionError) => void;
23
+ }): void;
24
+ get isVET(): boolean;
25
+ get sub(): string;
26
+ get empGuid(): string;
27
+ get internalSsoRole(): string;
28
+ get roles(): string[];
29
+ get sessionId(): string;
30
+ get loggedInUser(): string;
31
+ get exp(): number;
32
+ get iat(): number;
33
+ get businessUnitId(): string;
34
+ get allowedBuids(): string[];
35
+ get vetUserEmailId(): string;
36
+ get vetUserId(): number;
37
+ get source(): string;
38
+ get roleId(): number;
39
+ private getClaims;
40
+ private getClaim;
41
+ private get state();
42
+ private build;
43
+ private isExpired;
44
+ private isVETSource;
45
+ private resolveBuid;
46
+ private findToken;
47
+ static ɵfac: i0.ɵɵFactoryDeclaration<SessionService, never>;
48
+ static ɵprov: i0.ɵɵInjectableDeclaration<SessionService>;
49
+ }
@@ -3,12 +3,17 @@ import { NsWISCommon } from "./models/env.model";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./components/loader/loader.component";
5
5
  import * as i2 from "./components/sidenav/sidenav.component";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/cdk/overlay";
8
- import * as i5 from "mis-crystal-design-system/loader";
6
+ import * as i3 from "./components/create-non-shift-modal/create-non-shift-modal.component";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/common/http";
9
+ import * as i6 from "@angular/cdk/overlay";
10
+ import * as i7 from "mis-crystal-design-system/loader";
11
+ import * as i8 from "mis-crystal-design-system/dropdown";
12
+ import * as i9 from "@angular/forms";
13
+ import * as i10 from "mis-crystal-design-system/datepicker_v2";
9
14
  export declare class WisCommonModule {
10
15
  static forRoot(env: NsWISCommon.IEnv): ModuleWithProviders<WisCommonModule>;
11
16
  static ɵfac: i0.ɵɵFactoryDeclaration<WisCommonModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<WisCommonModule, [typeof i1.LoaderComponent, typeof i2.SidenavComponent], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.LoaderModule], [typeof i2.SidenavComponent]>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WisCommonModule, [typeof i1.LoaderComponent, typeof i2.SidenavComponent, typeof i3.CreateNonShiftModalComponent], [typeof i4.CommonModule, typeof i5.HttpClientModule, typeof i6.OverlayModule, typeof i7.LoaderModule, typeof i8.DropdownModule, typeof i9.ReactiveFormsModule, typeof i10.DatepickerModuleV2], [typeof i2.SidenavComponent, typeof i3.CreateNonShiftModalComponent]>;
13
18
  static ɵinj: i0.ɵɵInjectorDeclaration<WisCommonModule>;
14
19
  }
Binary file
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@mis-wis/common",
3
3
  "main": "src/public-api.ts",
4
- "version": "0.1.9",
4
+ "version": "0.2.0",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "*",
7
7
  "@angular/core": "*",
8
8
  "mis-crystal-design-system": "*"
9
9
  },
10
10
  "dependencies": {
11
- "tslib": "^2.0.0"
11
+ "tslib": "^2.0.0",
12
+ "jwt-decode": "^3.1.2"
12
13
  },
13
14
  "module": "fesm2015/mis-wis-common.mjs",
14
15
  "es2020": "fesm2020/mis-wis-common.mjs",
package/public-api.d.ts CHANGED
@@ -13,3 +13,7 @@ export * from "./lib/wis-common.module";
13
13
  export * from "./lib/modules/logger/logger.model";
14
14
  export * from "./lib/components/sidenav/sidenav.component";
15
15
  export * from "./lib/services/mfe-communication.service";
16
+ export * from "./lib/components/create-non-shift-modal/create-non-shift-modal.component";
17
+ export * from "./lib/services/session.service";
18
+ export * from "./lib/services/session.errors";
19
+ export * from "./lib/models/session.model";
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
2
+ <path d="M15.7913 2.00092C16.17 2.02461 16.4623 2.34923 16.4522 2.73508V3.76997C19.4609 4.06186 21 5.72477 21 8.71446V16.9848C21 20.3106 19.1043 22 15.3739 22H8.62609C4.89565 22 3 20.3106 3 16.9848V8.71446C3 6.72428 3.67826 5.30019 5.06956 4.46874L5.16716 4.41312C5.36884 4.31898 5.6054 4.32761 5.80202 4.44176C6.0314 4.57494 6.16687 4.82876 6.15169 5.09698C6.13652 5.3652 5.97333 5.60155 5.73043 5.70708C4.8087 6.25548 4.37391 7.21077 4.37391 8.71446V8.97981V9.5V10.3774V16.9848C4.37391 19.5233 5.6087 20.5759 8.62609 20.5936H15.3739C18.3478 20.5936 19.6174 19.5145 19.6174 16.9759V8.70561C19.6174 6.4943 18.6522 5.42403 16.4522 5.16752V5.83975C16.4014 6.19806 16.093 6.45964 15.7374 6.44599C15.3818 6.43234 15.0936 6.14786 15.0696 5.78668V2.67316L15.0823 2.56256C15.1106 2.41762 15.1836 2.2845 15.2921 2.18341C15.4278 2.05706 15.6076 1.99132 15.7913 2.00092ZM8.23913 2.10645C8.59328 2.10645 8.8909 2.37709 8.93044 2.73508V3.69921H12.8609C13.2403 3.69921 13.5478 4.01206 13.5478 4.39798C13.5478 4.7839 13.2403 5.09675 12.8609 5.09675H8.91304V5.79553C8.91306 5.9824 8.83949 6.16149 8.70877 6.29279C8.57806 6.42409 8.40109 6.49667 8.21739 6.4943L8.11694 6.48427C7.78964 6.42674 7.54338 6.13445 7.54777 5.78668V2.73508L7.56718 2.63048C7.64745 2.32566 7.9204 2.10645 8.23913 2.10645Z" fill="#0937B2"/>
3
+ <path d="M7.9584 16.2044L7.84781 16.1972L7.85199 16.1978C7.37174 16.1978 6.98242 16.5938 6.98242 17.0823C6.98242 17.5708 7.37174 17.9668 7.85199 17.9668C8.33223 17.9668 8.72155 17.5708 8.72155 17.0823C8.72155 16.8462 8.62876 16.6198 8.4638 16.4537C8.32633 16.3152 8.14827 16.2282 7.9584 16.2044Z" fill="#0937B2"/>
4
+ <path d="M12.1263 12.6223L12.0172 12.6154C11.537 12.6154 11.1476 13.0115 11.1476 13.5C11.1476 13.9885 11.537 14.3845 12.0172 14.3845C12.4975 14.3845 12.8868 13.9885 12.8868 13.5C12.8868 13.049 12.555 12.6769 12.1263 12.6223Z" fill="#0937B2"/>
5
+ <path d="M7.85115 12.6154L7.84781 12.6152L7.85199 12.6154C7.85171 12.6154 7.85143 12.6154 7.85115 12.6154L7.9584 12.622C8.14827 12.6458 8.32633 12.7329 8.4638 12.8714C8.62876 13.0375 8.72155 13.2638 8.72155 13.5C8.72155 13.9885 8.33223 14.3845 7.85199 14.3845C7.37174 14.3845 6.98242 13.9885 6.98242 13.5C6.98242 13.0117 7.37129 12.6159 7.85115 12.6154Z" fill="#0937B2"/>
6
+ <path d="M17 10L7 10" stroke="#0937B2" stroke-linecap="round"/>
7
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="41" height="40" viewBox="0 0 41 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M34.096 19.65H25.1975C24.3452 19.65 23.5465 20.0671 23.0578 20.7643L19.4519 25.8111C18.9512 26.5201 18.1406 26.9432 17.2704 26.9432H7.68051C6.82821 26.9432 6.02954 27.3597 5.53485 28.0568L0.176643 35.6723C-0.27037 36.3039 0.182604 37.1738 0.957427 37.1738H22.1637C23.0339 37.1738 23.8445 36.7508 24.3452 36.0417L34.8709 21.1575C35.3179 20.52 34.8649 19.65 34.096 19.65Z" fill="#34D0EC"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M22.52 12.2387H32.4251C33.2022 12.2387 33.9315 11.863 34.3799 11.2249L39.8256 3.5027C40.2739 2.87061 39.8196 2 39.0425 2H17.6123C16.8472 2 16.1239 2.36971 15.6815 3.0018L5.00529 18.1481C4.55696 18.7802 5.01127 19.6508 5.78837 19.6508H14.7191C15.5679 19.6508 16.369 19.2393 16.8591 18.5417L20.5952 13.2345C21.0316 12.6143 21.7489 12.2387 22.52 12.2387Z" fill="#0937B2"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M17.5763 6.02262C17.1793 6.28045 17.0664 6.8113 17.3243 7.20831C17.5821 7.60533 18.1129 7.71817 18.51 7.46034L20.9062 5.90423C21.3032 5.6464 21.416 5.11555 21.1582 4.71854C20.9004 4.32152 20.3695 4.20868 19.9725 4.46651L17.5763 6.02262ZM18.8571 10.8569C18.3838 10.8569 18 11.2406 18 11.714C18 12.1874 18.3838 12.5712 18.8571 12.5712H21.7143C22.1877 12.5712 22.5714 12.1874 22.5714 11.714C22.5714 11.2406 22.1877 10.8569 21.7143 10.8569H18.8571ZM17.3242 16.1472C17.582 15.7501 18.1129 15.6373 18.5099 15.8951L20.9061 17.4512C21.3031 17.7091 21.4159 18.2399 21.1581 18.6369C20.9003 19.034 20.3694 19.1468 19.9724 18.889L17.5762 17.3329C17.1792 17.075 17.0664 16.5442 17.3242 16.1472ZM4.28571 10.0711H9.27262L13.0714 7.79182V16.2075L9.27262 13.9282H4.28571C3.857 13.9282 3.5 13.5713 3.5 13.1425V10.8568C3.5 10.4281 3.857 10.0711 4.28571 10.0711ZM14.5714 17.0906C14.5714 17.8679 13.7235 18.348 13.0569 17.9481L8.85714 15.4282H7.71429V18.8568C7.71429 19.4854 7.2 19.9997 6.57143 19.9997C5.94286 19.9997 5.42857 19.4854 5.42857 18.8568V15.4282H4.28571C3.02857 15.4282 2 14.3997 2 13.1425V10.8568C2 9.59968 3.02857 8.5711 4.28571 8.5711H8.85714L13.0569 6.05123C13.7235 5.65132 14.5714 6.13143 14.5714 6.90872V17.0906Z" fill="#181F33"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M18.5 20C18.5 20.2761 18.2761 20.5 18 20.5H6C5.72386 20.5 5.5 20.2761 5.5 20V4C5.5 3.72386 5.72386 3.5 6 3.5H13.5724C13.7195 3.5 13.8591 3.56475 13.9541 3.67703L18.3817 8.90964C18.4581 8.99992 18.5 9.11436 18.5 9.23262V20ZM6 22H18C19.1046 22 20 21.1046 20 20V9.23262C20 8.75957 19.8323 8.30184 19.5268 7.94073L15.0992 2.70812C14.7192 2.25901 14.1607 2 13.5724 2H6C4.89543 2 4 2.89543 4 4V20C4 21.1046 4.89543 22 6 22ZM9.46978 12.4697C9.17689 12.7626 9.17689 13.2374 9.46978 13.5303C9.76268 13.8232 10.2376 13.8232 10.5304 13.5303L11.25 12.8108V17C11.25 17.4142 11.5858 17.75 12 17.75C12.4142 17.75 12.75 17.4142 12.75 17V12.6897L13.5907 13.5303C13.8835 13.8232 14.3584 13.8232 14.6513 13.5303C14.9442 13.2374 14.9442 12.7626 14.6513 12.4697L12.8378 10.6562C12.803 10.5436 12.7409 10.4375 12.6518 10.3483C12.4898 10.1864 12.2722 10.114 12.0605 10.1311C11.8489 10.114 11.6313 10.1864 11.4693 10.3483C11.3802 10.4375 11.3181 10.5436 11.2833 10.6562L9.46978 12.4697Z" fill="#181F33"/>
3
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12 15V22.5" stroke="#181F33" stroke-width="1.5" stroke-linecap="round"/>
3
+ <path d="M6 23V22C6 20.8954 6.89543 20 8 20H16C17.1046 20 18 20.8954 18 22V23" stroke="#181F33" stroke-width="1.5" stroke-linecap="round"/>
4
+ <path d="M6.34817 2.77691L5.5 10.3333V13C5.5 14.1046 6.39543 15 7.5 15H16.5C17.6046 15 18.5 14.1046 18.5 13V10.3333L17.6518 2.77691C17.5383 1.76502 16.6826 1 15.6643 1H8.33569C7.31745 1 6.46175 1.76502 6.34817 2.77691Z" fill="white" stroke="#181F33" stroke-width="1.5"/>
5
+ <path d="M8 10.5H16" stroke="#181F33" stroke-width="1.5" stroke-linecap="round"/>
6
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M15.2204 7.75173C15.2204 9.5476 13.7646 11.0035 11.9687 11.0035C10.1728 11.0035 8.71695 9.5476 8.71695 7.75173C8.71695 5.95585 10.1728 4.5 11.9687 4.5C13.7646 4.5 15.2204 5.95585 15.2204 7.75173ZM11.9687 12.5035C12.9679 12.5035 13.8952 12.195 14.6603 11.6681C14.6947 11.7933 14.762 11.9112 14.8621 12.0079C15.1829 12.3182 15.5672 12.5725 16.0041 12.749C17.8285 13.4862 19.9051 12.6047 20.6423 10.7802C21.3794 8.95575 20.4979 6.87916 18.6735 6.14202C17.9192 5.83728 17.1198 5.80933 16.3913 6.01072C15.6967 4.24768 13.9784 3 11.9687 3C9.96473 3 8.25051 4.2405 7.55205 5.99548C6.83896 5.81097 6.0615 5.8452 5.32684 6.14202C3.50237 6.87916 2.62091 8.95575 3.35804 10.7802C4.09517 12.6047 6.17177 13.4862 7.99624 12.749C8.4331 12.5725 8.81738 12.3182 9.1382 12.0079C9.22876 11.9204 9.29251 11.8155 9.32928 11.7036C10.0842 12.2088 10.992 12.5035 11.9687 12.5035ZM8.31017 10.7841C7.62742 9.96133 7.21695 8.90446 7.21695 7.75173C7.21695 7.65413 7.21989 7.55723 7.22569 7.46109C6.79941 7.33946 6.33225 7.35361 5.88875 7.5328C4.83238 7.9596 4.32202 9.16194 4.74882 10.2183C5.17561 11.2747 6.37796 11.785 7.43433 11.3582C7.68929 11.2552 7.91097 11.1081 8.09545 10.9297C8.15995 10.8673 8.23276 10.8188 8.31017 10.7841ZM15.9048 10.9297C15.8274 10.8548 15.738 10.7999 15.643 10.7649C16.3163 9.94492 16.7204 8.89552 16.7204 7.75173C16.7204 7.65938 16.7178 7.56764 16.7126 7.47659C16.7316 7.47267 16.7506 7.46799 16.7696 7.46252C17.1972 7.33936 17.6663 7.35291 18.1116 7.5328C19.1679 7.9596 19.6783 9.16194 19.2515 10.2183C18.8247 11.2747 17.6223 11.785 16.566 11.3582C16.311 11.2552 16.0893 11.1081 15.9048 10.9297ZM6.35479 15.641C7.79004 14.4459 9.70783 13.7988 11.687 13.842C13.6651 13.8002 15.5813 14.4479 17.0153 15.643C18.4492 16.838 19.2837 18.4828 19.3357 20.2164H17.8348C17.7838 18.963 17.1739 17.7278 16.0549 16.7953C14.9166 15.8465 13.3586 15.307 11.7186 15.3416C11.6972 15.3421 11.6757 15.3421 11.6543 15.3416C10.0134 15.3058 8.45415 15.8448 7.31467 16.7937C6.19456 17.7265 5.5841 18.9623 5.53314 20.2164H4.03222C4.08421 18.4818 4.91955 16.8362 6.35479 15.641Z" fill="#181F33"/>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="12" cy="12" r="9.25" stroke="#181F33" stroke-width="1.5"/>
3
+ <path d="M11.1044 14.7041H13.0564C13.0564 13.6161 13.3444 13.1361 14.0164 12.6081L14.4644 12.2881C15.3124 11.6481 15.9044 10.8801 15.9044 9.60009C15.9044 7.63209 14.3684 6.28809 12.1924 6.28809C10.0324 6.28809 8.46439 7.68009 8.40039 9.85609L10.5124 10.3041C10.5604 8.99209 11.2324 8.16009 12.1604 8.16009C13.0084 8.16009 13.6164 8.81609 13.6164 9.74409C13.6164 10.4161 13.2964 10.8481 12.8004 11.2481L12.4004 11.6001C11.5684 12.3041 11.1044 13.0241 11.1044 14.7041ZM12.1124 18.2081C12.8644 18.2081 13.4084 17.6801 13.4084 16.9281C13.4084 16.1921 12.8644 15.6641 12.1124 15.6641C11.3444 15.6641 10.8004 16.1921 10.8004 16.9281C10.8004 17.6801 11.3444 18.2081 12.1124 18.2081Z" fill="black"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10.8473 3.68156C11.5022 3.10615 12.4934 3.10615 13.1482 3.68156L13.1501 3.6832L21.3226 10.912C22.2351 11.6915 21.5932 13.0646 20.5086 13.0646H19.5955V19.0393C19.5955 19.9947 18.8067 20.75 17.8673 20.75H14.9325C13.9932 20.75 13.2043 19.9947 13.2043 19.0393V14.986H10.7913V19.0393C10.7913 19.9947 10.0024 20.75 9.06301 20.75H6.12825C5.18888 20.75 4.4 19.9947 4.4 19.0393V13.0646H3.48697C2.36642 13.0646 1.80037 11.6731 2.66956 10.915L10.8473 3.68156ZM11.8374 4.80838C11.8372 4.80854 11.8376 4.80822 11.8374 4.80838L4.19918 11.5646H5.15C5.56421 11.5646 5.9 11.9004 5.9 12.3146V19.0393C5.9 19.1407 5.99155 19.25 6.12825 19.25H9.06301C9.19972 19.25 9.29127 19.1407 9.29127 19.0393V14.236C9.29127 13.8218 9.62705 13.486 10.0413 13.486H13.9543C14.3685 13.486 14.7043 13.8218 14.7043 14.236V19.0393C14.7043 19.1407 14.7958 19.25 14.9325 19.25H17.8673C18.004 19.25 18.0955 19.1407 18.0955 19.0393V12.3146C18.0955 11.9004 18.4313 11.5646 18.8455 11.5646H19.7964L12.1582 4.80838C12.1579 4.8082 12.1584 4.80856 12.1582 4.80838C12.0697 4.73125 11.9258 4.73121 11.8374 4.80838Z" fill="#181F33"/>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M16.0047 5.72381C15.8016 5.61356 15.5631 5.58848 15.3415 5.6541C15.12 5.71972 14.9336 5.87065 14.8233 6.07371C14.7131 6.27676 14.688 6.5153 14.7536 6.73684C14.8192 6.95838 14.9702 7.14479 15.1732 7.25504C16.4213 7.93169 17.4083 9.00484 17.9784 10.305C18.5485 11.6051 18.6692 13.0582 18.3214 14.4346C17.9737 15.811 17.1772 17.0323 16.058 17.9056C14.9387 18.7789 13.5604 19.2544 12.1407 19.257C10.7211 19.2596 9.34102 18.7892 8.21855 17.92C7.09607 17.0508 6.29515 15.8325 5.94232 14.4574C5.58948 13.0823 5.70483 11.6288 6.27015 10.3265C6.83547 9.02431 7.81853 7.94753 9.06406 7.26629C9.26666 7.15529 9.41688 6.96835 9.48165 6.7466C9.54643 6.52484 9.52046 6.28644 9.40946 6.08383C9.29845 5.88123 9.11152 5.73101 8.88976 5.66624C8.66801 5.60146 8.4296 5.62744 8.227 5.73844C6.64194 6.60585 5.39102 7.97659 4.6718 9.63416C3.95258 11.2917 3.80606 13.1417 4.25537 14.8918C4.70468 16.6419 5.72422 18.1925 7.15296 19.2986C8.5817 20.4047 10.3382 21.0034 12.1451 21C13.952 20.9966 15.7062 20.3913 17.1308 19.2799C18.5554 18.1684 19.5691 16.614 20.0118 14.8622C20.4545 13.1104 20.3011 11.261 19.5756 9.60614C18.8502 7.95128 17.5941 6.58526 16.0058 5.72381H16.0047Z" fill="#181F33"/>
3
+ <path d="M12.1286 10.5493C12.243 10.5493 12.3562 10.5267 12.4619 10.483C12.5675 10.4392 12.6635 10.3751 12.7444 10.2942C12.8252 10.2134 12.8894 10.1174 12.9332 10.0117C12.9769 9.90605 12.9994 9.79282 12.9994 9.67846V3.87081C12.9994 3.63986 12.9077 3.41836 12.7444 3.25505C12.5811 3.09175 12.3596 3 12.1286 3C11.8977 3 11.6762 3.09175 11.5129 3.25505C11.3496 3.41836 11.2578 3.63986 11.2578 3.87081V9.67734C11.2577 9.79179 11.2801 9.90514 11.3238 10.0109C11.3675 10.1167 11.4316 10.2128 11.5125 10.2938C11.5934 10.3748 11.6894 10.439 11.7951 10.4829C11.9008 10.5267 12.0142 10.5493 12.1286 10.5493Z" fill="#181F33"/>
4
+ </svg>