{"version":3,"file":"src_app_shell_shell_module_ts-es2020.js","mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA,iDAAiD,oBAAoB,IAAI;AACzE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0DAA0D;AAC1D,aAAa;;AAEb;AACA,8BAA8B;AAC9B;AACA,aAAa;AACb;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,2CAA2C;AAC/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;;AAE9B;;AAEA;AACA,8BAA8B;AAC9B,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD,gCAAgC;AAChC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uBAAuB;AAC7C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,0BAA0B;;AAE9C;AACA;AACA,oBAAoB,kBAAkB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,OAAO;;AAEP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH,CAAC;;;;;;;;;;;;;;;;;;;;;;ACvdsC;AAEI;;;;;AAIpC,MAAM,yBAAyB;IACpC,YACmB,MAAc,EA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","sources":["./node_modules/jquery-slimscroll/jquery.slimscroll.js","./src/app/common/permissions/document-approval-flow.guard.ts","./src/app/overview-v2/guards/overview-v2.guard.ts","./src/app/shell/guards/feature.guard.ts","./src/app/shell/navbar/navbar.component.ts","./src/app/shell/navbar/navbar.template.html","./src/app/shell/shell-resolver.guard.ts","./src/app/shell/shell.component.ts","./src/app/shell/shell.template.html","./src/app/shell/shell.module.ts","./src/app/shell/shell.routes.ts","./src/app/shell/sidebar/sidebar.component.ts","./src/app/shell/sidebar/sidebar.template.html","./src/app/shell/sidebar/sidebar.service.ts"],"sourcesContent":["/*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)\n * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)\n * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.\n *\n * Version: 1.3.8\n *\n */\n(function($) {\n\n $.fn.extend({\n slimScroll: function(options) {\n\n var defaults = {\n\n // width in pixels of the visible scroll area\n width : 'auto',\n\n // height in pixels of the visible scroll area\n height : '250px',\n\n // width in pixels of the scrollbar and rail\n size : '7px',\n\n // scrollbar color, accepts any hex/color value\n color: '#000',\n\n // scrollbar position - left/right\n position : 'right',\n\n // distance in pixels between the side edge and the scrollbar\n distance : '1px',\n\n // default scroll position on load - top / bottom / $('selector')\n start : 'top',\n\n // sets scrollbar opacity\n opacity : .4,\n\n // enables always-on mode for the scrollbar\n alwaysVisible : false,\n\n // check if we should hide the scrollbar when user is hovering over\n disableFadeOut : false,\n\n // sets visibility of the rail\n railVisible : false,\n\n // sets rail color\n railColor : '#333',\n\n // sets rail opacity\n railOpacity : .2,\n\n // whether we should use jQuery UI Draggable to enable bar dragging\n railDraggable : true,\n\n // defautlt CSS class of the slimscroll rail\n railClass : 'slimScrollRail',\n\n // defautlt CSS class of the slimscroll bar\n barClass : 'slimScrollBar',\n\n // defautlt CSS class of the slimscroll wrapper\n wrapperClass : 'slimScrollDiv',\n\n // check if mousewheel should scroll the window if we reach top/bottom\n allowPageScroll : false,\n\n // scroll amount applied to each mouse wheel step\n wheelStep : 20,\n\n // scroll amount applied when user is using gestures\n touchScrollStep : 200,\n\n // sets border radius\n borderRadius: '7px',\n\n // sets border radius of the rail\n railBorderRadius : '7px'\n };\n\n var o = $.extend(defaults, options);\n\n // do it for every element that matches selector\n this.each(function(){\n\n var isOverPanel, isOverBar, isDragg, queueHide, touchDif,\n barHeight, percentScroll, lastScroll,\n divS = '
',\n minBarHeight = 30,\n releaseScroll = false;\n\n // used in event handlers and for better minification\n var me = $(this);\n\n // ensure we are not binding it again\n if (me.parent().hasClass(o.wrapperClass))\n {\n // start from last bar position\n var offset = me.scrollTop();\n\n // find bar and rail\n bar = me.siblings('.' + o.barClass);\n rail = me.siblings('.' + o.railClass);\n\n getBarHeight();\n\n // check if we should scroll existing instance\n if ($.isPlainObject(options))\n {\n // Pass height: auto to an existing slimscroll object to force a resize after contents have changed\n if ( 'height' in options && options.height == 'auto' ) {\n me.parent().css('height', 'auto');\n me.css('height', 'auto');\n var height = me.parent().parent().height();\n me.parent().css('height', height);\n me.css('height', height);\n } else if ('height' in options) {\n var h = options.height;\n me.parent().css('height', h);\n me.css('height', h);\n }\n\n if ('scrollTo' in options)\n {\n // jump to a static point\n offset = parseInt(o.scrollTo);\n }\n else if ('scrollBy' in options)\n {\n // jump by value pixels\n offset += parseInt(o.scrollBy);\n }\n else if ('destroy' in options)\n {\n // remove slimscroll elements\n bar.remove();\n rail.remove();\n me.unwrap();\n return;\n }\n\n // scroll content by the given offset\n scrollContent(offset, false, true);\n }\n\n return;\n }\n else if ($.isPlainObject(options))\n {\n if ('destroy' in options)\n {\n \treturn;\n }\n }\n\n // optionally set height to the parent's height\n o.height = (o.height == 'auto') ? me.parent().height() : o.height;\n\n // wrap content\n var wrapper = $(divS)\n .addClass(o.wrapperClass)\n .css({\n position: 'relative',\n overflow: 'hidden',\n width: o.width,\n height: o.height\n });\n\n // update style for the div\n me.css({\n overflow: 'hidden',\n width: o.width,\n height: o.height\n });\n\n // create scrollbar rail\n var rail = $(divS)\n .addClass(o.railClass)\n .css({\n width: o.size,\n height: '100%',\n position: 'absolute',\n top: 0,\n display: (o.alwaysVisible && o.railVisible) ? 'block' : 'none',\n 'border-radius': o.railBorderRadius,\n background: o.railColor,\n opacity: o.railOpacity,\n zIndex: 90\n });\n\n // create scrollbar\n var bar = $(divS)\n .addClass(o.barClass)\n .css({\n background: o.color,\n width: o.size,\n position: 'absolute',\n top: 0,\n opacity: o.opacity,\n display: o.alwaysVisible ? 'block' : 'none',\n 'border-radius' : o.borderRadius,\n BorderRadius: o.borderRadius,\n MozBorderRadius: o.borderRadius,\n WebkitBorderRadius: o.borderRadius,\n zIndex: 99\n });\n\n // set position\n var posCss = (o.position == 'right') ? { right: o.distance } : { left: o.distance };\n rail.css(posCss);\n bar.css(posCss);\n\n // wrap it\n me.wrap(wrapper);\n\n // append to parent div\n me.parent().append(bar);\n me.parent().append(rail);\n\n // make it draggable and no longer dependent on the jqueryUI\n if (o.railDraggable){\n bar.bind(\"mousedown\", function(e) {\n var $doc = $(document);\n isDragg = true;\n t = parseFloat(bar.css('top'));\n pageY = e.pageY;\n\n $doc.bind(\"mousemove.slimscroll\", function(e){\n currTop = t + e.pageY - pageY;\n bar.css('top', currTop);\n scrollContent(0, bar.position().top, false);// scroll content\n });\n\n $doc.bind(\"mouseup.slimscroll\", function(e) {\n isDragg = false;hideBar();\n $doc.unbind('.slimscroll');\n });\n return false;\n }).bind(\"selectstart.slimscroll\", function(e){\n e.stopPropagation();\n e.preventDefault();\n return false;\n });\n }\n\n // on rail over\n rail.hover(function(){\n showBar();\n }, function(){\n hideBar();\n });\n\n // on bar over\n bar.hover(function(){\n isOverBar = true;\n }, function(){\n isOverBar = false;\n });\n\n // show on parent mouseover\n me.hover(function(){\n isOverPanel = true;\n showBar();\n hideBar();\n }, function(){\n isOverPanel = false;\n hideBar();\n });\n\n // support for mobile\n me.bind('touchstart', function(e,b){\n if (e.originalEvent.touches.length)\n {\n // record where touch started\n touchDif = e.originalEvent.touches[0].pageY;\n }\n });\n\n me.bind('touchmove', function(e){\n // prevent scrolling the page if necessary\n if(!releaseScroll)\n {\n \t\t e.originalEvent.preventDefault();\n\t\t }\n if (e.originalEvent.touches.length)\n {\n // see how far user swiped\n var diff = (touchDif - e.originalEvent.touches[0].pageY) / o.touchScrollStep;\n // scroll content\n scrollContent(diff, true);\n touchDif = e.originalEvent.touches[0].pageY;\n }\n });\n\n // set up initial height\n getBarHeight();\n\n // check start position\n if (o.start === 'bottom')\n {\n // scroll content to bottom\n bar.css({ top: me.outerHeight() - bar.outerHeight() });\n scrollContent(0, true);\n }\n else if (o.start !== 'top')\n {\n // assume jQuery selector\n scrollContent($(o.start).position().top, null, true);\n\n // make sure bar stays hidden\n if (!o.alwaysVisible) { bar.hide(); }\n }\n\n // attach scroll events\n attachWheel(this);\n\n function _onWheel(e)\n {\n // use mouse wheel only when mouse is over\n if (!isOverPanel) { return; }\n\n var e = e || window.event;\n\n var delta = 0;\n if (e.wheelDelta) { delta = -e.wheelDelta/120; }\n if (e.detail) { delta = e.detail / 3; }\n\n var target = e.target || e.srcTarget || e.srcElement;\n if ($(target).closest('.' + o.wrapperClass).is(me.parent())) {\n // scroll content\n scrollContent(delta, true);\n }\n\n // stop window scroll\n if (e.preventDefault && !releaseScroll) { e.preventDefault(); }\n if (!releaseScroll) { e.returnValue = false; }\n }\n\n function scrollContent(y, isWheel, isJump)\n {\n releaseScroll = false;\n var delta = y;\n var maxTop = me.outerHeight() - bar.outerHeight();\n\n if (isWheel)\n {\n // move bar with mouse wheel\n delta = parseInt(bar.css('top')) + y * parseInt(o.wheelStep) / 100 * bar.outerHeight();\n\n // move bar, make sure it doesn't go out\n delta = Math.min(Math.max(delta, 0), maxTop);\n\n // if scrolling down, make sure a fractional change to the\n // scroll position isn't rounded away when the scrollbar's CSS is set\n // this flooring of delta would happened automatically when\n // bar.css is set below, but we floor here for clarity\n delta = (y > 0) ? Math.ceil(delta) : Math.floor(delta);\n\n // scroll the scrollbar\n bar.css({ top: delta + 'px' });\n }\n\n // calculate actual scroll amount\n percentScroll = parseInt(bar.css('top')) / (me.outerHeight() - bar.outerHeight());\n delta = percentScroll * (me[0].scrollHeight - me.outerHeight());\n\n if (isJump)\n {\n delta = y;\n var offsetTop = delta / me[0].scrollHeight * me.outerHeight();\n offsetTop = Math.min(Math.max(offsetTop, 0), maxTop);\n bar.css({ top: offsetTop + 'px' });\n }\n\n // scroll content\n me.scrollTop(delta);\n\n // fire scrolling event\n me.trigger('slimscrolling', ~~delta);\n\n // ensure bar is visible\n showBar();\n\n // trigger hide when scroll is stopped\n hideBar();\n }\n\n function attachWheel(target)\n {\n if (window.addEventListener)\n {\n target.addEventListener('DOMMouseScroll', _onWheel, false );\n target.addEventListener('mousewheel', _onWheel, false );\n }\n else\n {\n document.attachEvent(\"onmousewheel\", _onWheel)\n }\n }\n\n function getBarHeight()\n {\n // calculate scrollbar height and make sure it is not too small\n barHeight = Math.max((me.outerHeight() / me[0].scrollHeight) * me.outerHeight(), minBarHeight);\n bar.css({ height: barHeight + 'px' });\n\n // hide scrollbar if content is not long enough\n var display = barHeight == me.outerHeight() ? 'none' : 'block';\n bar.css({ display: display });\n }\n\n function showBar()\n {\n // recalculate bar height\n getBarHeight();\n clearTimeout(queueHide);\n\n // when bar reached top or bottom\n if (percentScroll == ~~percentScroll)\n {\n //release wheel\n releaseScroll = o.allowPageScroll;\n\n // publish approporiate event\n if (lastScroll != percentScroll)\n {\n var msg = (~~percentScroll == 0) ? 'top' : 'bottom';\n me.trigger('slimscroll', msg);\n }\n }\n else\n {\n releaseScroll = false;\n }\n lastScroll = percentScroll;\n\n // show only when required\n if(barHeight >= me.outerHeight()) {\n //allow window scroll\n releaseScroll = true;\n return;\n }\n bar.stop(true,true).fadeIn('fast');\n if (o.railVisible) { rail.stop(true,true).fadeIn('fast'); }\n }\n\n function hideBar()\n {\n // only hide when options allow it\n if (!o.alwaysVisible)\n {\n queueHide = setTimeout(function(){\n if (!(o.disableFadeOut && isOverPanel) && !isOverBar && !isDragg)\n {\n bar.fadeOut('slow');\n rail.fadeOut('slow');\n }\n }, 1000);\n }\n }\n\n });\n\n // maintain chainability\n return this;\n }\n });\n\n $.fn.extend({\n slimscroll: $.fn.slimScroll\n });\n\n})(jQuery);\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { map, Observable } from 'rxjs';\nimport { ExperimentationService } from 'src/app/shared/experimentation.service';\nimport { ROUTES_URLS } from '../constants';\nimport { StorageService } from '../storage.service';\n\n@Injectable()\nexport class DocumentApprovalFlowGuard implements CanActivate {\n constructor(\n private readonly router: Router,\n private readonly experimentationService: ExperimentationService,\n private readonly storageService: StorageService,\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean {\n const isV2TranscriptionFlow = route.routeConfig.path === ROUTES_URLS['document-transcription-v2'];\n const userId = JSON.parse(this.storageService.get('userInfo') || \"{}\")?.id;\n\n if(userId) {\n return this.experimentationService.showTranscriptionRevampVersion(userId).pipe(\n map((resp: boolean) => this.handleRevampVersionRedirection(isV2TranscriptionFlow, resp, state, route)\n ));\n } else {\n return false;\n }\n }\n\n handleRevampVersionRedirection(isV2TranscriptionFlow, resp, state, route) {\n if(isV2TranscriptionFlow) {\n if(!resp) {\n const urlPath = state.url.split('?')?.[0];\n const urlTokens = urlPath?.split('/');\n\n if(urlTokens.length > 0) {\n this.router.navigate([`approve-documents/${urlTokens?.[urlTokens.length - 1]}/personal/${urlTokens?.[urlTokens.length - 2]}`], {\n queryParams: route.queryParams\n });\n } else {\n return true;\n }\n }\n return true;\n } else {\n if(resp) {\n const urlPath = state.url.split('?')?.[0];\n const urlTokens = urlPath?.split('/');\n\n if(urlTokens.length > 0) {\n this.router.navigate([`${ROUTES_URLS['document-transcription-v2']}/${urlTokens?.[urlTokens.length - 1]}/${urlTokens?.[urlTokens.length - 3]}`], {\n queryParams: route.queryParams\n });\n } else {\n return true;\n }\n }\n\n return true;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\n\n@Injectable()\nexport class OverviewV2Guard implements CanActivate {\n\n constructor(private router: Router) { }\n\n canActivate(route: ActivatedRouteSnapshot): boolean {\n const queryParams = { ...route.queryParams };\n if (route.queryParams.trainingId) {\n delete queryParams.trainingId;\n this.router.navigate([`/overview/training/${route.queryParams.trainingId}`], { queryParams });\n }\n if (route.queryParams.companyId) {\n delete queryParams.companyId;\n this.router.navigate([`/overview/company/${route.queryParams.companyId}`], { queryParams });\n }\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\nimport { Observable, of as observableOf } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { FeatureService, IFeatures } from '../../common/feature.service';\n\n@Injectable()\nexport class FeatureGuard implements CanActivate {\n constructor(\n private featureService: FeatureService,\n private router: Router\n ) { }\n\n canActivate(route: ActivatedRouteSnapshot) {\n if (!route.data['feature']) return observableOf(true);\n return this.featureService.getMergedConfig().pipe(\n map((features: IFeatures) => {\n if (features[route.data['feature']['key']] !== route.data['feature']['state']) {\n this.router.navigate(['/']);\n }\n return true;\n }));\n }\n}\n","import { Component, ElementRef, EventEmitter, OnInit, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Select2OptionData } from 'ng-select2';\n\nimport { CitiesService, DateService, SpinnerService } from '../../../app/common';\nimport { AppConfig } from '../../app.config';\nimport { AuthService } from '../../common/auth/auth.service';\nimport { GetCitiesService } from '../../common/get-cities.service';\nimport { Config } from '../shell';\ndeclare var jQuery: any;\n\n@Component({\n selector: '[navbar]',\n templateUrl: './navbar.template.html'\n})\nexport class NavbarComponent implements OnInit {\n @Output() toggleSidebarEvent: EventEmitter = new EventEmitter();\n @Output() toggleChatEvent: EventEmitter = new EventEmitter();\n $el: any;\n config: Config;\n router: Router;\n authService: AuthService;\n cities: Array;\n city: string;\n userFirstName: string;\n userLastName: string;\n public currentCity: string;\n\n constructor(el: ElementRef,\n config: AppConfig,\n router: Router,\n authService: AuthService,\n private citiesService: CitiesService,\n private spinnerService: SpinnerService,\n private dateService: DateService,\n private getCitiesService: GetCitiesService\n ) {\n this.$el = jQuery(el.nativeElement);\n this.config = config.getConfig();\n this.router = router;\n this.authService = authService;\n }\n\n toggleSidebar(state: string): void {\n this.toggleSidebarEvent.emit(state);\n }\n\n ngOnInit(): void {\n const userInfo = this.authService.getUserInfo();\n if (userInfo) {\n this.userFirstName = userInfo['first_name'];\n this.userLastName = userInfo['last_name'];\n }\n if (this.getCitiesService.citiesList().length) {\n this.cities = this.getCitiesService.citiesList();\n this.city = localStorage.getItem('sg_city_id') || this.cities[0].id;\n this.setOffset();\n } else {\n this.getCitiesService.getCities()\n .subscribe((cities: any) => {\n this.cities = cities;\n this.getCitiesService.citiesList(cities);\n this.city = localStorage.getItem('sg_city_id') || cities[0].id;\n this.setOffset();\n });\n }\n }\n\n onLogoutClick() {\n this.spinnerService.change(true);\n this.authService.clearSession()\n .subscribe(() => {\n this.spinnerService.change(false);\n this.authService.logout();\n }, (err) => {\n this.spinnerService.change(false);\n this.authService.logout();\n });\n }\n\n onCityChange(cityId: string) {\n this.changeCity(cityId);\n }\n\n setOffset() {\n const currentCity = this.cities.find((city) => this.city === String(city.id));\n this.dateService.setCity(currentCity);\n }\n\n onRefresh() {\n window.location.reload();\n }\n\n changeCity(cityId: string) {\n const city = this.cities.find(city => cityId === String(city.id));\n if (city) {\n this.citiesService.changeCity(city.id, city['offset'], city['online_locations_count']);\n } else {\n this.citiesService.changeCity(cityId);\n }\n }\n}\n","
\n \n \n \n \n\n \n \n
\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot, Resolve, Router,\n RouterStateSnapshot\n} from '@angular/router';\nimport { Select2OptionData } from 'ng-select2';\n\nimport { DateService } from '../../app/common';\nimport { GetCitiesService } from '../common/get-cities.service';\n\n@Injectable()\nexport class ShellResolver implements Resolve {\n city: string;\n cities: Array;\n\nconstructor(\n private getCitiesService: GetCitiesService,\n private router: Router,\n private dateService: DateService) {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n return new Promise((resolve, reject) => {\n\nif (this.getCitiesService.citiesList().length) {\n this.cities = this.getCitiesService.citiesList();\n this.city = localStorage.getItem('sg_city_id') || this.cities[0].id;\n const currentCity = this.cities.find((city) => this.city === String(city.id));\n this.dateService.setCity(currentCity);\n resolve(false);\n } else {\n this.getCitiesService.getCities()\n .subscribe((cities: any) => {\n this.cities = cities;\n this.getCitiesService.citiesList(cities);\n this.city = localStorage.getItem('sg_city_id') || cities[0].id;\n const currentCity = this.cities.find((city) => this.city === String(city.id));\n this.dateService.setCity(currentCity);\n resolve(false);\n });\n }\n });\n\n}\n}\n","import { Component, ElementRef, OnInit, ViewEncapsulation } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { debounceTime, filter } from 'rxjs/operators';\n\nimport { AppConfig } from '../app.config';\nimport { DynamicModalService, IComponentModel } from '../common/modals/dynamic-modal/dynamic-modal.service';\n\nimport { SidebarService } from './sidebar/sidebar.service';\ndeclare var jQuery: any;\ndeclare var Hammer: any;\ndeclare var Raphael: any;\n\n@Component({\n selector: 'shell',\n encapsulation: ViewEncapsulation.None,\n templateUrl: './shell.template.html',\n host: {\n '[class.nav-static]': 'config.state[\"nav-static\"]',\n '[class.chat-sidebar-opened]': 'chatOpened',\n '[class.app]': 'true',\n id: 'app'\n }\n})\nexport class ShellComponent implements OnInit {\n config: any;\n configFn: any;\n $sidebar: any;\n el: ElementRef;\n router: Router;\n chatOpened = false;\n componentData: { component: any, inputs?: any } = null;\n\n constructor(config: AppConfig,\n el: ElementRef,\n router: Router,\n private dynamicModalService: DynamicModalService,\n private sidebarService: SidebarService) {\n Raphael.prototype.safari = (): any => {\n return;\n };\n this.el = el;\n this.config = config.getConfig();\n this.configFn = config;\n this.router = router;\n }\n\n ngOnInit(): void {\n this.dynamicModalService.componentData\n .subscribe((componentData: IComponentModel) => this.componentData = componentData);\n\n if (localStorage.getItem('nav-static') === 'true') {\n this.config.state['nav-static'] = true;\n }\n\n const $el = jQuery(this.el.nativeElement);\n this.$sidebar = $el.find('[sidebar]');\n\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n debounceTime(500))\n .subscribe(() => {\n if (jQuery('main').is('.fadeInUp')) {\n jQuery('main').removeClass('fadeInUp animated');\n }\n });\n\n this.$sidebar.on('mouseenter', () => this.sidebarMouseEnter());\n this.$sidebar.on('mouseleave', () => this.sidebarMouseLeave());\n\n this.checkNavigationState();\n\n this.$sidebar.on('click', () => {\n if (jQuery('shell').is('.nav-collapsed')) {\n this.expandNavigation();\n }\n });\n\n this.router.events.subscribe(() => {\n this.collapseNavIfSmallScreen();\n if (!this.router.url.startsWith('/overview')) return;\n window.scrollTo(0, 0);\n });\n\n if ('ontouchstart' in window) {\n this.enableSwipeCollapsing();\n }\n\n this.$sidebar.find('.collapse').on('show.bs.collapse', (e) => {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n const $triggerLink = jQuery(this).prev('[data-toggle=collapse]');\n jQuery($triggerLink.data('parent'))\n .find('.collapse.in').not(jQuery(this)).collapse('hide');\n })\n .on('show.bs.collapse', function (e): void {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n jQuery(this).closest('li').addClass('open');\n }).on('hide.bs.collapse', function (e): void {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n jQuery(this).closest('li').removeClass('open');\n });\n }\n\n toggleSidebarListener(state): void {\n const toggleNavigation = state === 'static'\n ? this.toggleNavigationState\n : this.toggleNavigationCollapseState;\n toggleNavigation.apply(this);\n localStorage.setItem('nav-static', this.config.state['nav-static']);\n this.emitSidebarEvent();\n }\n\n toggleChatListener(): void {\n jQuery(this.el.nativeElement).find('.chat-notification-sing').remove();\n this.chatOpened = !this.chatOpened;\n\n setTimeout(() => {\n jQuery('.chat-sidebar-user-group:first-of-type ' +\n '.list-group-item:first-child:not(.js-notification-added)')\n .addClass('active js-notification-added')\n .find('.fa-circle')\n .after('3');\n }, 1000);\n }\n\n toggleNavigationState(): void {\n this.config.state['nav-static'] = !this.config.state['nav-static'];\n if (!this.config.state['nav-static']) {\n this.collapseNavigation();\n }\n }\n\n expandNavigation(): void {\n if (this.isNavigationStatic()\n && (this.configFn.isScreen('lg') || this.configFn.isScreen('xl'))) {\n return;\n }\n\n jQuery('shell').removeClass('nav-collapsed');\n this.$sidebar.find('.active .active').closest('.collapse').collapse('show')\n .siblings('[data-toggle=collapse]').removeClass('collapsed');\n }\n\n collapseNavigation(): void {\n if (this.isNavigationStatic()\n && (this.configFn.isScreen('lg') || this.configFn.isScreen('xl'))) {\n return;\n }\n\n jQuery('shell').addClass('nav-collapsed');\n this.$sidebar.find('.collapse.in').collapse('hide')\n .siblings('[data-toggle=collapse]').addClass('collapsed');\n }\n\n checkNavigationState(): void {\n if (this.isNavigationStatic()) {\n if (this.configFn.isScreen('sm')\n || this.configFn.isScreen('xs') || this.configFn.isScreen('md')) {\n this.collapseNavigation();\n }\n } else {\n if (this.configFn.isScreen('lg') || this.configFn.isScreen('xl')) {\n setTimeout(() => {\n this.collapseNavigation();\n this.emitSidebarEvent();\n }, this.config.settings.navCollapseTimeout);\n } else {\n this.collapseNavigation();\n }\n }\n }\n\n isNavigationStatic(): boolean {\n return this.config.state['nav-static'] === true;\n }\n\n toggleNavigationCollapseState(): void {\n if (jQuery('shell').is('.nav-collapsed')) {\n this.expandNavigation();\n } else {\n this.collapseNavigation();\n }\n }\n\n enableSwipeCollapsing(): void {\n const swipe = new Hammer(document.getElementById('content-wrap'));\n const d = this;\n\n swipe.on('swipeleft', () => {\n setTimeout(() => {\n if (d.configFn.isScreen('md')) {\n return;\n }\n\n if (!jQuery('shell').is('.nav-collapsed')) {\n d.collapseNavigation();\n }\n });\n });\n\n swipe.on('swiperight', () => {\n if (d.configFn.isScreen('md') || jQuery('shell').is('.chat-sidebar-opened')) {\n return;\n }\n if (jQuery('shell').is('.nav-collapsed')) {\n d.expandNavigation();\n }\n });\n }\n\n collapseNavIfSmallScreen(): void {\n if (this.configFn.isScreen('xs')\n || this.configFn.isScreen('sm') || this.configFn.isScreen('md')) {\n this.collapseNavigation();\n }\n }\n\n private sidebarMouseEnter(): void {\n if (this.configFn.isScreen('lg') || this.configFn.isScreen('xl')) {\n this.expandNavigation();\n this.emitSidebarEvent();\n }\n }\n\n private sidebarMouseLeave(): void {\n if (this.configFn.isScreen('lg') || this.configFn.isScreen('xl')) {\n this.collapseNavigation();\n this.emitSidebarEvent();\n }\n }\n\n private emitSidebarEvent() {\n if (this.config.state['nav-static']) {\n return this.sidebarService.sidebarToggled();\n }\n this.sidebarService.sidebarAnimationStart();\n }\n}\n","\n\n\n\n
\n \n
\n \n
\n \n
","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport 'jquery-slimscroll';\nimport { NgSelect2Module } from 'ng-select2';\nimport { TooltipModule } from 'ngx-bootstrap';\n\nimport { AppCommonModule } from '../common/common.module';\nimport { DynamicModalModule } from '../common/modals/dynamic-modal/dynamic-modal.module';\nimport { DocumentApprovalFlowGuard } from '../common/permissions/document-approval-flow.guard';\nimport { OverviewV2Guard } from '../overview-v2/guards/overview-v2.guard';\nimport { OverviewService } from '../overview/overview.service';\n\nimport { FeatureGuard } from './guards/feature.guard';\nimport { NavbarComponent } from './navbar/navbar.component';\nimport { ShellResolver } from './shell-resolver.guard';\nimport { ShellComponent } from './shell.component';\nimport { ROUTES } from './shell.routes';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { SidebarService } from './sidebar/sidebar.service';\n\n@NgModule({\n imports: [\n CommonModule,\n AppCommonModule,\n TooltipModule.forRoot(),\n ROUTES,\n FormsModule,\n NgSelect2Module,\n DynamicModalModule\n ],\n declarations: [\n ShellComponent,\n SidebarComponent,\n NavbarComponent\n ],\n providers: [\n OverviewService,\n ShellResolver,\n FeatureGuard,\n SidebarService,\n OverviewV2Guard,\n DocumentApprovalFlowGuard\n ]\n})\nexport class ShellModule {}\n","import { RouterModule, Routes } from '@angular/router';\n\nimport { AuthGuard } from '../common/auth/auth.guard';\nimport { ROUTES_URLS } from '../common/constants';\nimport { DocumentApprovalFlowGuard } from '../common/permissions/document-approval-flow.guard';\nimport { PermissionGuard } from '../common/permissions/permissions.guard';\nimport { OverviewV2Guard } from '../overview-v2/guards/overview-v2.guard';\n\nimport { FeatureGuard } from './guards/feature.guard';\nimport { ShellResolver } from './shell-resolver.guard';\nimport { ShellComponent } from './shell.component';\n\n// noinspection TypeScriptValidateTypes\nconst routes: Routes = [\n {\n path: '',\n component: ShellComponent,\n canActivate: [AuthGuard],\n resolve: { ShellResolver },\n children: [\n {\n path: '',\n redirectTo: 'overview',\n pathMatch: 'full'\n },\n {\n path: 'dashboard',\n canActivate: [PermissionGuard],\n data: { permission: 'admin-dashboard' },\n loadChildren: () => import('../dashboard/dashboard.module').then(m => m.DashboardModule)\n },\n {\n path: 'overview',\n canActivate: [ OverviewV2Guard ],\n loadChildren: () => import('../overview-v2/overview-v2.module').then(m => m.OverviewV2Module)\n },\n {\n path: 'incomplete-profiles',\n canActivate: [PermissionGuard],\n data: { permission: 'admin-view-incomplete-registrations' },\n loadChildren: () => import('../incomplete-registrations/incomplete-registrations.module').then(m => m.IncompleteRegistrationsModule)\n },\n {\n path: 'training-slots',\n canActivate: [PermissionGuard],\n data: { permission: 'admin-view-training-slots' },\n loadChildren: () => import('../training-slots/training-slots.module').then(m => m.TrainingSlotsModule)\n },\n {\n path: 'approve-documents',\n canActivate: [PermissionGuard, DocumentApprovalFlowGuard],\n data: {permission: 'admin-view-lead-profile' },\n loadChildren: () => import('../approve-documents/approve-documents.module').then(m => m.ApproveDocumentsModule)\n },\n {\n path: ROUTES_URLS['document-transcription-v2'],\n canActivate: [DocumentApprovalFlowGuard],\n data: {permission: 'admin-view-lead-profile' },\n loadChildren: () => import('../overview-v2/document-transcription-v2/document-transcription-v2.module').then(m => m.DocTranscriptionV2Module)\n },\n {\n path: 'reporting',\n canActivate: [PermissionGuard],\n data: { permission: 'admin-reporting' },\n loadChildren: () => import('../reporting/reporting.module').then(m => m.ReportingModule)\n },\n {\n path: 'download-history',\n canActivate: [PermissionGuard],\n data: { permission: 'admin-download-list-for-solution' },\n loadChildren: () => import('../download-history/download-history.module').then(m => m.DownloadHistoryModule)\n },\n {\n path: 'download-data',\n children: [\n {\n path: 'all-captains',\n canActivate: [PermissionGuard],\n data: { permission: 'download-data' },\n loadChildren: () => import('../download-data/download-data.module').then(m => m.DownloadDataModule)\n },\n {\n path: 'help-leads',\n canActivate: [PermissionGuard],\n data: { permission: 'download-data' },\n loadChildren: () => import('../download-data-help-leads/download-data-help-leads.module').then(m => m.DownloadDataHelpLeadsModule)\n },\n {\n path: 'optional-docs',\n canActivate: [PermissionGuard],\n data: { permission: 'download-data' },\n loadChildren: () => import('../download-data-optional-docs/download-data-optional-docs.module').then(m => m.DownloadDataOptionalDocsModule)\n },\n {\n path: 'captain-docs',\n canActivate: [PermissionGuard],\n data: { permission: 'download-excel-url' },\n loadChildren: () => import('../download-data-captain-docs/download-data-captain-docs.module').then(m => m.DownloadDataCaptainsModule)\n },\n {\n path: 'export-status',\n canActivate: [PermissionGuard],\n data: { permission: 'admin-view-captain-creation-status' },\n loadChildren: () => import('../download-data-creation-status/download-data-creation-status.module').then(m => m.DownloadDataCreationStatusModule)\n }\n ]\n },\n {\n path: 'find-a-captain',\n canActivate: [PermissionGuard],\n data: { permission: 'find-a-captain' },\n loadChildren: () => import('../find-a-captain/find-a-captain.module').then(m => m.FindACaptainModule)\n },\n {\n path: 'user-management',\n canActivate: [PermissionGuard],\n data: { permission: 'admin-manage-users' },\n loadChildren: () => import('../user-management/user-management.module').then(m => m.UserManagementModule)\n },\n {\n path: 'replicate-city',\n canActivate: [PermissionGuard],\n data: { permission: 'replicate-city' },\n loadChildren: () => import('../replicate-city/replicate-city.module').then(m => m.ReplicateCityModule)\n },\n {\n path: 'add-captain',\n canActivate: [PermissionGuard],\n data: { permission: 'admin-add-captain' },\n loadChildren: () => import('../add-captain/add-captain.module').then(m => m.AddCaptainModule)\n },\n {\n path: 'support',\n loadChildren: () => import('../support/support.module').then(m => m.SupportModule)\n },\n {\n path: 'add-lead',\n canActivate: [PermissionGuard],\n data: { permission: 'admin-add-captain' },\n loadChildren: () => import('../add-lead/add-lead.module').then(m => m.AddLeadModule)\n },\n {\n path: 'cms',\n canActivate: [PermissionGuard],\n // Might need another permission or no permission and let it be handled in children\n data: { permission: 'admin-view-city-document' },\n loadChildren: () => import('../cms/cms.module').then(m => m.CmsModule)\n }\n ]\n }\n];\n\nexport const ROUTES = RouterModule.forChild(routes);\n","import { Component, ElementRef, OnInit, AfterViewInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { cloneDeep, find, remove, unionBy } from 'lodash';\nimport { filter } from 'rxjs/operators';\n\nimport { AppConfig } from '../../app.config';\nimport { CitiesService } from '../../common';\nimport { AuthService } from '../../common/auth/auth.service';\nimport { FeatureService, IFeatures } from '../../common/feature.service';\nimport { Menu } from '../../common/permissions/menu';\nimport { PermissionService } from '../../common/permissions/permissions.service';\ndeclare var jQuery: any;\n\n@Component({\n selector: '[sidebar]',\n templateUrl: './sidebar.template.html'\n})\n\nexport class SidebarComponent implements OnInit, AfterViewInit {\n $el: any;\n config: Object;\n router: Router;\n location: Location;\n sidebarMenu: Array;\n lastRoute: string;\n isCareemAccount = false;\n\n constructor(\n config: AppConfig,\n el: ElementRef,\n router: Router,\n location: Location,\n private readonly authService: AuthService,\n private readonly permissionService: PermissionService,\n private readonly featureService: FeatureService,\n private readonly middlewareService: CitiesService\n ) {\n this.$el = jQuery?.(el.nativeElement);\n this.config = config.getConfig();\n this.router = router;\n this.location = location;\n\n const decodedToken = this.authService.decodeTokenToBase64(this.authService.getToken());\n this.isCareemAccount = !!decodedToken.careem_user_id;\n }\n\n initSidebarScroll(): void {\n const $sidebarContent = this.$el.find('.js-sidebar-content');\n if (this.$el.find('.slimScrollDiv').length !== 0) {\n $sidebarContent.slimscroll({\n destroy: true\n });\n }\n $sidebarContent?.slimscroll?.({\n height: window.innerHeight,\n size: '4px'\n });\n }\n\n activateRoute(route) {\n if (!(jQuery('main').is('.fadeInUp')) && this.lastRoute !== route) {\n jQuery('main').addClass('fadeInUp animated');\n }\n this.lastRoute = route;\n }\n\n changeActiveNavigationItem(location): void {\n const $newActiveLink = this.$el.find(`a[href=\"#${location.path().split('?')[0]}\"]`);\n\n if (!$newActiveLink.is('.active > .collapse > li > a')) {\n this.$el.find('.active .active').closest('.collapse').collapse('hide');\n }\n this.$el.find('.sidebar-nav .active').removeClass('active');\n\n $newActiveLink.closest('li').addClass('active')\n .parents('li').addClass('active');\n\n $newActiveLink.closest('.collapse')\n .addClass('in').css('height', '')\n .siblings('a[data-toggle=collapse]')\n .removeClass('collapsed');\n }\n\n ngAfterViewInit(): void {\n this.changeActiveNavigationItem(this.location);\n }\n\n ngOnInit(): void {\n this.manipulateData();\n this.middlewareService.getCity()\n .subscribe((response) => this.manipulateData(+response['city']));\n }\n\n private manipulateData(cityId?: number) {\n const sgCityId = cityId || +localStorage.getItem('sg_city_id');\n this.featureService.fetchMergedConfigByCity(sgCityId)\n .subscribe((response: IFeatures) => {\n const menuItems: Menu[] = cloneDeep(this.permissionService.menuParser());\n if (!response.ENABLE_SG_ADD_VEHICLE) {\n menuItems\n .filter(item => this.isMenuForAddLeadOrOverview(item.id))\n .forEach((menuContainingAddVehicleItem: any) => {\n menuContainingAddVehicleItem.subMenu = menuContainingAddVehicleItem.subMenu.filter(\n item => !this.isSubMenuForAddVehicle(item.id)\n );\n });\n }\n if (!response.ENABLE_SG_ADD_SUPPLIER) {\n menuItems\n .filter(item => this.isMenuForAddLeadOrOverview(item.id))\n .forEach((menuContainingAddSupplierItem: any) => {\n menuContainingAddSupplierItem.subMenu = menuContainingAddSupplierItem.subMenu.filter(\n item => !this.isSubMenuForAddSupplier(item.id)\n );\n });\n }\n if (!response.ENABLE_SG_CITY_DOCUMENTS_CONFIGURATION) {\n menuItems\n .filter(item => this.isMenuForCms(item.id))\n .forEach((menuContainingCmsItem: any) => {\n menuContainingCmsItem.subMenu = menuContainingCmsItem.subMenu.filter(\n item => !this.isSubMenuForCms(item.id)\n );\n });\n }\n\n this.validateEntryForSupport(menuItems, response);\n\n this.sidebarMenu = menuItems.filter(menuItem => !menuItem.subMenu || menuItem.subMenu.length);\n jQuery(window).on('sn:resize', this.initSidebarScroll.bind(this));\n this.initSidebarScroll();\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd))\n .subscribe((event) => this.changeActiveNavigationItem(this.location));\n });\n }\n\n private isMenuForAddLeadOrOverview(id: string) {\n return id === 'add-lead' || id === 'overview';\n }\n\n private isMenuForCms(id: string) {\n return id === 'cms';\n }\n\n private isSubMenuForAddVehicle(id: string) {\n return id === 'add-vehicle' || id === 'overview-vehicle';\n }\n\n private isSubMenuForAddSupplier(id: string) {\n return id === 'add-supplier' || id === 'overview-supplier';\n }\n\n private isSubMenuForCms(id: string) {\n return id === 'cms-documents-upload' || id === 'replicate-city';\n }\n\n private validateEntryForSupport(menuItems: Menu[], featureToggles: IFeatures) {\n const supportMenuItemIndex = menuItems.findIndex(menuItem => menuItem.id === 'support');\n if (supportMenuItemIndex >= 0) {\n menuItems[supportMenuItemIndex].subMenu = menuItems[supportMenuItemIndex]\n .subMenu.filter(subMenuItem => featureToggles[subMenuItem.toggle]);\n }\n }\n}\n","","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class SidebarService {\n private sidebarAnimationProgressSource$ = new Subject();\n private sidebarToggledSource$ = new Subject();\n\n sidebarAnimationProgress$ = this.sidebarAnimationProgressSource$.asObservable();\n sidebarToggled$ = this.sidebarToggledSource$.asObservable();\n\n private interval;\n private timeout;\n private animateDurationInMs = 300;\n\n sidebarAnimationStart() {\n if (this.timeout) clearTimeout(this.timeout);\n if (this.interval) clearInterval(this.interval);\n this.interval = setInterval(() => this.sidebarAnimationProgressSource$.next());\n this.timeout = setTimeout(() => clearInterval(this.interval), this.animateDurationInMs);\n }\n\n sidebarToggled() {\n this.sidebarToggledSource$.next();\n }\n}\n"],"names":[],"sourceRoot":"webpack:///"}