{"version":3,"file":"main.js","mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/admin/admin.component.ts","./src/app/admin/work/camera/camera.service.ts","./src/app/admin/work/camera/live/camera-download.component.ts","./src/app/app.common.ts","./src/app/app.component.ts","./src/app/app.data.ts","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/app.service.ts","./src/app/app.settings.model.ts","./src/app/app.settings.ts","./src/app/app.storage.ts","./src/app/auth/auth.guard.ts","./src/app/auth/error.interceptor.ts","./src/app/auth/jwt.interceptor.ts","./src/app/pages/not-enough-access/not-enough-accessComponent.ts","./src/app/pages/not-found/not-found.component.ts","./src/app/pages/redirect/redirect.component.ts","./src/app/service/stream-service.service.ts","./src/app/shared/shared.module.ts","./src/app/theme/components/applications/applications.component.ts","./src/app/theme/components/breadcrumb/breadcrumb.component.ts","./src/app/theme/components/confirmation-dialog/confirmation-dialog.component.ts","./src/app/theme/components/file-upload-attached/file-upload-attached.component.ts","./src/app/theme/components/file-upload-attached/view/file-upload-attached-view.component.ts","./src/app/theme/components/file-upload/file-upload.component.ts","./src/app/theme/components/flags-menu/flags-menu.component.ts","./src/app/theme/components/fullscreen/fullscreen.component.ts","./src/app/theme/components/menu/horizontal-menu/horizontal-menu.component.ts","./src/app/theme/components/menu/menu.service.ts","./src/app/theme/components/menu/vertical-menu/vertical-menu.component.ts","./src/app/theme/components/sidenav/sidenav.component.ts","./src/app/theme/components/user-menu/user-menu.component.ts","./src/app/theme/pipes/pagination/pagination.pipe.ts","./src/app/theme/pipes/pipes.module.ts","./src/app/theme/pipes/profilePicture/profilePicture.pipe.ts","./src/app/theme/pipes/search/chat-person-search.pipe.ts","./src/app/theme/pipes/search/mail-search.pipe.ts","./src/app/theme/pipes/search/user-search.pipe.ts","./src/app/theme/pipes/truncate/truncate.pipe.ts","./src/app/theme/utils/custom-overlay-container.ts","./src/environments/environment.prod.ts","./src/environments/environment.ts","./src/main.ts","./src/app/admin/admin.component.scss","./src/app/app.component.scss","./src/app/theme/components/applications/applications.component.scss","./src/app/theme/components/breadcrumb/breadcrumb.component.scss","./src/app/theme/components/confirmation-dialog/confirmation-dialog.component.scss","./src/app/theme/components/flags-menu/flags-menu.component.scss","./src/app/theme/components/menu/horizontal-menu/horizontal-menu.component.scss","./src/app/theme/components/menu/vertical-menu/vertical-menu.component.scss","./src/app/theme/components/sidenav/sidenav.component.scss","./src/app/theme/components/user-menu/user-menu.component.scss","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { Component, OnInit, ViewChild, HostListener, ElementRef } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { AppCommon } from '../app.common';\r\nimport { AppService } from '../app.service';\r\nimport { AppSettings } from '../app.settings';\r\nimport { Settings } from '../app.settings.model';\r\nimport { AppStorage } from '../app.storage';\r\nimport { MenuService } from '../theme/components/menu/menu.service';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.scss'],\r\n providers: [ MenuService , AppService]\r\n})\r\nexport class AdminComponent implements OnInit {\r\n @ViewChild('sidenav') sidenav:any;\r\n @ViewChild('backToTop') backToTop:any;\r\n @ViewChild('mainSidenavContent') mainSidenavContent: any;\r\n @ViewChild('mainContent') mainContent: ElementRef;\r\n\r\n public settings:Settings;\r\n public menus = ['vertical', 'horizontal'];\r\n public menuOption:string;\r\n public menuTypes = ['default', 'compact', 'mini'];\r\n public menuTypeOption:string;\r\n public lastScrollTop:number = 0;\r\n public showBackToTop:boolean = false;\r\n public toggleSearchBar:boolean = false;\r\n private defaultMenu:string; //declared for return default menu when window resized\r\n public showSidenav:boolean = false;\r\n params: any = { userId: \"trongdz\" };\r\n constructor(public appSettings:AppSettings, public router:Router, private menuService: MenuService, public appService: AppService,\r\n public appStorage: AppStorage,\r\n private appCommon: AppCommon,\r\n ){\r\n this.settings = this.appSettings.settings;\r\n }\r\n\r\n ngOnInit() {\r\n setInterval(()=>{\r\n this.initData();\r\n },30000);\r\n if(window.innerWidth <= 768){\r\n this.settings.menu = 'vertical';\r\n this.settings.sidenavIsOpened = false;\r\n this.settings.sidenavIsPinned = false;\r\n }\r\n this.menuOption = this.settings.menu;\r\n this.menuTypeOption = this.settings.menuType;\r\n this.defaultMenu = this.settings.menu;\r\n }\r\n\r\n public initData() {\r\n var cvs = this.appStorage.getCategoryData();\r\n this.appService.pullData((cvs != null ? cvs.categoryVersion : \"x\")).subscribe(outData => {\r\n if (outData.status) {\r\n this.appStorage.setCategoryData(outData.data);\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(){\r\n setTimeout(() => { this.settings.loadingSpinner = false }, 300);\r\n this.backToTop.nativeElement.style.display = 'none';\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n if(!this.settings.sidenavIsPinned){\r\n this.sidenav.close();\r\n }\r\n if(window.innerWidth <= 768){\r\n this.sidenav.close();\r\n }\r\n }\r\n });\r\n if(this.settings.menu == \"vertical\") {\r\n this.menuService.expandActiveSubMenu(this.menuService.getVerticalMenuItems());\r\n }\r\n }\r\n\r\n public chooseMenu(){\r\n this.settings.menu = this.menuOption;\r\n this.defaultMenu = this.menuOption;\r\n this.router.navigate(['/']);\r\n }\r\n\r\n public chooseMenuType(){\r\n this.settings.menuType = this.menuTypeOption;\r\n }\r\n\r\n public changeTheme(theme){\r\n this.settings.theme = theme;\r\n }\r\n\r\n public toggleSidenav(){\r\n if (this.sidenav != undefined) {\r\n this.sidenav.toggle();\r\n }\r\n }\r\n\r\n public onPageScroll(event: any){\r\n (event.target.scrollTop > 300) ? this.backToTop.nativeElement.style.display = 'flex' : this.backToTop.nativeElement.style.display = 'none';\r\n if(this.settings.menu == 'horizontal'){\r\n if(this.settings.fixedHeader){\r\n var currentScrollTop = (event.target.scrollTop > 56) ? event.target.scrollTop : 0;\r\n if(currentScrollTop > this.lastScrollTop){\r\n document.querySelector('#horizontal-menu')!.classList.add('sticky');\r\n event.target.classList.add('horizontal-menu-hidden');\r\n }\r\n else{\r\n document.querySelector('#horizontal-menu')!.classList.remove('sticky');\r\n event.target.classList.remove('horizontal-menu-hidden');\r\n }\r\n this.lastScrollTop = currentScrollTop;\r\n }\r\n else{\r\n if(event.target.scrollTop > 56){\r\n document.querySelector('#horizontal-menu')!.classList.add('sticky');\r\n event.target.classList.add('horizontal-menu-hidden');\r\n }\r\n else{\r\n document.querySelector('#horizontal-menu')!.classList.remove('sticky');\r\n event.target.classList.remove('horizontal-menu-hidden');\r\n }\r\n }\r\n }\r\n }\r\n\r\n public scrollToTop() {\r\n this.mainSidenavContent.scrollTo({\r\n top: 0\r\n });\r\n this.mainContent.nativeElement.scrollTo({\r\n duration: 100,\r\n top: 0\r\n });\r\n }\r\n\r\n\r\n @HostListener('window:resize')\r\n public onWindowResize():void {\r\n if(window.innerWidth <= 768){\r\n this.settings.sidenavIsOpened = false;\r\n this.settings.sidenavIsPinned = false;\r\n this.settings.menu = 'vertical'\r\n }\r\n else{\r\n (this.defaultMenu == 'horizontal') ? this.settings.menu = 'horizontal' : this.settings.menu = 'vertical'\r\n this.settings.sidenavIsOpened = true;\r\n this.settings.sidenavIsPinned = true;\r\n }\r\n }\r\n\r\n public closeSubMenus(){\r\n let menu = document.querySelector(\".sidenav-menu-outer\");\r\n if(menu){\r\n for (let i = 0; i < menu.children[0].children.length; i++) {\r\n let child = menu.children[0].children[i];\r\n if(child){\r\n if(child.children[0].classList.contains('expanded')){\r\n child.children[0].classList.remove('expanded');\r\n child.children[1].classList.remove('show');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n onDownloadWMS() {\r\n const link = 'https://bandoso.dttt.vn/VMSCamera.zip';\r\n window.open(link, '_blank');\r\n }\r\n\r\n onOpenInstructionUrl() {\r\n const link = 'https://bdsonline.gitbook.io/he-thong-quan-ly-ban-do-so-camera-3/';\r\n window.open(link, '_blank');\r\n }\r\n\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpEvent, HttpRequest } from '@angular/common/http';\r\nimport { shareReplay, retry, catchError } from 'rxjs/operators';\r\nimport { ApiResponseData, ClientSettings } from './../../../app.settings.model';\r\nimport { AppClientSettings } from '../../../app.settings';\r\nimport { AppCommon } from '../../../app.common'\r\nimport { Observable } from 'rxjs';\r\nimport {CameraCommand, CameraModel} from \"./camera.model\";\r\n\r\n@Injectable()\r\nexport class CameraService {\r\n public url = \"/api/work/Camera\";\r\n _injector: Injector;\r\n public clientSettings: ClientSettings;\r\n constructor\r\n (\r\n public http: HttpClient,\r\n appClientSettings: AppClientSettings,\r\n public appCommon :AppCommon,\r\n injector: Injector\r\n ) {\r\n this.clientSettings = appClientSettings.settings\r\n this.url = this.clientSettings.serverAPI + this.url\r\n this._injector = injector;\r\n }\r\n\r\n searchPaged(params: any) {\r\n return this.http.get>(this.url + \"/searchpage\", this.appCommon.getHeaders(params)).pipe(shareReplay(1),retry(1),catchError((err: HttpErrorResponse) => this.handleError(err, this._injector)));\r\n }\r\n\r\n create(camera: CameraCommand) {\r\n return this.http.post>(this.url + \"/create\", camera).pipe(shareReplay(1),retry(1),catchError((err: HttpErrorResponse) => this.handleError(err, this._injector)));\r\n }\r\n\r\n edit(camera: CameraCommand) {\r\n return this.http.put>(this.url + \"/edit\", camera).pipe(shareReplay(1),retry(1),catchError((err: HttpErrorResponse) => this.handleError(err, this._injector)));\r\n }\r\n getById(id: number) {\r\n return this.http.get>(this.url + \"/getById/\" + id).pipe(shareReplay(1),retry(1),catchError((err: HttpErrorResponse) => this.handleError(err, this._injector)));\r\n }\r\n delete(id: number) {\r\n return this.http.delete>(this.url + \"/delete/\" + id).pipe(shareReplay(1),retry(1),catchError((err: HttpErrorResponse) => this.handleError(err, this._injector)));\r\n }\r\n\r\n exportData(params: any) : Observable>{\r\n var paramsStr = new URLSearchParams(params).toString();\r\n return this.http.request(new HttpRequest(\r\n 'POST', this.url + \"/ExportData?\"+paramsStr, null,\r\n { reportProgress: true,\r\n responseType: 'blob'\r\n }));\r\n\r\n }\r\n\r\n handleError(error: any, injector: Injector) {\r\n if (error.status === 401) {\r\n\r\n } else {\r\n\r\n }\r\n return Promise.reject(error);\r\n }\r\n}\r\n","import { Component, OnInit, Inject, HostListener, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, ThemePalette} from '@angular/material/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { AppCommon } from '../../../../app.common'\r\nimport { AppStorage } from '../../../../app.storage'\r\nimport { MAT_MOMENT_DATE_FORMATS, MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {CameraService} from \"../camera.service\";\r\nimport {StreamServiceService} from \"../../../../service/stream-service.service\";\r\nimport * as moment from 'moment';\r\n\r\ndeclare var Hls: any;\r\n\r\n@Component({\r\n selector: 'app-camera-download',\r\n templateUrl: './camera-download.component.html',\r\n providers: [\r\n CameraService,\r\n StreamServiceService,\r\n AppCommon,\r\n { provide: MAT_DATE_LOCALE, useValue: 'vi-VN' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS }\r\n ]\r\n})\r\nexport class CameraDownloadComponent implements OnInit {\r\n public form: FormGroup;\r\n public formCalendars: FormGroup;\r\n isProcess = { saveProcess: false, deleteProcess: false, initData: false };\r\n\r\n cameraInfo: any\r\n\r\n heightScroll: number = 600;\r\n\r\n type = 2;\r\n\r\n public disabled = false;\r\n public showSpinners = true;\r\n public showSeconds = true;\r\n public touchUi = false;\r\n public enableMeridian = false;\r\n public minDate: Date;\r\n public maxDate: Date;\r\n public stepHour = 1;\r\n public stepMinute = 1;\r\n public stepSecond = 1;\r\n public color: ThemePalette = 'primary';\r\n public disableMinute = false;\r\n public hideTime = false;\r\n\r\n public dateControl1 = new FormControl(new Date());\r\n public dateControl2 = new FormControl(new Date());\r\n\r\n public options = [\r\n { value: true, label: 'True' },\r\n { value: false, label: 'False' }\r\n ];\r\n\r\n public listColors = ['primary', 'accent', 'warn'];\r\n\r\n public stepHours = [1, 2, 3, 4, 5];\r\n public stepMinutes = [1, 5, 10, 15, 20, 25];\r\n public stepSeconds = [1, 5, 10, 15, 20, 25];\r\n\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA)\r\n public data: any,\r\n public fb: FormBuilder,\r\n public dialog: MatDialog,\r\n public snackBar: MatSnackBar,\r\n public appStorage: AppStorage,\r\n public appCommon: AppCommon,\r\n private translate: TranslateService,\r\n private streamServiceService: StreamServiceService,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if (this.data != null) {\r\n this.cameraInfo = this.data.cameraInfo;\r\n if (this.data.type) {\r\n this.type = this.data.type;\r\n }\r\n }\r\n }\r\n\r\n close(input: any = null): void {\r\n if (input != null) {\r\n this.dialogRef.close(input);\r\n }\r\n else {\r\n this.dialogRef.close();\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n this.fixHeightScroll();\r\n }\r\n\r\n onDownload() {\r\n\r\n const fromValue = this.dateControl1.value;\r\n const toValue = this.dateControl2.value;\r\n if (!fromValue || !toValue) {\r\n alert('Vui lòng nhập thời gian');\r\n return;\r\n }\r\n\r\n const from = moment(fromValue).format(this.appCommon.DATETIME_FORMAT_FOR_CAMERA_APP);\r\n const to = moment(toValue).format(this.appCommon.DATETIME_FORMAT_FOR_CAMERA_APP);\r\n\r\n if (!from || !to) {\r\n alert('Vui lòng nhập thời gian hợp lệ');\r\n return;\r\n }\r\n this.dialogRef.close({\r\n from, to\r\n });\r\n }\r\n\r\n // onChangeDate(date, type = 1) {\r\n // console.log(date)\r\n // const dateVal = date.format('YYYY-M-D');\r\n // console.log(dateVal)\r\n // if (type === 1) {\r\n // this.fromDateTime = dateVal;\r\n // } else {\r\n // this.toDateTime = dateVal;\r\n // }\r\n // }\r\n @HostListener('window:resize')\r\n public onWindowResize(): void {\r\n this.fixHeightScroll();\r\n }\r\n\r\n fixHeightScroll() {\r\n let getTop = this.fix_detail.nativeElement.getBoundingClientRect().top;\r\n this.heightScroll = window.innerHeight - getTop + 20;\r\n }\r\n\r\n\r\n @ViewChild('fix_detail', { static: false }) fix_detail: ElementRef;\r\n\r\n}\r\n","import {Injectable, Pipe, PipeTransform} from '@angular/core';\r\nimport {HttpHeaders} from '@angular/common/http';\r\nimport {User} from './admin/user/users/users.model';\r\nimport {FormGroup} from '@angular/forms';\r\nimport {DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl} from '@angular/platform-browser';\r\nimport {DatePipe} from '@angular/common';\r\nimport {City} from './admin/category/city/city.model';\r\nimport {District} from './admin/category/district/district.model';\r\nimport {Nation} from './admin/category/nation/nation.model';\r\nimport {Nationality} from './admin/category/nationality/nationality.model';\r\nimport {Ward} from './admin/category/ward/ward.model';\r\nimport {Rank} from './admin/category/rank/rank.model';\r\nimport {WorkPosition} from './admin/category/work-position/work-position.model';\r\nimport {WorkDepartment} from './admin/category/work-department/work-department.model';\r\nimport {EnforcementFunction} from './admin/category/enforcement-function/enforcement-function.model';\r\nimport {University} from './admin/category/university/university.model';\r\nimport {Majoring} from './admin/category/majoring/majoring.model';\r\nimport {AuditorCardIssuer} from './admin/category/auditor-card-issuer/auditor-card-issuer.model';\r\nimport * as moment from \"moment/moment\";\r\nimport Swal from 'sweetalert2'\r\n\r\n\r\n@Injectable()\r\nexport class AppCommon {\r\n\r\n DATETIME_FORMAT_FOR_CAMERA_APP = 'YYYY-MM-DDHH:mm:ss';\r\n\r\n jsonToQueryString(json: object) {\r\n return '?' +\r\n Object.keys(json).map(function (key) {\r\n return encodeURIComponent(key) + '=' +\r\n encodeURIComponent(json[key]);\r\n }).join('&');\r\n }\r\n\r\n moneyInputFormat() {\r\n return {\r\n align: \"left\",\r\n allowNegative: true,\r\n allowZero: true,\r\n decimal: \",\",\r\n precision: 0,\r\n prefix: \"\",\r\n suffix: \"\",\r\n thousands: \".\",\r\n nullable: false\r\n };\r\n }\r\n\r\n changeUrl(url: string, json: object) {\r\n window.history.pushState('page2', 'Title', url + this.jsonToQueryString(json));\r\n }\r\n\r\n\r\n formatDateTime2(inDate: any, fm: string) {\r\n if (inDate == null || inDate == undefined || inDate == \"null\") {\r\n return \"\";\r\n }\r\n var check = (typeof inDate === 'object' && inDate !== null);\r\n if(check == true)\r\n {\r\n return inDate.format(fm)\r\n }\r\n else\r\n {\r\n return inDate;\r\n }\r\n }\r\n\r\n formatDateTime(inDate: any, fm: string) {\r\n if (inDate == null || inDate == undefined || inDate == \"null\") {\r\n return \"\";\r\n }\r\n var datePipe = new DatePipe(\"vi-VN\");\r\n var data = datePipe.transform(inDate, fm);\r\n return data;\r\n }\r\n\r\n\r\n formatDateTimeZone(inDate: any, fm: string, zone: string) {\r\n if (inDate == null || inDate == undefined || inDate == \"null\") {\r\n return \"\";\r\n }\r\n var datePipe = new DatePipe(zone);\r\n var data = datePipe.transform(inDate, fm);\r\n return data;\r\n }\r\n\r\n dateAddDay(inDate: Date, days: number): Date {\r\n var newdate = new Date(inDate);\r\n newdate.setDate(newdate.getDate() + days);\r\n return newdate;\r\n }\r\n\r\n dateAddMonth(inDate: Date, months: number): Date {\r\n var newdate = new Date(inDate);\r\n newdate.setMonth(newdate.getMonth() + months);\r\n return newdate;\r\n }\r\n\r\n\r\n daysInMonth(year: number, month: number) {\r\n return new Date(year, month, 0).getDate();\r\n }\r\n\r\n searchfixParram(defaultObject: any): any {\r\n try {\r\n let copyParrams = Object.assign({}, defaultObject);\r\n var props = Object.getOwnPropertyNames(copyParrams);\r\n props.forEach(element => {\r\n var thisValue = copyParrams[element];\r\n if(thisValue != null && Array.isArray(thisValue))\r\n {\r\n copyParrams[element] = thisValue.join(',');\r\n }\r\n });\r\n return copyParrams;\r\n }\r\n catch\r\n {\r\n return defaultObject;\r\n }\r\n }\r\n\r\n public urlToJsonV2(defaultObject: any, url: string, callback: (paramName:any, value: any) => any): any {\r\n\r\n if (url == null || url == undefined || url == \"\") {\r\n return defaultObject;\r\n }\r\n try {\r\n var hash: any[];\r\n var myJson = {};\r\n var hashes = url.slice(url.indexOf('?') + 1).split('&');\r\n for (var i = 0; i < hashes.length; i++) {\r\n hash = hashes[i].split('=');\r\n myJson[hash[0]] = callback(hash[0],decodeURIComponent(hash[1]));\r\n }\r\n return myJson;\r\n }\r\n catch\r\n {\r\n return defaultObject;\r\n }\r\n }\r\n urlToJson(defaultObject: any, url: string): any {\r\n\r\n if (url == null || url == undefined || url == \"\") {\r\n return defaultObject;\r\n }\r\n try {\r\n var hash: any[];\r\n var myJson = {};\r\n var hashes = url.slice(url.indexOf('?') + 1).split('&');\r\n for (var i = 0; i < hashes.length; i++) {\r\n hash = hashes[i].split('=');\r\n myJson[hash[0]] = decodeURIComponent(hash[1]);\r\n }\r\n return myJson;\r\n }\r\n catch\r\n {\r\n return defaultObject;\r\n }\r\n }\r\n\r\n urlToBasePath(url: string) {\r\n\r\n var hashes = url.split('?');\r\n if (url.length > 1) {\r\n return hashes[0];\r\n }\r\n return url;\r\n }\r\n\r\n initHeightTable(tagid: string, trudi: number): number {\r\n let getTop = document?.getElementById(tagid)?.getBoundingClientRect()?.top;\r\n return window.innerHeight - (getTop ?? 0) - trudi;\r\n }\r\n\r\n getHeaders(params: any) {\r\n let myHeaders = new HttpHeaders();\r\n myHeaders.append('Content-Type', 'application/json');\r\n return {\r\n params: this.cleanOject(params), headers: myHeaders\r\n }\r\n }\r\n\r\n getHeadersText(params: any) {\r\n return {\r\n params: this.cleanOject(params),\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json' }),\r\n responseType: 'text'\r\n }\r\n }\r\n\r\n getHeadersDowload() {\r\n return new HttpHeaders({\r\n 'Content-Type': 'application/pdf',\r\n responseType: 'blob',\r\n Accept: 'application/xlxs',\r\n observe: 'response'\r\n })\r\n }\r\n\r\n cleanOject(obj: any) {\r\n for (var propName in obj) {\r\n if (obj[propName] === null || obj[propName] === \"null\" || obj[propName] === undefined) {\r\n delete obj[propName];\r\n }\r\n }\r\n return obj;\r\n }\r\n\r\n pad(number: number, length: number) {\r\n var str = '' + number;\r\n while (str.length < length) {\r\n str = '0' + str;\r\n }\r\n return str;\r\n }\r\n\r\n toAfterMoney(input: number, discountAmount: number, discountUnitType: number) {\r\n if (discountUnitType == 0) {\r\n return parseFloat((input - discountAmount).toString()).toFixed(0)\r\n }\r\n else {\r\n return parseFloat((input - ((discountAmount * input) / 100)).toString()).toFixed(0)\r\n }\r\n }\r\n\r\n toAfterMoneyStr(input: number, discountAmount: number, discountUnitType: number) {\r\n var total = \"\";\r\n if (discountUnitType == 0) {\r\n total = parseFloat((input - discountAmount).toString()).toFixed(0);\r\n }\r\n else {\r\n total = parseFloat((input - ((discountAmount * input) / 100)).toString()).toFixed(0)\r\n }\r\n if (total == \"\") {\r\n return \"\";\r\n }\r\n return this.formatMoney(parseInt(total), 0, 3);\r\n }\r\n\r\n formatMoney(value: number, n:any, x:any) {\r\n if (value == null) {\r\n return \"0\";\r\n }\r\n var re = '\\\\d(?=(\\\\d{' + (x || 3) + '})+' + (n > 0 ? '\\\\,' : '$') + ')';\r\n return value.toFixed(Math.max(0, ~~n)).replace(new RegExp(re, 'g'), '$&.');\r\n }\r\n\r\n fMoney(value: number) {\r\n var n = 0;\r\n var x = 3;\r\n if (value == null) {\r\n return \"0\";\r\n }\r\n var re = '\\\\d(?=(\\\\d{' + (x || 3) + '})+' + (n > 0 ? '\\\\,' : '$') + ')';\r\n return value.toFixed(Math.max(0, ~~n)).replace(new RegExp(re, 'g'), '$&.');\r\n }\r\n\r\n getUser(users: User[], id: number) {\r\n if (id == null || id == 0) {\r\n return \"---\";\r\n }\r\n var dl = users.find(x => x.id == id);\r\n if (dl != null) {\r\n return dl.displayName;\r\n }\r\n else {\r\n return \"---\";\r\n }\r\n }\r\n\r\n isDisabledControll(form: FormGroup, controlName: string, value: boolean) {\r\n if (value) {\r\n form?.get(controlName)?.disable();\r\n } else {\r\n form?.get(controlName)?.enable();\r\n }\r\n }\r\n\r\n getColor(items: any, id: number) {\r\n if (id == null || id == 0) {\r\n return \"---\";\r\n }\r\n var dl = items.find(x => x.id == id);\r\n\r\n if (dl != null) {\r\n return dl.name;\r\n }\r\n else {\r\n return \"---\";\r\n }\r\n }\r\n\r\n getModel(items: any, id: number) {\r\n if (id == null || id == 0) {\r\n return \"---\";\r\n }\r\n var dl = items.find(x => x.id == id);\r\n\r\n if (dl != null) {\r\n return dl.name;\r\n }\r\n else {\r\n return \"---\";\r\n }\r\n }\r\n\r\n getObject(items: any, id: number) {\r\n if (id == null || id == 0) {\r\n return null;\r\n }\r\n if (items?.length === 0) {\r\n return null;\r\n }\r\n return items.find(x => x.id == id);\r\n }\r\n\r\n getObj(items: any, id: number) {\r\n if (id == null || id == 0) {\r\n return \"---\";\r\n }\r\n var dl = items.find(x => x.id == id);\r\n\r\n if (dl != null) {\r\n return dl.name;\r\n }\r\n else {\r\n return \"---\";\r\n }\r\n }\r\n\r\n getObjString(items: any, id: string) {\r\n if (id == null || id == \"\") {\r\n return \"---\";\r\n }\r\n var dl = items.find(x => x.id == parseInt(id));\r\n if (dl != null) {\r\n return dl.name;\r\n }\r\n else {\r\n return \"---\";\r\n }\r\n }\r\n\r\n openLiveUrlCamera(element: any, isLive: boolean = true, fromDate = null, toDate = null, type = 1, brand : any = null, token = '') {\r\n let startTime = moment().format(this.DATETIME_FORMAT_FOR_CAMERA_APP);\r\n let url = 'opencamera:'+element.id;\r\n if (type === 2) {\r\n url = 'playback:'+element.id;\r\n }\r\n if (type === 3) {\r\n url = 'download:'+element.id;\r\n }\r\n if (brand === null) {\r\n this.showErrorMessage('Không xác định được hãng Camera!');\r\n return;\r\n }\r\n if (!brand.isLiveSupport) {\r\n this.showErrorMessage('Hệ thống chưa hỗ trợ camera hãng: ' + brand.name)\r\n return;\r\n }\r\n url = brand.scheme + url;\r\n if (!isLive) {\r\n url += '|' + fromDate + '|' + toDate\r\n } \r\n window.location.href = url + '|' + token;\r\n console.log(url + '|' + token);\r\n return;\r\n\r\n // let startTime = moment().format(this.DATETIME_FORMAT_FOR_CAMERA_APP);\r\n // let url = element.rtsp\r\n // + '|' + element.natIp\r\n // + '|' + element.cameraInfoUser\r\n // + '|' + element.cameraInfoPassword\r\n // + '|' + element.natSdkPort\r\n // + '|' + element.cameraInfoChannel;\r\n // if (brand === null) {\r\n // this.showErrorMessage('Không xác định được hãng Camera!');\r\n // return;\r\n // }\r\n // if (!brand.isLiveSupport) {\r\n // this.showErrorMessage('Hệ thống chưa hỗ trợ camera hãng: ' + brand.name)\r\n // return;\r\n // }\r\n // url = brand.scheme + type + '|' + url;\r\n // if (isLive) {\r\n // url += '|' + startTime + '|' + startTime\r\n // } else {\r\n // url += '|' + fromDate + '|' + toDate\r\n // }\r\n // window.location.href = url;\r\n // console.log(url)\r\n // return;\r\n }\r\n\r\n showErrorMessage(message, title = 'Lỗi!', closeButton = 'Đóng') {\r\n Swal.fire({\r\n title: title,\r\n text: message,\r\n icon: 'error',\r\n confirmButtonText: closeButton\r\n });\r\n }\r\n\r\n vietnameseStringToSlug(str) {\r\n var from = \"àáãảạăằắẳẵặâầấẩẫậèéẻẽẹêềếểễệđùúủũụưừứửữựòóỏõọôồốổỗộơờớởỡợìíỉĩịäëïîöüûñçýỳỹỵỷ\",\r\n to = \"aaaaaaaaaaaaaaaaaeeeeeeeeeeeduuuuuuuuuuuoooooooooooooooooiiiiiaeiiouuncyyyyy\";\r\n for (var i=0, l=from.length ; i < l ; i++) {\r\n str = str.replace(RegExp(from[i], \"gi\"), to[i]);\r\n }\r\n str = str.toLowerCase()\r\n .trim()\r\n .replace(/[^a-z0-9\\-]/g, '-')\r\n .replace(/-+/g, '-');\r\n\r\n return str;\r\n }\r\n\r\n}\r\n\r\n@Pipe({ name: 'citiesFilter' })\r\n@Injectable()\r\nexport class CitiesFilter implements PipeTransform {\r\n transform(datas: City[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 );\r\n }\r\n}\r\n\r\n@Pipe({ name: 'wardsFilter' })\r\n@Injectable()\r\nexport class WardsFilter implements PipeTransform {\r\n transform(datas: Ward[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas.filter(x => x.cityId == o.cityId && x.districtId == o.districtId);;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 && x.cityId == o.cityId && x.districtId == o.districtId);\r\n }\r\n}\r\n\r\n\r\n@Pipe({ name: 'nationalitiesFilter' })\r\n@Injectable()\r\nexport class NationalitiesFilter implements PipeTransform {\r\n transform(datas: Nationality[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 );\r\n }\r\n}\r\n\r\n@Pipe({ name: 'nationsFilter' })\r\n@Injectable()\r\nexport class NationsFilter implements PipeTransform {\r\n transform(datas: Nation[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 );\r\n }\r\n}\r\n\r\n\r\n@Pipe({ name: 'districtsFilter' })\r\n@Injectable()\r\nexport class DistrictsFilter implements PipeTransform {\r\n transform(datas: District[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas.filter(x => x.cityId == o.cityId);;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 && x.cityId == o.cityId);\r\n }\r\n}\r\n\r\n@Pipe({ name: 'userFilter' })\r\n@Injectable()\r\nexport class UserFilter implements PipeTransform {\r\n transform(users: User[], key: string): any {\r\n if (key == null || key == undefined || key == \"\") {\r\n return users;\r\n }\r\n return users.filter(treatmentService => treatmentService.displayName.toLowerCase().indexOf(key.toLowerCase()) !== -1);\r\n }\r\n}\r\n\r\n@Pipe({ name: 'ranksFilter' })\r\n@Injectable()\r\nexport class RanksFilter implements PipeTransform {\r\n transform(datas: Rank[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 );\r\n }\r\n}\r\n\r\n@Pipe({ name: 'workPositionsFilter' })\r\n@Injectable()\r\nexport class WorkPositionsFilter implements PipeTransform {\r\n transform(datas: WorkPosition[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 );\r\n }\r\n}\r\n\r\n@Pipe({ name: 'workDepartmentsFilter' })\r\n@Injectable()\r\nexport class WorkDepartmentsFilter implements PipeTransform {\r\n transform(datas: WorkDepartment[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 );\r\n }\r\n}\r\n\r\n\r\n@Pipe({ name: 'auditorCardIssuersFilter' })\r\n@Injectable()\r\nexport class AuditorCardIssuersFilter implements PipeTransform {\r\n transform(datas: AuditorCardIssuer[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 );\r\n }\r\n}\r\n\r\n@Pipe({ name: 'majoringsFilter' })\r\n@Injectable()\r\nexport class MajoringsFilter implements PipeTransform {\r\n transform(datas: Majoring[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 );\r\n }\r\n}\r\n\r\n@Pipe({ name: 'enforcementFunctionsFilter' })\r\n@Injectable()\r\nexport class EnforcementFunctionsFilter implements PipeTransform {\r\n transform(datas: EnforcementFunction[], o: any): any {\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 );\r\n }\r\n}\r\n\r\n@Pipe({ name: 'universitysFilter' })\r\n@Injectable()\r\nexport class UniversitysFilter implements PipeTransform {\r\n transform(datas: University[], o: any): any {\r\n datas = datas.filter(x=>x.group == o.group && x.type == o.type);\r\n\r\n if (o == null || o == undefined || o == \"\" || o.key == \"\" || o.key == null|| o.key == undefined) {\r\n return datas;\r\n }\r\n return datas.filter(x => x.name?.toLowerCase().indexOf(o.key?.toLowerCase()) !== -1 );\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n@Pipe({\r\n name: 'power'\r\n})\r\nexport class PowerPipe implements PipeTransform {\r\n transform(base: number, exponent: number): number {\r\n return Math.pow(base, exponent);\r\n }\r\n}\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class Safe {\r\n constructor(private sanitizer: DomSanitizer) { }\r\n transform(value: string, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html':\r\n return this.sanitizer.bypassSecurityTrustHtml(value);\r\n case 'style':\r\n return this.sanitizer.bypassSecurityTrustStyle(value);\r\n case 'script':\r\n return this.sanitizer.bypassSecurityTrustScript(value);\r\n case 'url':\r\n return this.sanitizer.bypassSecurityTrustUrl(value);\r\n case 'resourceUrl':\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n default:\r\n return this.sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport {\r\n Event,\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router\r\n} from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppCommon } from './app.common';\r\nimport { AppService } from './app.service';\r\nimport { AppClientSettings, AppSettings } from './app.settings';\r\nimport { Settings } from './app.settings.model';\r\nimport { AppStorage } from './app.storage';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n providers: [\r\n AppService,\r\n AppCommon,\r\n AppClientSettings\r\n ]\r\n})\r\nexport class AppComponent {\r\n public settings: Settings;\r\n constructor(\r\n public appSettings: AppSettings,\r\n public appStorage: AppStorage,\r\n public appService: AppService,\r\n private translate: TranslateService,\r\n private router: Router\r\n ) {\r\n this.settings = this.appSettings.settings;\r\n translate.setDefaultLang('vi');\r\n\r\n this.router.events.subscribe((event: Event) => {\r\n switch (true) {\r\n case event instanceof NavigationStart: {\r\n this.settings.loadingSpinner = true; \r\n break;\r\n }\r\n case event instanceof NavigationEnd:\r\n case event instanceof NavigationCancel:\r\n case event instanceof NavigationError: {\r\n this.settings.loadingSpinner = false; \r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}","import { Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';\r\nimport { AppStorage } from './app.storage';\r\n\r\n@Directive({\r\n selector: '[roles-is]'\r\n})\r\nexport class CheckRolesDirective implements OnInit {\r\n @Input('roles-is') roleValues = '0';\r\n acctions: Number[];\r\n elx: ElementRef\r\n constructor(el: ElementRef, public appStorage: AppStorage) { \r\n this.elx = el; \r\n }\r\n \r\n ngOnInit(): void {\r\n this.checkRoles(this.elx);\r\n }\r\n\r\n checkRoles(el: ElementRef)\r\n {\r\n var ids = this.roleValues.split(',');\r\n this.acctions = this.appStorage.getAccountInfo().roleActions.map(x=>x.id);\r\n if(ids.length ==0)\r\n {\r\n el.nativeElement.style.display = 'none';\r\n }\r\n else if(!this.appStorage.getAccountInfo().isSuperAdmin)\r\n {\r\n var kt = this.acctions.find(x=> (ids.indexOf(x.toString()) >= 0));\r\n if( kt == null || kt == undefined)\r\n {\r\n el.nativeElement.style.display = 'none';\r\n }\r\n }\r\n else{}\r\n }\r\n}","import { BrowserModule } from '@angular/platform-browser';\r\nimport { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { OverlayContainer } from '@angular/cdk/overlay';\r\nimport { CustomOverlayContainer } from './theme/utils/custom-overlay-container';\r\n\r\nimport { NgScrollbarModule } from 'ngx-scrollbar';\r\nimport { CalendarModule, DateAdapter } from 'angular-calendar';\r\nimport { adapterFactory } from 'angular-calendar/date-adapters/date-fns';\r\n\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { PipesModule } from './theme/pipes/pipes.module';\r\nimport { AppRoutingModule } from './app.routing';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { AppClientSettings, AppSettings } from './app.settings';\r\n\r\nimport { SidenavComponent } from './theme/components/sidenav/sidenav.component';\r\nimport { VerticalMenuComponent } from './theme/components/menu/vertical-menu/vertical-menu.component';\r\nimport { HorizontalMenuComponent } from './theme/components/menu/horizontal-menu/horizontal-menu.component';\r\nimport { BreadcrumbComponent } from './theme/components/breadcrumb/breadcrumb.component';\r\nimport { FlagsMenuComponent } from './theme/components/flags-menu/flags-menu.component';\r\nimport { FullScreenComponent } from './theme/components/fullscreen/fullscreen.component';\r\nimport { ApplicationsComponent } from './theme/components/applications/applications.component';\r\nimport { UserMenuComponent } from './theme/components/user-menu/user-menu.component';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localePt from '@angular/common/locales/vi';\r\nimport { routing } from './app.routing';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\nimport { NgxCurrencyModule } from \"ngx-currency\";\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { JwtInterceptor } from './auth/jwt.interceptor';\r\nimport { ErrorInterceptor } from './auth/error.interceptor';\r\nimport { AppStorage } from './app.storage';\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\r\nimport { PerfectScrollbarConfigInterface, PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n wheelPropagation: true,\r\n suppressScrollX: true\r\n};\r\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\r\nimport { ConfirmationDialogComponent } from './theme/components/confirmation-dialog/confirmation-dialog.component';\r\nimport { FileUploadAttackedViewComponent } from './theme/components/file-upload-attached/view/file-upload-attached-view.component';\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport { NgxMatDatetimePickerModule, NgxMatTimepickerModule, NgxMatNativeDateModule } from '@angular-material-components/datetime-picker';\r\nimport { NgChartsModule } from 'ng2-charts';\r\nimport {CameraDownloadComponent} from \"./admin/work/camera/live/camera-download.component\";\r\n\r\nregisterLocaleData(localePt, 'vi-VN');\r\n// registerLocaleData(localePt, 'en-US');\r\n// registerLocaleData(localePt, 'UTC');\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserAnimationsModule,\r\n BrowserModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n PerfectScrollbarModule,\r\n\r\n CalendarModule.forRoot({\r\n provide: DateAdapter,\r\n useFactory: adapterFactory\r\n }),\r\n SharedModule,\r\n PipesModule,\r\n routing,\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule,\r\n NgxMatNativeDateModule,\r\n NgxMaterialTimepickerModule,\r\n NgxMatSelectSearchModule,\r\n NgxCurrencyModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n }),\r\n NgChartsModule,\r\n ],\r\n declarations: [\r\n AppComponent,\r\n AdminComponent,\r\n SidenavComponent,\r\n VerticalMenuComponent,\r\n HorizontalMenuComponent,\r\n BreadcrumbComponent,\r\n FlagsMenuComponent,\r\n FullScreenComponent,\r\n ApplicationsComponent,\r\n UserMenuComponent,\r\n VerticalMenuComponent,\r\n ConfirmationDialogComponent,\r\n FileUploadAttackedViewComponent,\r\n CameraDownloadComponent\r\n ],\r\n entryComponents: [\r\n VerticalMenuComponent,\r\n ConfirmationDialogComponent,\r\n FileUploadAttackedViewComponent\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n AppSettings,\r\n AppClientSettings,\r\n AppStorage,\r\n { provide: PERFECT_SCROLLBAR_CONFIG, useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG },\r\n { provide: OverlayContainer, useClass: CustomOverlayContainer },\r\n { provide: LOCALE_ID, useValue: 'vi-VN' },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, 'assets/i18n/', '.json');\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport { AuthGuard } from './auth/auth.guard';\r\nimport { NotEnoughAccessComponent } from './pages/not-enough-access/not-enough-accessComponent';\r\nimport { NotFoundComponent } from './pages/not-found/not-found.component';\r\nimport { RedirectComponent } from './pages/redirect/redirect.component';\r\nimport { ModuleWithProviders } from '@angular/core';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n component: AdminComponent, canActivate: [AuthGuard], children: [\r\n { path: '', loadChildren: () => import('./admin/dashboard/dashboard.module').then(m => m.DashboardModule), data: { breadcrumb: 'Dashboard' } },\r\n { path: 'admin/profiles', loadChildren: () => import('./admin/account/account.module').then(m => m.AccountModule) },\r\n { path: 'admin/roles', loadChildren: () => import('./admin/user/roles/roles.module').then(m => m.RolesModule), data: { breadcrumb: 'Roles' } },\r\n { path: 'admin/role-groups', loadChildren: () => import('./admin/user/role-groups/role-groups.module').then(m => m.RoleGroupsModule), data: { breadcrumb: '' } },\r\n { path: 'admin/role-areas', loadChildren: () => import('./admin/user/role-areas/role-areas.module').then(m => m.RoleAreasModule), data: { breadcrumb: '' } },\r\n { path: 'admin/role-controllers', loadChildren: () => import('./admin/user/role-controllers/role-controllers.module').then(m => m.RoleControllersModule), data: { breadcrumb: '' } },\r\n { path: 'admin/users', loadChildren: () => import('./admin/user/users/users.module').then(m => m.UsersModule), data: { breadcrumb: 'Users' } },\r\n { path: 'admin/report', loadChildren: () => import('./admin/report/report.module').then(m => m.ReportModule), data: { breadcrumb: '' } },\r\n\r\n // Danh mục\r\n { path: 'admin/category/city', loadChildren: () => import('./admin/category/city/city.module').then(m => m.CityModule), data: { breadcrumb: '' } },\r\n { path: 'admin/category/district', loadChildren: () => import('./admin/category/district/district.module').then(m => m.DistrictModule), data: { breadcrumb: '' } },\r\n { path: 'admin/category/enforcement-function', loadChildren: () => import('./admin/category/enforcement-function/enforcement-function.module').then(m => m.EnforcementFunctionModule), data: { breadcrumb: '' } },\r\n { path: 'admin/category/nation', loadChildren: () => import('./admin/category/nation/nation.module').then(m => m.NationModule), data: { breadcrumb: '' } },\r\n { path: 'admin/category/nationality', loadChildren: () => import('./admin/category/nationality/nationality.module').then(m => m.NationalityModule), data: { breadcrumb: '' } },\r\n { path: 'admin/category/ward', loadChildren: () => import('./admin/category/ward/ward.module').then(m => m.WardModule), data: { breadcrumb: '' } },\r\n { path: 'admin/category/work-department', loadChildren: () => import('./admin/category/work-department/work-department.module').then(m => m.WorkDepartmentModule), data: { breadcrumb: '' } },\r\n { path: 'admin/category/work-position', loadChildren: () => import('./admin/category/work-position/work-position.module').then(m => m.WorkPositionModule), data: { breadcrumb: '' } },\r\n { path: 'admin/category/majoring', loadChildren: () => import('./admin/category/majoring/majoring.module').then(m => m.MajoringModule), data: { breadcrumb: '' } },\r\n { path: 'admin/category/university', loadChildren: () => import('./admin/category/university/university.module').then(m => m.UniversityModule), data: { breadcrumb: '' } },\r\n { path: 'admin/category/auditor-card-issuer', loadChildren: () => import('./admin/category/auditor-card-issuer/auditor-card-issuer.module').then(m => m.AuditorCardIssuerModule), data: { breadcrumb: '' } },\r\n\r\n // Camera Management\r\n\r\n { path: 'admin/camera', loadChildren: () => import('./admin/work/camera/camera.module').then(m => m.CameraModule), data: { breadcrumb: '' } },\r\n { path: 'admin/camera-place', loadChildren: () => import('././admin/work/camera-place/camera-place.module').then(m => m.CameraPlaceModule), data: { breadcrumb: '' } },\r\n { path: 'admin/camera-place-category', loadChildren: () => import('././admin/work/camera-place-category/camera-place-category.module').then(m => m.CameraPlaceCategoryModule), data: { breadcrumb: '' } },\r\n { path: 'admin/camera-brand', loadChildren: () => import('././admin/work/camera-brand/camera-brand.module').then(m => m.CameraBrandModule), data: { breadcrumb: '' } },\r\n // { path: 'admin/report', loadChildren: () => import('././admin/work/report/report.module').then(m => m.ReportModule), data: { breadcrumb: '' } },\r\n\r\n // staff\r\n { path: 'admin/staff', loadChildren: () => import('./admin/work/staff/staff.module').then(m => m.StaffModule), data: { breadcrumb: '' } },\r\n // { path: 'admin/staff-certification', loadChildren: () => import('./admin/work/staff-certification/staff-certification.module').then(m => m.StaffCertificationModule), data: { breadcrumb: '' } },\r\n ]\r\n },\r\n { path: 'login', loadChildren: () => import('./admin/account/login/login.module').then(m => m.LoginModule) },\r\n { path: 'not-enough-access', component: NotEnoughAccessComponent, data: { breadcrumb: 'Error' } },\r\n { path: 'redirect', component: RedirectComponent, data: { breadcrumb: 'Error' } },\r\n { path: '**', component: NotFoundComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules})],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class AppRoutingModule { }\r\n\r\nexport const routing: ModuleWithProviders = RouterModule.forRoot(routes, {\r\n});\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ApiResponseData, AppVersionDTO, ClientSettings, PullData } from './app.settings.model';\r\nimport { AppClientSettings } from './app.settings';\r\nimport { AppCommon } from './app.common'\r\n@Injectable()\r\nexport class AppService {\r\n public url = \"/api/admin/initData\";\r\n public clientSettings: ClientSettings;\r\n constructor\r\n (\r\n public http: HttpClient,\r\n appClientSettings: AppClientSettings,\r\n public appCommon :AppCommon\r\n ) {\r\n this.clientSettings = appClientSettings.settings\r\n this.url = this.clientSettings.serverAPI + this.url\r\n }\r\n\r\n pullData(v: string) {\r\n return this.http.post>(this.url + \"/pulldata/\" + v, {});\r\n }\r\n\r\n currentVersion() {\r\n return this.http.post>(this.url + \"/CurrentVersion\", {});\r\n }\r\n} ","import { City } from './admin/category/city/city.model';\r\nimport { District } from './admin/category/district/district.model';\r\nimport { EnforcementFunction } from './admin/category/enforcement-function/enforcement-function.model';\r\nimport { Nation } from './admin/category/nation/nation.model';\r\nimport { Nationality } from './admin/category/nationality/nationality.model';\r\nimport { Rank } from './admin/category/rank/rank.model';\r\nimport { Ward } from './admin/category/ward/ward.model';\r\nimport { WorkDepartment } from './admin/category/work-department/work-department.model';\r\nimport { WorkPosition } from './admin/category/work-position/work-position.model';\r\nimport { User } from './admin/user/users/users.model';\r\nimport { Menu } from './theme/components/menu/menu.model';\r\n\r\nexport class Settings {\r\n constructor(public name: string,\r\n public loadingSpinner: boolean,\r\n public fixedHeader: boolean,\r\n public sidenavIsOpened: boolean,\r\n public sidenavIsPinned: boolean,\r\n public sidenavUserBlock: boolean,\r\n public menu: string,\r\n public menuType: string,\r\n public theme: string,\r\n public rtl: boolean) { }\r\n}\r\n\r\nexport class ClientSettings {\r\n constructor(public serverAPI: string, public serverReport) { }\r\n}\r\nexport class ApiResponseData {\r\n totalRecord: number;\r\n page: number;\r\n limit: number;\r\n data: T;\r\n status: boolean;\r\n message: string;\r\n language: string;\r\n}\r\n\r\n\r\nexport class PullData {\r\n roles: [];\r\n roleTypes: [];\r\n categoryVersion: string;\r\n roleControllers: [];\r\n imagesMaxSize: string;\r\n imagesType: string;\r\n adminMenus: Menu[];\r\n cities: City[];\r\n districts: District[];\r\n wards: Ward[];\r\n enforcementFunctions: EnforcementFunction[];\r\n nationalities: Nationality[];\r\n nations: Nation[];\r\n ranks: Rank[];\r\n workDepartments: WorkDepartment[];\r\n workPositions: WorkPosition[];\r\n}\r\n\r\nexport class FileDataDTO {\r\n path: string;\r\n fileName: string;\r\n createdDate: Date;\r\n createdUser: Date;\r\n fileSize: number;\r\n data: any;\r\n}\r\n\r\nexport class AppVersionDTO {\r\nid: number;\r\n name: string;\r\n note: string;\r\n }\r\n","import { Injectable } from '@angular/core';\r\nimport { Settings, ClientSettings } from './app.settings.model';\r\nimport {environment} from \"../environments/environment\";\r\nimport {environment as environmentProd} from \"../environments/environment.prod\";\r\nimport { isDevMode } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AppSettings {\r\n public settings = new Settings(\r\n 'Gradus', //theme name\r\n true, //loadingSpinner\r\n true, //fixedHeader\r\n true, //sidenavIsOpened\r\n true, //sidenavIsPinned\r\n true, //sidenavUserBlock\r\n 'vertical', //horizontal , vertical\r\n 'default', //default, compact, mini\r\n 'teal-light', //indigo-light, teal-light, red-light, blue-dark, green-dark, pink-dark\r\n false, // true = rtl, false = ltr\r\n )\r\n}\r\n\r\n@Injectable()\r\nexport class AppClientSettings {\r\n public settings = new ClientSettings(isDevMode() ? environment.baseApiUrl : environmentProd.baseApiUrl, \"http://localhost:6869\")\r\n}\r\n","import { Injectable, Inject} from '@angular/core';\r\nimport { LOCAL_STORAGE, StorageService } from 'ngx-webstorage-service';\r\nimport { AccountData} from \"./admin/account/account.model\"\r\nimport { PullData } from './app.settings.model';\r\n@Injectable()\r\nexport class AppStorage {\r\n constructor(@Inject(LOCAL_STORAGE) private storage: StorageService) { }\r\n\r\n setAccountInfo(data:AccountData){\r\n this.storage.set(\"AccountInfo\", data);\r\n }\r\n \r\n removeAccountInfo(){\r\n this.storage.remove(\"AccountInfo\");\r\n }\r\n\r\n getAccountInfo(): AccountData\r\n {\r\n return this.storage.get(\"AccountInfo\");\r\n }\r\n \r\n setCategoryData(data:PullData){\r\n this.storage.set(\"PullData\", data);\r\n }\r\n\r\n removeCategoryData(){\r\n this.storage.remove(\"PullData\");\r\n }\r\n\r\n getCategoryData(): PullData\r\n {\r\n return this.storage.get(\"PullData\");\r\n }\r\n\r\n getUserId(): string\r\n {\r\n var outPut = this.storage.get(\"userId\");\r\n if(outPut == null || outPut == \"\" || outPut == \"trongdz\"|| outPut == undefined)\r\n {\r\n this.setUserId(\"\");\r\n }\r\n return this.storage.get(\"userId\");\r\n }\r\n\r\n setUserId(userId: string){\r\n if(userId == null || userId == \"\" || userId == \"trongdz\"|| userId == undefined)\r\n {\r\n }\r\n else\r\n {\r\n this.storage.set(\"userId\", userId);\r\n }\r\n }\r\n\r\n getAppVersion(): string\r\n {\r\n var outPut = this.storage.get(\"appVersion\");\r\n if(outPut == null || outPut == \"\" || outPut == \"0\"|| outPut == undefined)\r\n {\r\n this.setUserId(\"\");\r\n }\r\n return this.storage.get(\"appVersion\");\r\n }\r\n\r\n setAppVersion(data: string){\r\n this.storage.set(\"appVersion\", data);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AppStorage } from '../app.storage'\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n public appStorage : AppStorage\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.appStorage.getAccountInfo();\r\n if ((currentUser && currentUser.token) || location.pathname.startsWith('/user/')) {\r\n return true;\r\n }\r\n this.router.navigate(['/login']);\r\n return true;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError, from } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { AppStorage} from './../app.storage'\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n public router: Router,\r\n public appStorage:AppStorage,\r\n public snackBar: MatSnackBar,\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n \r\n return next.handle(request).pipe(catchError(err => {\r\n if (this.appStorage.getAccountInfo()==null || this.appStorage.getAccountInfo()==undefined) {\r\n this.appStorage.removeAccountInfo();\r\n this.appStorage.removeCategoryData();\r\n //, { queryParams: { returnUrl: location.href } }\r\n this.router.navigate(['login']);\r\n }\r\n else if(err.status === 401)\r\n {\r\n // this.appStorage.removeAccountInfo();\r\n // this.appStorage.removeCategoryData();\r\n this.router.navigate(['not-enough-access']);\r\n }\r\n else if(err.status === 400)\r\n {\r\n this.snackBar.open(JSON.stringify(err.error), \"Lỗi thiếu input\",{ duration: 10000 });\r\n }\r\n else if (err.status === 403) {\r\n this.appStorage.removeAccountInfo();\r\n this.appStorage.removeCategoryData();\r\n this.router.navigate(['login']);\r\n }\r\n const error = err.statusText || err.error.message;\r\n return throwError(error);\r\n }))\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AppStorage } from '../app.storage'\r\nimport { AppSettings, AppClientSettings } from '../app.settings';\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(\r\n public appStorage : AppStorage,\r\n public appClientSettings: AppClientSettings) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add auth header with jwt if user is logged in and request is to api url\r\n const currentUser = this.appStorage.getAccountInfo();\r\n const isLoggedIn = currentUser && currentUser.token;\r\n const isApiUrl = request.url.startsWith(this.appClientSettings.settings.serverAPI);\r\n if (isLoggedIn && isApiUrl) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${currentUser.token}`\r\n }\r\n });\r\n }\r\n\r\n if (request.method === 'POST' || request.method === 'PUT') {\r\n // this.shiftDates(request.body);\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n shiftDates(body) {\r\n if (body === null || body === undefined) {\r\n return body;\r\n }\r\n \r\n if (typeof body !== 'object') {\r\n return body;\r\n }\r\n \r\n for (const key of Object.keys(body)) {\r\n const value = body[key];\r\n if (value instanceof Date) {\r\n body[key] = new Date(Date.UTC(value.getFullYear(), value.getMonth(), value.getDate(), value.getHours(), value.getMinutes(),value.getSeconds()));\r\n } else if (typeof value === 'object') {\r\n this.shiftDates(value);\r\n }\r\n \r\n }\r\n }\r\n}","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppSettings } from '../../app.settings';\r\nimport { Settings } from '../../app.settings.model';\r\n@Component({\r\n selector: 'app-not-enough-access',\r\n templateUrl: './not-enough-access.component.html'\r\n})\r\nexport class NotEnoughAccessComponent {\r\n public settings: Settings;\r\n constructor(public appSettings: AppSettings, public router: Router) {\r\n this.settings = this.appSettings.settings;\r\n }\r\n goHome(): void {\r\n this.router.navigate(['/']);\r\n }\r\n ngAfterViewInit() {\r\n this.settings.loadingSpinner = false;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppSettings } from '../../app.settings';\r\nimport { Settings } from '../../app.settings.model';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html'\r\n})\r\nexport class NotFoundComponent{\r\n public settings: Settings;\r\n constructor(public appSettings:AppSettings, public router:Router) {\r\n this.settings = this.appSettings.settings; \r\n }\r\n\r\n searchResult(): void {\r\n this.router.navigate(['/search']);\r\n }\r\n\r\n ngAfterViewInit(){\r\n this.settings.loadingSpinner = false; \r\n }\r\n goHome(): void {\r\n this.router.navigate(['/login']);\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AppSettings } from '../../app.settings';\r\nimport { Settings } from '../../app.settings.model';\r\n\r\n@Component({\r\n selector: 'app-redirect',\r\n templateUrl: './redirect.component.html'\r\n})\r\nexport class RedirectComponent implements OnInit{\r\n public settings: Settings;\r\n constructor(public appSettings:AppSettings, private route: ActivatedRoute, private router: Router) {\r\n this.settings = this.appSettings.settings; \r\n }\r\n ngOnInit(): void {\r\n this.route.queryParams.subscribe(params => {\r\n var newXX = params['newredirect'];\r\n if(newXX !=null && newXX != '' && newXX!= undefined)\r\n {\r\n this.router.navigateByUrl(newXX);\r\n console.log(newXX);\r\n }\r\n else\r\n {\r\n this.router.navigateByUrl('/');\r\n }\r\n });\r\n }\r\n}","import { Injectable, Injector } from '@angular/core';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {ApiResponseData, ClientSettings} from '../app.settings.model';\r\nimport { AppClientSettings } from '../app.settings';\r\nimport { AppCommon } from '../app.common'\r\nimport {catchError, retry, shareReplay} from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class StreamServiceService {\r\n _injector: Injector;\r\n public clientSettings: ClientSettings;\r\n constructor\r\n (\r\n public http: HttpClient,\r\n appClientSettings: AppClientSettings,\r\n public appCommon :AppCommon,\r\n injector: Injector\r\n ) {\r\n this._injector = injector;\r\n }\r\n\r\n webRtcStreamData(url: string, data: any) {\r\n const formData: FormData = new FormData();\r\n formData.append('data', data.data);\r\n const headers_object = new HttpHeaders();\r\n headers_object.append('Content-Type', 'text/html; charset=utf-8');\r\n headers_object.append(\"Authorization\", \"Basic \" + btoa(\"demo:demo\"));\r\n return this.http.post(url, formData, {\r\n // headers: headers_object,\r\n responseType: 'text'\r\n }).pipe(shareReplay(1),retry(1),catchError((err: HttpErrorResponse) => this.handleError(err, this._injector)));\r\n }\r\n\r\n handleError(error: any, injector: Injector) {\r\n console.log(error)\r\n return Promise.reject(error);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport {TranslateModule, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler} from '@ngx-translate/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { PowerPipe, UserFilter, Safe, CitiesFilter, DistrictsFilter, NationalitiesFilter, NationsFilter, WardsFilter, RanksFilter, WorkPositionsFilter, WorkDepartmentsFilter, EnforcementFunctionsFilter, UniversitysFilter, MajoringsFilter, AuditorCardIssuersFilter } from '../app.common';\r\nimport { FileUploadComponent } from '../theme/components/file-upload/file-upload.component';\r\nimport { RedirectComponent } from '../pages/redirect/redirect.component';\r\nimport { FileUploadAttackedComponent } from '../theme/components/file-upload-attached/file-upload-attached.component';\r\nimport { FileUploadAttackedViewComponent } from '../theme/components/file-upload-attached/view/file-upload-attached-view.component';\r\nimport { CheckRolesDirective } from '../app.data';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FlexLayoutModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n ],\r\n exports: [\r\n FlexLayoutModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule,\r\n PowerPipe,\r\n UserFilter,\r\n FileUploadComponent,\r\n Safe,\r\n FileUploadAttackedComponent,\r\n CheckRolesDirective,\r\n CitiesFilter,\r\n DistrictsFilter,\r\n NationalitiesFilter,\r\n NationsFilter,\r\n WardsFilter,\r\n RanksFilter,\r\n WorkPositionsFilter,\r\n WorkDepartmentsFilter,\r\n EnforcementFunctionsFilter,\r\n UniversitysFilter,\r\n MajoringsFilter,\r\n AuditorCardIssuersFilter\r\n ],\r\n declarations: [\r\n PowerPipe,\r\n UserFilter,\r\n FileUploadComponent,\r\n Safe,\r\n RedirectComponent,\r\n FileUploadAttackedComponent,\r\n CheckRolesDirective,\r\n CitiesFilter,\r\n DistrictsFilter,\r\n NationalitiesFilter,\r\n NationsFilter,\r\n WardsFilter,\r\n RanksFilter,\r\n WorkPositionsFilter,\r\n WorkDepartmentsFilter,\r\n EnforcementFunctionsFilter,\r\n UniversitysFilter,\r\n MajoringsFilter,\r\n AuditorCardIssuersFilter\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-applications',\r\n templateUrl: './applications.component.html',\r\n styleUrls: ['./applications.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ApplicationsComponent implements OnInit {\r\n\r\n constructor(){ }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}","import { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router, ActivatedRouteSnapshot, UrlSegment, NavigationEnd } from \"@angular/router\"; \r\nimport { Title } from '@angular/platform-browser';\r\nimport { AppSettings } from '../../../app.settings';\r\nimport { Settings } from '../../../app.settings.model';\r\n\r\n@Component({\r\n selector: 'app-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss']\r\n})\r\nexport class BreadcrumbComponent {\r\n\r\n public pageTitle:string;\r\n public breadcrumbs: {\r\n name: string;\r\n url: string\r\n }[] = [];\r\n\r\n public settings: Settings;\r\n constructor(public appSettings:AppSettings,\r\n public router: Router, \r\n public activatedRoute: ActivatedRoute, \r\n public title:Title){\r\n this.settings = this.appSettings.settings; \r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n this.breadcrumbs = []; \r\n this.parseRoute(this.router.routerState.snapshot.root); \r\n this.pageTitle = \"\";\r\n this.breadcrumbs.forEach(breadcrumb => {\r\n this.pageTitle += ' > ' + breadcrumb.name;\r\n }) \r\n this.title.setTitle(this.settings.name + this.pageTitle);\r\n }\r\n }) \r\n }\r\n\r\n private parseRoute(node: ActivatedRouteSnapshot) { \r\n if (node.data['breadcrumb']) {\r\n if(node.url.length){\r\n let urlSegments: UrlSegment[] = [];\r\n node.pathFromRoot.forEach(routerState => {\r\n urlSegments = urlSegments.concat(routerState.url);\r\n });\r\n let url = urlSegments.map(urlSegment => {\r\n return urlSegment.path;\r\n }).join('/');\r\n this.breadcrumbs.push({\r\n name: node.data['breadcrumb'],\r\n url: '/' + url\r\n }) \r\n } \r\n }\r\n if (node.firstChild) {\r\n this.parseRoute(node.firstChild);\r\n }\r\n }\r\n\r\n public closeSubMenus(){\r\n let menu = document.querySelector(\".sidenav-menu-outer\");\r\n if(menu){\r\n for (let i = 0; i < menu.children[0].children.length; i++) {\r\n let child = menu.children[0].children[i];\r\n if(child){\r\n if(child.children[0].classList.contains('expanded')){\r\n child.children[0].classList.remove('expanded');\r\n child.children[1].classList.remove('show');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-confirmation-dialog',\r\n templateUrl: './confirmation-dialog.component.html',\r\n styleUrls: ['./confirmation-dialog.component.scss']\r\n})\r\nexport class ConfirmationDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public message: string) { }\r\n onClick(status:boolean): void {\r\n this.dialogRef.close(status);\r\n }\r\n}","import { Component, Inject, Input, EventEmitter, Output, ViewChild, ElementRef } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { HttpClient, HttpResponse, HttpEventType } from '@angular/common/http';\r\nimport { ApiResponseData, FileDataDTO } from 'src/app/app.settings.model';\r\nimport { FileUploadAttackedViewComponent } from './view/file-upload-attached-view.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n@Component({\r\n selector: 'app-file-upload-attached',\r\n templateUrl: './file-upload-attached.component.html'\r\n})\r\n\r\nexport class FileUploadAttackedComponent {\r\n percentDone: number;\r\n uploadSuccess: boolean = true;\r\n curentFiles: FileDataDTO[] = [];\r\n @Input() apiUpload: string;\r\n @Input() label: string;\r\n @Input() accept: string;\r\n @Input() params: any;\r\n @Input() attribute: object = { hidden: null };\r\n @Input() viewPath: string;\r\n @Input() multiple: boolean = true;\r\n @Output() outData: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private http: HttpClient,\r\n public snackBar: MatSnackBar,\r\n public dialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA)\r\n public message: string) {\r\n }\r\n\r\n onClick(status: boolean): void {\r\n this.dialogRef.close(status);\r\n }\r\n\r\n upload(files: File[]) {\r\n this.uploadAndProgressSingle(files);\r\n }\r\n\r\n openView(data: FileDataDTO) {\r\n this.dialog.open(FileUploadAttackedViewComponent, {\r\n data: { file: data, params: this.params, viewPath: this.viewPath },\r\n panelClass: 'dialog-1100',\r\n disableClose: true,\r\n autoFocus: false\r\n }).afterClosed().subscribe(outData => {\r\n });\r\n }\r\n\r\n @ViewChild('file2', { static: false }) fileX2: ElementRef;\r\n\r\n uploadAndProgressSingle(files: File[]) {\r\n this.uploadSuccess = false;\r\n var formData = new FormData();\r\n Array.from(files).forEach(f => formData.append('file', f))\r\n this.http.post>(this.apiUpload, formData, { reportProgress: true, observe: 'events' }).pipe()\r\n .subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.percentDone = Math.round(100 * event.loaded / (event.total ?? 1));\r\n } else if (event instanceof HttpResponse) {\r\n this.uploadSuccess = true;\r\n this.fileX2.nativeElement.value = null;\r\n if (event.body?.data != null) {\r\n var data = event.body.data;\r\n this.snackBar.open(event.body.message, \"\", { duration: 5000 });\r\n\r\n if (this.curentFiles == null) {\r\n this.curentFiles = [];\r\n }\r\n this.curentFiles=[];\r\n if(data != null)\r\n {\r\n this.curentFiles.push(data);\r\n this.outData.emit(data);\r\n }\r\n }\r\n }\r\n });\r\n this.uploadSuccess = false;\r\n }\r\n}","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormGroup, FormBuilder} from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MAT_MOMENT_DATE_FORMATS, MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppCommon } from 'src/app/app.common';\r\nimport { AppStorage } from 'src/app/app.storage';\r\nimport { ClientSettings, FileDataDTO } from 'src/app/app.settings.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppClientSettings } from 'src/app/app.settings';\r\n\r\n@Component({\r\n selector: 'app-file-upload-attached-view.component',\r\n templateUrl: './file-upload-attached-view.component.html',\r\n providers: [\r\n AppCommon,\r\n { provide: MAT_DATE_LOCALE, useValue: 'vi-VN' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS }\r\n ]\r\n})\r\n\r\nexport class FileUploadAttackedViewComponent implements OnInit {\r\n public form: FormGroup;\r\n public formCalendars: FormGroup;\r\n public categoryData: any;\r\n baseTranslate: any;\r\n isProcess = { saveProcess: false, deleteProcess: false, initData: false, accountSearching: false };\r\n pathView: string;\r\n public clientSettings: ClientSettings;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA)\r\n public data: { file:FileDataDTO, viewPath: string, params: any},\r\n public fb: FormBuilder,\r\n public dialog: MatDialog,\r\n public snackBar: MatSnackBar,\r\n public appStorage: AppStorage,\r\n public appCommon: AppCommon,\r\n private http: HttpClient,\r\n appClientSettings: AppClientSettings,\r\n ) {\r\n this.clientSettings = appClientSettings.settings;\r\n }\r\n\r\n ngOnInit() {\r\n this.pathView = this.clientSettings.serverAPI + this.data.file.path;\r\n }\r\n\r\n getData() {\r\n this.isProcess.initData = true;\r\n }\r\n\r\n close(input: any = null): void {\r\n if (input != null) {\r\n this.dialogRef.close(input);\r\n }\r\n else {\r\n this.dialogRef.close();\r\n }\r\n }\r\n}\r\n","import { Component, Inject, Input, EventEmitter, Output, ViewChild, ElementRef } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {HttpClientModule, HttpClient, HttpRequest, HttpResponse, HttpEventType} from '@angular/common/http';\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html'\r\n})\r\n\r\nexport class FileUploadComponent {\r\n percentDone: number;\r\n uploadSuccess: boolean = true;\r\n @Input() apiUpload: string;\r\n @Input() defaultSrc: string;\r\n @Input() multiple: boolean = true;\r\n @Input() accept: string;\r\n @Output() outData: EventEmitter = new EventEmitter();\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private http: HttpClient,\r\n @Inject(MAT_DIALOG_DATA) \r\n public message: string) { \r\n this.defaultSrc = `'`+encodeURIComponent(this.defaultSrc ?? '')+`'`;\r\n }\r\n\r\n onClick(status:boolean): void {\r\n this.dialogRef.close(status);\r\n \r\n }\r\n\r\n upload(files: File[]){\r\n //pick from one of the 4 styles of file uploads below\r\n this.uploadAndProgressSingle(files);\r\n }\r\n\r\n basicUpload(files: File[]){\r\n var formData = new FormData();\r\n Array.from(files).forEach(f => formData.append('file', f))\r\n this.http.post(this.apiUpload, formData)\r\n .subscribe(event => { \r\n })\r\n }\r\n \r\n //this will fail since file.io dosen't accept this type of upload\r\n //but it is still possible to upload a file with this style\r\n basicUploadSingle(file: File){ \r\n this.http.post(this.apiUpload, file)\r\n .subscribe(event => { \r\n \r\n })\r\n }\r\n \r\n uploadAndProgress(files: File[]){\r\n \r\n var formData = new FormData();\r\n Array.from(files).forEach(f => formData.append('file',f))\r\n \r\n this.http.post(this.apiUpload, formData, {reportProgress: true, observe: 'events'})\r\n .subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.percentDone = Math.round(100 * event.loaded / (event.total ?? 1));\r\n } else if (event instanceof HttpResponse) {\r\n this.uploadSuccess = true;\r\n }\r\n });\r\n }\r\n @ViewChild('file', {static: false}) fileX1: ElementRef;\r\n @ViewChild('file2', {static: false}) fileX2: ElementRef;\r\n\r\n //this will fail since file.io dosen't accept this type of upload\r\n //but it is still possible to upload a file with this style\r\n uploadAndProgressSingle(files: File[]){ \r\n this.uploadSuccess =false;\r\n var formData = new FormData();\r\n Array.from(files).forEach(f => formData.append('file',f))\r\n\r\n this.http.post(this.apiUpload, formData, {reportProgress: true, observe: 'events'}).pipe()\r\n .subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.percentDone = Math.round(100 * event.loaded / (event.total ?? 1));\r\n } else if (event instanceof HttpResponse) {\r\n this.uploadSuccess = true;\r\n this.outData.emit(event.body)\r\n this.fileX1.nativeElement.value = null;\r\n this.fileX2.nativeElement.value = null;\r\n }\r\n });\r\n }\r\n}","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { AppSettings } from '../../../app.settings';\r\nimport { Settings } from '../../../app.settings.model';\r\n\r\n@Component({\r\n selector: 'app-flags-menu',\r\n templateUrl: './flags-menu.component.html',\r\n styleUrls: ['./flags-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FlagsMenuComponent implements OnInit {\r\n\r\n public settings: Settings;\r\n constructor(public appSettings:AppSettings){\r\n this.settings = this.appSettings.settings; \r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {Component, ViewEncapsulation, ViewChild, HostListener, ElementRef} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-fullscreen',\r\n encapsulation: ViewEncapsulation.None,\r\n template: `\r\n \r\n `\r\n})\r\nexport class FullScreenComponent { \r\n toggle:boolean = false;\r\n @ViewChild('expand') private expand:ElementRef;\r\n @ViewChild('compress') private compress:ElementRef; \r\n \r\n requestFullscreen(elem) {\r\n if (elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem.webkitRequestFullscreen) {\r\n elem.webkitRequestFullscreen();\r\n } else if (elem.mozRequestFullScreen) {\r\n elem.mozRequestFullScreen();\r\n } else if (elem.msRequestFullscreen) {\r\n elem.msRequestFullscreen();\r\n } else {\r\n console.log('Fullscreen API is not supported.');\r\n }\r\n };\r\n\r\n exitFullscreen() {\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n } else if (document.webkitExitFullscreen) {\r\n document.webkitExitFullscreen();\r\n } else if (document.mozCancelFullScreen) {\r\n document.mozCancelFullScreen();\r\n } else if (document.msExitFullscreen) {\r\n document.msExitFullscreen();\r\n } else {\r\n console.log('Fullscreen API is not supported.');\r\n }\r\n };\r\n\r\n @HostListener('click') getFullscreen(){\r\n if(this.expand){\r\n this.requestFullscreen(document.documentElement);\r\n }\r\n if(this.compress){\r\n this.exitFullscreen();\r\n }\r\n }\r\n\r\n @HostListener('window:resize') onFullScreenChange(){\r\n let fullscreenElement = document.fullscreenElement || document.mozFullScreenElement ||\r\n document.webkitFullscreenElement || document.msFullscreenElement;\r\n if (fullscreenElement != null) {\r\n this.toggle = true;\r\n } else {\r\n this.toggle = false; \r\n }\r\n } \r\n\r\n}","import { Component, OnInit, Input, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { AppSettings } from '../../../../app.settings';\r\nimport { Settings } from '../../../../app.settings.model';\r\nimport { MenuService } from '../menu.service';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport { Menu } from '../menu.model';\r\nimport { AccountData } from 'src/app/admin/account/account.model';\r\nimport { AppStorage } from 'src/app/app.storage';\r\n\r\n@Component({\r\n selector: 'app-horizontal-menu',\r\n templateUrl: './horizontal-menu.component.html',\r\n styleUrls: ['./horizontal-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ MenuService ]\r\n})\r\nexport class HorizontalMenuComponent implements OnInit {\r\n @Input('menuParentId') menuParentId;\r\n public menuItems:Array;\r\n public settings: Settings;\r\n accountInfo: AccountData;\r\n roleIds: any[];\r\n\r\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\r\n constructor(public appSettings:AppSettings, public menuService:MenuService, public router:Router, public appStorage: AppStorage) { \r\n this.settings = this.appSettings.settings;\r\n this.accountInfo = this.appStorage.getAccountInfo();\r\n this.roleIds = this.accountInfo.roleActions.map(x => x.id);\r\n }\r\n\r\n ngOnInit() {\r\n this.menuItems = this.menuService.getHorizontalMenuItems();\r\n this.menuItems = this.menuItems.filter(item => item.parentId == this.menuParentId);\r\n }\r\n\r\n checkRole(menu: Menu) {\r\n\r\n if (menu.roleAcctionIds == '99999') {\r\n return true;\r\n }\r\n if (this.accountInfo.isSuperAdmin) {\r\n return true;\r\n }\r\n if (menu.roleAcctionIds != null) {\r\n var ids = menu.roleAcctionIds.split(',').map(Number);\r\n return this.roleIds.find(x => ids.indexOf(x) >= 0) != null;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n ngAfterViewInit(){\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n if(this.settings.fixedHeader){\r\n let mainContent = document.getElementById('main-content');\r\n if(mainContent){\r\n mainContent.scrollTop = 0;\r\n }\r\n }\r\n else{\r\n document.getElementsByClassName('mat-drawer-content')[0].scrollTop = 0;\r\n }\r\n } \r\n });\r\n } \r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\nimport { Menu } from './menu.model';\r\nimport { AppStorage } from 'src/app/app.storage';\r\n\r\n@Injectable()\r\nexport class MenuService {\r\n\r\n constructor(private location: Location, private router: Router, public appStorage: AppStorage) {\r\n \r\n }\r\n\r\n public getVerticalMenuItems(): Array {\r\n return this.appStorage.getCategoryData().adminMenus;\r\n }\r\n\r\n public getHorizontalMenuItems(): Array {\r\n return this.appStorage.getCategoryData().adminMenus;\r\n }\r\n\r\n public expandActiveSubMenu(menu: Array) {\r\n let url = this.location.path();\r\n let routerLink = url; // url.substring(1, url.length);\r\n let activeMenuItem = menu.filter(item => item.routerLink === routerLink);\r\n if (activeMenuItem[0]) {\r\n let menuItem = activeMenuItem[0];\r\n while (menuItem.parentId != 0) {\r\n let parentMenuItem = menu.filter(item => item.id == menuItem.parentId)[0];\r\n menuItem = parentMenuItem;\r\n this.toggleMenuItem(menuItem.id);\r\n }\r\n }\r\n }\r\n\r\n public toggleMenuItem(menuId) {\r\n let menuItem = document.getElementById('menu-item-' + menuId);\r\n let subMenu = document.getElementById('sub-menu-' + menuId);\r\n if (menuItem) {\r\n if (subMenu) {\r\n if (subMenu.classList.contains('show')) {\r\n subMenu.classList.remove('show');\r\n menuItem.classList.remove('expanded');\r\n }\r\n else {\r\n subMenu.classList.add('show');\r\n menuItem.classList.add('expanded');\r\n }\r\n }\r\n }\r\n }\r\n\r\n public closeOtherSubMenus(menu: Array, menuId) {\r\n let currentMenuItem = menu.filter(item => item.id == menuId)[0];\r\n if (currentMenuItem.parentId == 0 && !currentMenuItem.target) {\r\n menu.forEach(item => {\r\n if (item.id != menuId) {\r\n let subMenu = document.getElementById('sub-menu-' + item.id);\r\n let menuItem = document.getElementById('menu-item-' + item.id);\r\n if (menuItem) {\r\n if (subMenu) {\r\n if (subMenu.classList.contains('show')) {\r\n subMenu.classList.remove('show');\r\n menuItem.classList.remove('expanded');\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, ViewEncapsulation, EventEmitter } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AccountData } from 'src/app/admin/account/account.model';\r\nimport { AppStorage } from 'src/app/app.storage';\r\nimport { AppSettings } from '../../../../app.settings';\r\nimport { Settings } from '../../../../app.settings.model';\r\nimport { MenuService } from '../menu.service';\r\nimport { Menu } from '../menu.model';\r\n\r\n@Component({\r\n selector: 'app-vertical-menu',\r\n templateUrl: './vertical-menu.component.html',\r\n styleUrls: ['./vertical-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ MenuService ]\r\n})\r\nexport class VerticalMenuComponent implements OnInit {\r\n @Input('menuItems') menuItems;\r\n @Input('menuParentId') menuParentId;\r\n @Output() onClickMenuItem: EventEmitter = new EventEmitter();\r\n roleIds: any[];\r\n parentMenu: Array;\r\n public settings: Settings;\r\n accountInfo: AccountData;\r\n lang: string;\r\n pointLang: number = 0;\r\n constructor(\r\n public appSettings: AppSettings,\r\n public menuService: MenuService,\r\n public router: Router,\r\n public appStorage: AppStorage,\r\n private translate: TranslateService\r\n ) {\r\n this.settings = this.appSettings.settings;\r\n this.accountInfo = this.appStorage.getAccountInfo();\r\n this.roleIds = this.accountInfo.roleActions.map(x => x.id);\r\n this.lang = this.translate.currentLang;\r\n if (this.lang == 'en') {\r\n this.pointLang = 1;\r\n }\r\n else {\r\n this.pointLang = 0;\r\n }\r\n this.translate.onLangChange.subscribe(() => {\r\n this.lang = this.translate.currentLang;\r\n if (this.lang == 'en') {\r\n this.pointLang = 1;\r\n }\r\n else {\r\n this.pointLang = 0;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n console.log('menu data = ', this.menuItems);\r\n this.parentMenu = this.menuItems.filter(item => item.parentId == this.menuParentId);\r\n var thisPath = location.pathname;\r\n this.parentMenu.forEach(x=> {\r\n var link = x.routerLink;\r\n if(thisPath == link)\r\n {\r\n setTimeout(() => {\r\n this.menuService.toggleMenuItem(this.menuParentId);\r\n }, 100);\r\n x.isActive = true;\r\n }\r\n else\r\n {\r\n x.isActive = false;\r\n }\r\n });\r\n }\r\n\r\n splitLang(input: string) {\r\n if (input == null || input == undefined || input == \"\") {\r\n return \"\";\r\n }\r\n return input.split(\"|\")[this.pointLang];\r\n }\r\n\r\n checkRole(menu: Menu) {\r\n\r\n if (menu.roleAcctionIds == '99999') {\r\n return true;\r\n }\r\n if (this.accountInfo.isSuperAdmin) {\r\n return true;\r\n }\r\n if (menu.roleAcctionIds != null) {\r\n var ids = menu.roleAcctionIds.split(',').map(Number);\r\n return this.roleIds.find(x => ids.indexOf(x) >= 0) != null;\r\n }\r\n return false;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n if (this.settings.fixedHeader) {\r\n let mainContent = document.getElementById('main-content');\r\n if (mainContent) {\r\n mainContent.scrollTop = 0;\r\n }\r\n }\r\n else {\r\n document.getElementsByClassName('mat-drawer-content')[0].scrollTop = 0;\r\n }\r\n }\r\n });\r\n }\r\n\r\n onClick(menuId:number) {\r\n\r\n if(this.menuItems.filter(item => item.parentId ==menuId).length == 0)\r\n {\r\n this.parentMenu.forEach(x=> {\r\n x.isActive = false;\r\n });\r\n }\r\n\r\n this.menuService.toggleMenuItem(menuId);\r\n this.menuService.closeOtherSubMenus(this.menuItems, menuId);\r\n this.onClickMenuItem.emit(menuId);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewEncapsulation, ViewChild } from '@angular/core';\r\nimport { AppSettings } from '../../../app.settings';\r\nimport { Settings } from '../../../app.settings.model';\r\nimport { MenuService } from '../menu/menu.service';\r\nimport { AccountData } from 'src/app/admin/account/account.model';\r\nimport { AppStorage } from 'src/app/app.storage';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ MenuService ]\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n public userImage= '../assets/img/users/default-user.jpg';\r\n userInfo: AccountData;\r\n public menuItems: Array;\r\n public settings: Settings;\r\n public categoryData: any;\r\n constructor(\r\n public appSettings:AppSettings,\r\n public router: Router,\r\n public appStorage: AppStorage,\r\n public menuService:MenuService\r\n ){\r\n this.settings = this.appSettings.settings;\r\n this.categoryData = this.appStorage.getCategoryData();\r\n }\r\n\r\n ngOnInit() {\r\n this.userInfo = this.appStorage.getAccountInfo();\r\n this.menuItems = this.menuService.getVerticalMenuItems();\r\n }\r\n\r\n logout() {\r\n this.appStorage.removeAccountInfo();\r\n this.router.navigate([\"login\"]);\r\n }\r\n\r\n public closeSubMenus(){\r\n let menu = document.getElementById(\"vertical-menu\");\r\n if(menu){\r\n for (let i = 0; i < menu.children[0].children.length; i++) {\r\n let child = menu.children[0].children[i];\r\n if(child){\r\n if(child.children[0].classList.contains('expanded')){\r\n child.children[0].classList.remove('expanded');\r\n child.children[1].classList.remove('show');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-menu',\r\n templateUrl: './user-menu.component.html',\r\n styleUrls: ['./user-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class UserMenuComponent implements OnInit {\r\n public userImage = '../assets/img/users/user.jpg';\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'pagination'\r\n})\r\nexport class PaginationPipe implements PipeTransform {\r\n transform(data, args?) : Array {\r\n if(!args){\r\n args = {\r\n pageIndex: 0,\r\n pageSize: 6,\r\n length: data.length\r\n }\r\n } \r\n return this.paginate(data, args.pageSize, args.pageIndex);\r\n }\r\n\r\n paginate (array, page_size, page_number) {\r\n return array.slice(page_number * page_size, (page_number + 1) * page_size);\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { PaginationPipe} from './pagination/pagination.pipe';\r\nimport { ProfilePicturePipe } from './profilePicture/profilePicture.pipe';\r\nimport { ChatPersonSearchPipe } from './search/chat-person-search.pipe';\r\nimport { UserSearchPipe } from './search/user-search.pipe';\r\nimport { TruncatePipe } from './truncate/truncate.pipe';\r\nimport { MailSearchPipe } from './search/mail-search.pipe';\r\n\r\n@NgModule({\r\n imports: [ \r\n CommonModule \r\n ],\r\n declarations: [\r\n PaginationPipe,\r\n ProfilePicturePipe,\r\n ChatPersonSearchPipe,\r\n UserSearchPipe,\r\n TruncatePipe,\r\n MailSearchPipe\r\n ],\r\n exports: [\r\n PaginationPipe,\r\n ProfilePicturePipe,\r\n ChatPersonSearchPipe,\r\n UserSearchPipe,\r\n TruncatePipe,\r\n MailSearchPipe\r\n ]\r\n})\r\nexport class PipesModule { }\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'profilePicture'})\r\nexport class ProfilePicturePipe implements PipeTransform {\r\n transform(input:string, ext = 'jpg'):string {\r\n return '../assets/img/profile/' + input + '.' + ext;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'ChatPersonSearchPipe' })\r\nexport class ChatPersonSearchPipe implements PipeTransform {\r\n transform(value, args?): any {\r\n let searchText = new RegExp(args, 'ig');\r\n if (value) {\r\n return value.filter(message => {\r\n if (message.author) {\r\n return message.author.search(searchText) !== -1;\r\n }\r\n return;\r\n });\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'MailSearch'\r\n})\r\n\r\nexport class MailSearchPipe implements PipeTransform {\r\n transform(value, args?): any {\r\n let searchText = new RegExp(args, 'ig');\r\n if (value) {\r\n return value.filter(mail => {\r\n if(mail.sender || mail.subject){\r\n if(mail.sender.search(searchText) !== -1 || mail.subject.search(searchText) !== -1){\r\n return true;\r\n }\r\n return false;\r\n }\r\n return;\r\n });\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'UserSearchPipe', pure: false })\r\nexport class UserSearchPipe implements PipeTransform {\r\n transform(value, args?): any {\r\n let searchText = new RegExp(args, 'ig');\r\n if (value) {\r\n return value.filter(user => {\r\n if (user.profile.name) {\r\n return user.profile.name.search(searchText) !== -1;\r\n }\r\n else{\r\n return user.username.search(searchText) !== -1;\r\n }\r\n });\r\n }\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'truncate'\r\n})\r\nexport class TruncatePipe implements PipeTransform {\r\n transform(value: string, args?) : string {\r\n let limit = args > 0 ? parseInt(args) : 10;\r\n return value.length > limit ? value.substring(0, limit) + '...' : value;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { OverlayContainer } from '@angular/cdk/overlay';\r\n\r\n@Injectable() \r\nexport class CustomOverlayContainer extends OverlayContainer {\r\n override _createContainer(): void {\r\n let container = document.createElement('div');\r\n container.classList.add('cdk-overlay-container');\r\n if (document.getElementById('app')) {\r\n document.getElementById('app')!.appendChild(container);\r\n }\r\n this._containerElement = container;\r\n }\r\n}","export const environment = {\r\n production: true,\r\n baseApiUrl: 'https://bandoso-api.dttt.vn',\r\n baseApiUrlLocal: 'https://localhost:5001'\r\n};\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n baseApiUrl: 'https://bandoso-api.dttt.vn',\r\n // baseApiUrl: 'http://localhost:5555',\r\n baseApiUrlLocal: 'https://localhost:5001',\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".sidenav {\\n width: 250px;\\n overflow: hidden;\\n border: none !important;\\n}\\n\\n.horizontal-menu {\\n padding: 0;\\n position: relative;\\n z-index: 9;\\n height: 0;\\n}\\n.horizontal-menu.sticky {\\n height: 0;\\n min-height: 0;\\n overflow: hidden;\\n}\\n.horizontal-menu.sticky.fixed-top {\\n position: fixed;\\n top: 0;\\n height: 56px;\\n overflow: visible;\\n}\\n\\n.inner-sidenav-content {\\n position: absolute;\\n top: 56px;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n padding: 8px;\\n min-height: calc(100% - (56px + 8px*2));\\n}\\n\\n.options {\\n position: fixed;\\n width: 250px;\\n overflow: hidden;\\n}\\n.options .control {\\n padding: 6px 14px;\\n}\\n.options .control div {\\n padding: 6px 0;\\n}\\n.options .control h4 {\\n border-bottom: 1px solid #ccc;\\n margin: 12px 0 6px 0;\\n}\\n.options .control .skin-primary {\\n width: 32px;\\n height: 32px;\\n padding: 0;\\n overflow: hidden;\\n cursor: pointer;\\n}\\n.options .control .skin-primary .skin-secondary {\\n width: 0;\\n height: 0;\\n padding: 0;\\n border-bottom: 32px solid;\\n border-left: 32px solid transparent;\\n}\\n.options .control .skin-primary.indigo-light {\\n background-color: #3F51B5;\\n border: 1px solid #3F51B5;\\n}\\n.options .control .skin-primary.indigo-light .skin-secondary {\\n border-bottom-color: #ececec;\\n}\\n.options .control .skin-primary.teal-light {\\n background-color: #009688;\\n border: 1px solid #009688;\\n}\\n.options .control .skin-primary.teal-light .skin-secondary {\\n border-bottom-color: #ececec;\\n}\\n.options .control .skin-primary.red-light {\\n background-color: #F44336;\\n border: 1px solid #F44336;\\n}\\n.options .control .skin-primary.red-light .skin-secondary {\\n border-bottom-color: #ececec;\\n}\\n.options .control .skin-primary.blue-dark {\\n background-color: #0277bd;\\n border: 1px solid #0277bd;\\n}\\n.options .control .skin-primary.blue-dark .skin-secondary {\\n border-bottom-color: #262626;\\n}\\n.options .control .skin-primary.green-dark {\\n background-color: #388E3C;\\n border: 1px solid #388E3C;\\n}\\n.options .control .skin-primary.green-dark .skin-secondary {\\n border-bottom-color: #262626;\\n}\\n.options .control .skin-primary.pink-dark {\\n background-color: #D81B60;\\n border: 1px solid #D81B60;\\n}\\n.options .control .skin-primary.pink-dark .skin-secondary {\\n border-bottom-color: #262626;\\n}\\n.options .mat-radio-group {\\n display: inline-flex;\\n flex-direction: column;\\n}\\n.options .mat-radio-group .mat-radio-button {\\n margin: 2px 0;\\n}\\n.options .mat-slide-toggle {\\n height: auto;\\n}\\n.options .ps {\\n height: calc(100% - 48px);\\n}\\n\\n.op-image {\\n box-shadow: 0 0 2px #ccc;\\n border: 2px solid;\\n border-color: transparent;\\n cursor: pointer;\\n transition: 0.2s;\\n}\\n\\n.options-icon {\\n position: fixed;\\n top: 110px;\\n right: 0;\\n width: 40px;\\n height: 40px;\\n background: rgba(0, 0, 0, 0.7);\\n color: #fff;\\n cursor: pointer;\\n z-index: 999999;\\n}\\n.options-icon .mat-icon {\\n animation: spin 8s linear infinite;\\n}\\n@keyframes spin {\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n.back-to-top {\\n position: fixed;\\n width: 40px;\\n height: 40px;\\n cursor: pointer;\\n z-index: 999999;\\n right: 20px;\\n bottom: 20px;\\n opacity: 0.5;\\n color: #fff;\\n background-color: rgba(0, 0, 0, 0.75);\\n border-radius: 4px;\\n}\\n.back-to-top:hover {\\n opacity: 0.9;\\n}\\n\\n.search-bar form input {\\n height: 28px;\\n border: none;\\n padding: 0;\\n border-radius: 15px;\\n outline: none;\\n color: #444;\\n width: 0;\\n overflow: hidden;\\n transition: 0.3s;\\n}\\n.search-bar form input.show {\\n padding: 0 8px;\\n width: 250px;\\n}\\n\\ntable.mat-table {\\n width: 100%;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/admin/admin.component.scss\",\"webpack://./src/app/theme/styles/_variables.scss\"],\"names\":[],\"mappings\":\"AAEA;EACI,YCEY;EDDZ,gBAAA;EACA,uBAAA;AADJ;;AAGA;EACI,UAAA;EACA,kBAAA;EACA,UAAA;EACA,SAAA;AAAJ;AACI;EACI,SAAA;EACA,aAAA;EACA,gBAAA;AACR;AAAQ;EACI,eAAA;EACA,MAAA;EACA,YCjBK;EDkBL,iBAAA;AAEZ;;AAGA;EACE,kBAAA;EACA,SCzBe;ED0Bf,SAAA;EACA,OAAA;EACA,QAAA;EACA,YCtBc;EDuBd,uCAAA;AAAF;;AAGA;EACI,eAAA;EACA,YChCY;EDiCZ,gBAAA;AAAJ;AACI;EACI,iBAAA;AACR;AAAQ;EACI,cAAA;AAEZ;AAAQ;EACI,6BAAA;EACA,oBAAA;AAEZ;AAAQ;EACI,WAAA;EACA,YAAA;EACA,UAAA;EACA,gBAAA;EACA,eAAA;AAEZ;AADY;EACI,QAAA;EACA,SAAA;EACA,UAAA;EACA,yBAAA;EACA,mCAAA;AAGhB;AADY;EACI,yBAAA;EACA,yBAAA;AAGhB;AAFgB;EACI,4BAAA;AAIpB;AADY;EACI,yBAAA;EACA,yBAAA;AAGhB;AAFgB;EACI,4BAAA;AAIpB;AADY;EACI,yBAAA;EACA,yBAAA;AAGhB;AAFgB;EACI,4BAAA;AAIpB;AADY;EACI,yBAAA;EACA,yBAAA;AAGhB;AAFgB;EACI,4BAAA;AAIpB;AADY;EACI,yBAAA;EACA,yBAAA;AAGhB;AAFgB;EACI,4BAAA;AAIpB;AADY;EACI,yBAAA;EACA,yBAAA;AAGhB;AAFgB;EACI,4BAAA;AAIpB;AACI;EACI,oBAAA;EACA,sBAAA;AACR;AAAQ;EACI,aAAA;AAEZ;AACI;EACI,YAAA;AACR;AACI;EACI,yBAAA;AACR;;AAEA;EACI,wBAAA;EACA,iBAAA;EACA,yBAAA;EACA,eAAA;EACA,gBAAA;AACJ;;AACA;EACI,eAAA;EACA,UAAA;EACA,QAAA;EACA,WAAA;EACA,YAAA;EACA,8BAAA;EACA,WAAA;EACA,eAAA;EACA,eAAA;AAEJ;AADI;EAGI,kCAAA;AAGR;AAWA;EACI;IACI,yBAAA;EAEN;AACF;AACA;EACI,eAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,eAAA;EACA,WAAA;EACA,YAAA;EACA,YAAA;EACA,WAAA;EACA,qCAAA;EACA,kBAAA;AACJ;AAAI;EACI,YAAA;AAER;;AAKQ;EACI,YAAA;EACA,YAAA;EACA,UAAA;EACA,mBAAA;EACA,aAAA;EACA,WAAA;EACA,QAAA;EACA,gBAAA;EACA,gBAAA;AAFZ;AAGY;EACG,cAAA;EACA,YAAA;AADf;;AASA;EAEI,WAAA;AAPJ\",\"sourcesContent\":[\"@import \\\"../theme/styles/variables\\\";\\r\\n\\r\\n.sidenav{\\r\\n width: $sidenav-width;\\r\\n overflow: hidden; \\r\\n border: none !important; \\r\\n}\\r\\n.horizontal-menu{\\r\\n padding: 0;\\r\\n position: relative;\\r\\n z-index: 9; \\r\\n height: 0;\\r\\n &.sticky{\\r\\n height: 0;\\r\\n min-height: 0;\\r\\n overflow: hidden;\\r\\n &.fixed-top{\\r\\n position: fixed;\\r\\n top: 0;\\r\\n height: $horizontal-menu-height;\\r\\n overflow: visible;\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\n.inner-sidenav-content {\\r\\n position: absolute;\\r\\n top:$toolbar-height;\\r\\n bottom:0;\\r\\n left:0;\\r\\n right:0; \\r\\n padding: $inner-sidenav-content-padding;\\r\\n min-height: calc(100% - (#{$toolbar-height} + #{$inner-sidenav-content-padding}*2));\\r\\n}\\r\\n\\r\\n.options{\\r\\n position: fixed;\\r\\n width: $sidenav-width;\\r\\n overflow: hidden;\\r\\n .control{\\r\\n padding: 6px 14px;\\r\\n div{\\r\\n padding: 6px 0;\\r\\n }\\r\\n h4{\\r\\n border-bottom: 1px solid #ccc;\\r\\n margin: 12px 0 6px 0;\\r\\n }\\r\\n .skin-primary{\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n padding: 0;\\r\\n overflow: hidden; \\r\\n cursor: pointer; \\r\\n .skin-secondary{\\r\\n width: 0; \\r\\n height: 0; \\r\\n padding: 0;\\r\\n border-bottom: 32px solid; \\r\\n border-left: 32px solid transparent;\\r\\n }\\r\\n &.indigo-light{\\r\\n background-color: #3F51B5;\\r\\n border: 1px solid #3F51B5;\\r\\n .skin-secondary{\\r\\n border-bottom-color: #ececec;\\r\\n }\\r\\n }\\r\\n &.teal-light{\\r\\n background-color: #009688;\\r\\n border: 1px solid #009688;\\r\\n .skin-secondary{\\r\\n border-bottom-color: #ececec;\\r\\n }\\r\\n }\\r\\n &.red-light{\\r\\n background-color: #F44336;\\r\\n border: 1px solid #F44336;\\r\\n .skin-secondary{\\r\\n border-bottom-color: #ececec;\\r\\n }\\r\\n }\\r\\n &.blue-dark{\\r\\n background-color: #0277bd;\\r\\n border: 1px solid #0277bd;\\r\\n .skin-secondary{\\r\\n border-bottom-color: #262626;\\r\\n }\\r\\n }\\r\\n &.green-dark{\\r\\n background-color: #388E3C;\\r\\n border: 1px solid #388E3C;\\r\\n .skin-secondary{\\r\\n border-bottom-color: #262626;\\r\\n }\\r\\n }\\r\\n &.pink-dark{\\r\\n background-color: #D81B60;\\r\\n border: 1px solid #D81B60;\\r\\n .skin-secondary{\\r\\n border-bottom-color: #262626;\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n .mat-radio-group{\\r\\n display: inline-flex;\\r\\n flex-direction: column;\\r\\n .mat-radio-button{\\r\\n margin: 2px 0;\\r\\n }\\r\\n }\\r\\n .mat-slide-toggle{\\r\\n height: auto;\\r\\n }\\r\\n .ps{\\r\\n height: calc(100% - 48px);\\r\\n }\\r\\n}\\r\\n.op-image{\\r\\n box-shadow: 0 0 2px #ccc;\\r\\n border: 2px solid;\\r\\n border-color: transparent;\\r\\n cursor: pointer;\\r\\n transition: 0.2s;\\r\\n}\\r\\n.options-icon{\\r\\n position: fixed;\\r\\n top: 110px;\\r\\n right: 0;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n background: rgba(0,0,0,.7);\\r\\n color: #fff;\\r\\n cursor: pointer;\\r\\n z-index: 999999;\\r\\n .mat-icon{\\r\\n -webkit-animation: spin 8s linear infinite;\\r\\n -moz-animation: spin 8s linear infinite;\\r\\n animation: spin 8s linear infinite;\\r\\n }\\r\\n}\\r\\n\\r\\n@-moz-keyframes spin { \\r\\n 100% { \\r\\n -moz-transform: rotate(360deg); \\r\\n } \\r\\n}\\r\\n@-webkit-keyframes spin { \\r\\n 100% { \\r\\n -webkit-transform: rotate(360deg); \\r\\n } \\r\\n}\\r\\n@keyframes spin { \\r\\n 100% { \\r\\n transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n.back-to-top{\\r\\n position: fixed;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n cursor: pointer;\\r\\n z-index: 999999;\\r\\n right: 20px;\\r\\n bottom: 20px;\\r\\n opacity: .5;\\r\\n color: #fff;\\r\\n background-color: rgba(0,0,0,.75);\\r\\n border-radius: 4px; \\r\\n &:hover{\\r\\n opacity: 0.9;\\r\\n } \\r\\n}\\r\\n\\r\\n\\r\\n.search-bar{\\r\\n form{\\r\\n input{\\r\\n height: 28px;\\r\\n border: none;\\r\\n padding: 0;\\r\\n border-radius: 15px;\\r\\n outline: none;\\r\\n color: #444;\\r\\n width: 0;\\r\\n overflow: hidden;\\r\\n transition: 0.3s;\\r\\n &.show{\\r\\n padding: 0 8px;\\r\\n width: 250px;\\r\\n }\\r\\n } \\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\ntable.mat-table\\r\\n{\\r\\n width: 100%;\\r\\n}\",\"$font-family: 'Roboto', sans-serif;\\r\\n\\r\\n$toolbar-height: 56px; \\r\\n$horizontal-menu-height: $toolbar-height;\\r\\n\\r\\n$sidenav-width: 250px;\\r\\n$sidenav-user-block-height: 170px;\\r\\n$mini-sidenav-user-block-height: 70px;\\r\\n\\r\\n$flex-distance: 8px;\\r\\n$inner-sidenav-content-padding: $flex-distance;\\r\\n\\r\\n//Login, Register, Errors box\\r\\n$box-height: 226px;\\r\\n$box-position: 34px;\\r\\n$register-box-height: 376px;\\r\\n\\r\\n$footer-height: 56px; \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n}\\n\\n#app-spinner {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n height: 100%;\\n width: 100%;\\n position: fixed;\\n top: 0;\\n background: #fff;\\n z-index: 999999;\\n visibility: visible;\\n opacity: 1;\\n transition: visibility 0.5s, opacity 0.3s linear;\\n}\\n#app-spinner.hide {\\n visibility: hidden;\\n opacity: 0;\\n}\\n#app-spinner h4 {\\n margin-top: 10px;\\n letter-spacing: 0.02em;\\n opacity: 0;\\n text-transform: uppercase;\\n animation: loading-text-opacity 2s linear 0s infinite normal;\\n}\\n\\n@keyframes loading-text-opacity {\\n 0% {\\n opacity: 0;\\n }\\n 20% {\\n opacity: 0;\\n }\\n 50% {\\n opacity: 1;\\n }\\n 100% {\\n opacity: 0;\\n }\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/app.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,kBAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;AACJ;;AAEA;EAKI,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;EACA,YAAA;EACA,WAAA;EACA,eAAA;EACA,MAAA;EACA,gBAAA;EACA,eAAA;EACA,mBAAA;EACA,UAAA;EAGA,gDAAA;AACJ;AAAI;EACI,kBAAA;EACA,UAAA;AAER;AAAI;EACI,gBAAA;EACA,sBAAA;EACA,UAAA;EACA,yBAAA;EAIA,4DAAA;AAER;;AAEA;EACI;IAAK,UAAA;EAEP;EADE;IAAK,UAAA;EAIP;EAHE;IAAK,UAAA;EAMP;EALE;IAAK,UAAA;EAQP;AACF\",\"sourcesContent\":[\".app{\\r\\n position:absolute;\\r\\n top:0;\\r\\n left:0;\\r\\n right:0;\\r\\n bottom:0;\\r\\n}\\r\\n\\r\\n#app-spinner{\\r\\n display: -webkit-box;\\r\\n display: -moz-box;\\r\\n display: -ms-flexbox;\\r\\n display: -webkit-flex;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n background: #fff;\\r\\n z-index: 999999;\\r\\n visibility: visible;\\r\\n opacity: 1;\\r\\n -webkit-transition: visibility 0.5s, opacity 0.3s linear;\\r\\n -moz-transition: visibility 0.5s, opacity 0.3s linear;\\r\\n transition: visibility 0.5s, opacity 0.3s linear;\\r\\n &.hide{\\r\\n visibility: hidden;\\r\\n opacity: 0; \\r\\n }\\r\\n h4{\\r\\n margin-top: 10px;\\r\\n letter-spacing: 0.02em;\\r\\n opacity: 0;\\r\\n text-transform: uppercase;\\r\\n -moz-animation: loading-text-opacity 2s linear 0s infinite normal;\\r\\n -o-animation: loading-text-opacity 2s linear 0s infinite normal;\\r\\n -webkit-animation: loading-text-opacity 2s linear 0s infinite normal;\\r\\n animation: loading-text-opacity 2s linear 0s infinite normal;\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes loading-text-opacity {\\r\\n 0% {opacity: 0}\\r\\n 20% {opacity: 0}\\r\\n 50% {opacity: 1}\\r\\n 100%{opacity: 0}\\r\\n}\\r\\n@-moz-keyframes loading-text-opacity {\\r\\n 0% {opacity: 0}\\r\\n 20% {opacity: 0}\\r\\n 50% {opacity: 1}\\r\\n 100%{opacity: 0}\\r\\n}\\r\\n@-webkit-keyframes loading-text-opacity {\\r\\n 0% {opacity: 0}\\r\\n 20% {opacity: 0}\\r\\n 50% {opacity: 1}\\r\\n 100%{opacity: 0}\\r\\n}\\r\\n@-o-keyframes loading-text-opacity {\\r\\n 0% {opacity: 0}\\r\\n 20% {opacity: 0}\\r\\n 50% {opacity: 1}\\r\\n 100%{opacity: 0}\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".applications .mat-toolbar, .applications .mat-toolbar-row {\\n height: 40px !important;\\n min-height: 40px !important;\\n}\\n.applications .header {\\n width: 250px;\\n font-size: 16px;\\n}\\n.applications .mat-mdc-card {\\n padding: 0;\\n}\\n.applications .mat-mdc-card .mat-mdc-button {\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n}\\n.applications .mat-mdc-card .mat-mdc-button .mat-icon {\\n margin-bottom: 8px;\\n width: 24px;\\n height: 24px;\\n line-height: 24px;\\n font-size: 24px;\\n}\\n.applications .mat-mdc-card .mat-mdc-button .mdc-button__label {\\n white-space: nowrap;\\n font-weight: 500;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/theme/components/applications/applications.component.scss\"],\"names\":[],\"mappings\":\"AACI;EACI,uBAAA;EACA,2BAAA;AAAR;AAEI;EACI,YAAA;EACA,eAAA;AAAR;AAEI;EACI,UAAA;AAAR;AACQ;EACI,YAAA;EACA,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,WAAA;AACZ;AAAY;EACI,kBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;AAEhB;AAAY;EACI,mBAAA;EACA,gBAAA;AAEhB\",\"sourcesContent\":[\".applications{\\r\\n .mat-toolbar, .mat-toolbar-row{\\r\\n height: 40px !important;\\r\\n min-height: 40px !important;\\r\\n }\\r\\n .header{\\r\\n width: 250px;\\r\\n font-size: 16px;\\r\\n }\\r\\n .mat-mdc-card{\\r\\n padding: 0;\\r\\n .mat-mdc-button{\\r\\n height: 100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n .mat-icon {\\r\\n margin-bottom: 8px;\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n line-height: 24px;\\r\\n font-size: 24px;\\r\\n }\\r\\n .mdc-button__label {\\r\\n white-space: nowrap;\\r\\n font-weight: 500;\\r\\n }\\r\\n }\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".breadcrumb {\\n padding: 8px;\\n}\\n.breadcrumb .mat-icon {\\n font-size: 20px;\\n height: 20px;\\n width: 20px;\\n padding: 0 6px;\\n}\\n.breadcrumb .breadcrumb-title.active {\\n text-transform: uppercase;\\n font-weight: 500;\\n}\\n.breadcrumb .breadcrumb-item + .breadcrumb-item:before {\\n display: inline-block;\\n padding-right: 0.5rem;\\n padding-left: 0.5rem;\\n content: \\\"/\\\";\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/theme/components/breadcrumb/breadcrumb.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACI,YAAA;AACJ;AAAI;EACI,eAAA;EACA,YAAA;EACA,WAAA;EACA,cAAA;AAER;AAAI;EACI,yBAAA;EACA,gBAAA;AAER;AAAI;EACI,qBAAA;EACA,qBAAA;EACA,oBAAA;EACA,YAAA;AAER\",\"sourcesContent\":[\".breadcrumb{\\r\\n padding: 8px;\\r\\n .mat-icon{\\r\\n font-size: 20px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n padding: 0 6px;\\r\\n }\\r\\n .breadcrumb-title.active{\\r\\n text-transform: uppercase;\\r\\n font-weight: 500;\\r\\n }\\r\\n .breadcrumb-item+.breadcrumb-item:before{\\r\\n display: inline-block;\\r\\n padding-right: .5rem;\\r\\n padding-left: .5rem;\\r\\n content: \\\"/\\\";\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".flags img {\\n vertical-align: middle;\\n margin-right: 8px;\\n}\\n.flags .mat-mdc-menu-item {\\n height: 36px;\\n line-height: 36px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/theme/components/flags-menu/flags-menu.component.scss\"],\"names\":[],\"mappings\":\"AACI;EACI,sBAAA;EACA,iBAAA;AAAR;AAEI;EACI,YAAA;EACA,iBAAA;AAAR\",\"sourcesContent\":[\".flags{\\r\\n img{\\r\\n vertical-align: middle;\\r\\n margin-right: 8px;\\r\\n }\\r\\n .mat-mdc-menu-item{\\r\\n height: 36px;\\r\\n line-height: 36px;\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".horizontal-menu-item {\\n position: relative;\\n}\\n.horizontal-menu-item .mat-mdc-button {\\n height: 56px;\\n font-weight: 400;\\n color: inherit;\\n padding: 0 16px;\\n}\\n.horizontal-menu-item .horizontal-menu-icon {\\n margin-right: 5px;\\n}\\n.horizontal-menu-item .horizontal-sub-menu {\\n position: absolute;\\n width: 190px;\\n max-height: 0;\\n overflow: hidden;\\n transition: max-height 0.25s ease-out;\\n}\\n.horizontal-menu-item .horizontal-sub-menu .mat-mdc-button {\\n width: 100%;\\n height: 36px;\\n}\\n\\n.horizontal-menu-item:hover > .horizontal-sub-menu {\\n max-height: 740px;\\n overflow: visible;\\n}\\n\\n.horizontal-sub-menu .horizontal-sub-menu {\\n left: 100%;\\n top: 0;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/theme/components/menu/horizontal-menu/horizontal-menu.component.scss\",\"webpack://./src/app/theme/styles/_variables.scss\"],\"names\":[],\"mappings\":\"AACA;EACI,kBAAA;AAAJ;AACI;EACI,YCFS;EDGT,gBAAA;EACA,cAAA;EACA,eAAA;AACR;AACI;EACI,iBAAA;AACR;AACI;EACI,kBAAA;EACA,YAAA;EACA,aAAA;EACA,gBAAA;EAGA,qCAAA;AACR;AAAQ;EACI,WAAA;EACA,YAAA;AAEZ;;AAEA;EACI,iBAAA;EACA,iBAAA;AACJ;;AACA;EACI,UAAA;EACA,MAAA;AAEJ\",\"sourcesContent\":[\"@import \\\"../../../styles/variables\\\";\\r\\n.horizontal-menu-item{\\r\\n position: relative;\\r\\n .mat-mdc-button{\\r\\n height: $horizontal-menu-height;\\r\\n font-weight: 400;\\r\\n color: inherit;\\r\\n padding: 0 16px;\\r\\n }\\r\\n .horizontal-menu-icon{\\r\\n margin-right: 5px;\\r\\n }\\r\\n .horizontal-sub-menu{\\r\\n position: absolute;\\r\\n width: 190px;\\r\\n max-height: 0;\\r\\n overflow: hidden;\\r\\n -webkit-transition: max-height 0.25s ease-out; \\r\\n -moz-transition: max-height 0.25s ease-out; \\r\\n transition: max-height 0.25s ease-out; \\r\\n .mat-mdc-button{\\r\\n width: 100%;\\r\\n height: 36px; \\r\\n }\\r\\n }\\r\\n}\\r\\n.horizontal-menu-item:hover > .horizontal-sub-menu{\\r\\n max-height: 740px;\\r\\n overflow: visible;\\r\\n}\\r\\n.horizontal-sub-menu .horizontal-sub-menu{\\r\\n left: 100%;\\r\\n top: 0;\\r\\n}\",\"$font-family: 'Roboto', sans-serif;\\r\\n\\r\\n$toolbar-height: 56px; \\r\\n$horizontal-menu-height: $toolbar-height;\\r\\n\\r\\n$sidenav-width: 250px;\\r\\n$sidenav-user-block-height: 170px;\\r\\n$mini-sidenav-user-block-height: 70px;\\r\\n\\r\\n$flex-distance: 8px;\\r\\n$inner-sidenav-content-padding: $flex-distance;\\r\\n\\r\\n//Login, Register, Errors box\\r\\n$box-height: 226px;\\r\\n$box-position: 34px;\\r\\n$register-box-height: 376px;\\r\\n\\r\\n$footer-height: 56px; \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".menu-item .mat-mdc-button {\\n width: 100%;\\n font-weight: 400;\\n height: 42px;\\n padding-left: 16px;\\n}\\n.menu-item .mat-mdc-button .mat-icon.menu-icon {\\n margin-right: 12px;\\n}\\n.menu-item .mat-mdc-button .mat-icon.menu-expand-icon {\\n position: absolute;\\n right: 10px;\\n top: 10px;\\n}\\n.menu-item .mat-mdc-button.expanded .mat-icon.menu-expand-icon {\\n transform: rotate(180deg);\\n}\\n\\n.sub-menu {\\n max-height: 0;\\n overflow: hidden;\\n transition: max-height 0.25s ease-out;\\n}\\n.sub-menu .sub-menu .mat-mdc-button {\\n padding-left: 60px;\\n}\\n.sub-menu .sub-menu .sub-menu .mat-mdc-button {\\n padding-left: 80px;\\n}\\n.sub-menu .sub-menu .sub-menu .sub-menu .mat-mdc-button {\\n padding-left: 100px;\\n}\\n.sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .mat-mdc-button {\\n padding-left: 120px;\\n}\\n.sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .mat-mdc-button {\\n padding-left: 140px;\\n}\\n.sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .mat-mdc-button {\\n padding-left: 160px;\\n}\\n.sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .mat-mdc-button {\\n padding-left: 180px;\\n}\\n.sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .mat-mdc-button {\\n padding-left: 200px;\\n}\\n.sub-menu .mat-mdc-button {\\n padding-left: 40px;\\n}\\n.sub-menu.show {\\n max-height: 500px;\\n transition: max-height 0.25s ease-in;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/theme/components/menu/vertical-menu/vertical-menu.component.scss\",\"webpack://./src/app/theme/styles/_mixins.scss\"],\"names\":[],\"mappings\":\"AAGI;EACI,WAAA;EACA,gBAAA;EACA,YAAA;EACA,kBAAA;AAFR;AAGQ;EACI,kBAAA;AADZ;AAGQ;EACI,kBAAA;EACA,WAAA;EACA,SAAA;AADZ;AAIY;EAGI,yBAAA;AAFhB;;AAQA;EAEI,aAAA;EACA,gBAAA;EAGA,qCAAA;AANJ;ACtBQ;EAKQ,kBAAA;ADoBhB;ACzBQ;EAKQ,kBAAA;ADuBhB;AC5BQ;EAKQ,mBAAA;AD0BhB;AC/BQ;EAKQ,mBAAA;AD6BhB;AClCQ;EAKQ,mBAAA;ADgChB;ACrCQ;EAKQ,mBAAA;ADmChB;ACxCQ;EAKQ,mBAAA;ADsChB;AC3CQ;EAKQ,mBAAA;ADyChB;AAjBI;EACI,kBAAA;AAmBR;AAjBI;EACI,iBAAA;EAGA,oCAAA;AAmBR\",\"sourcesContent\":[\"@import \\\"../../../styles/mixins\\\";\\r\\n\\r\\n.menu-item{\\r\\n .mat-mdc-button {\\r\\n width: 100%;\\r\\n font-weight: 400;\\r\\n height: 42px;\\r\\n padding-left: 16px;\\r\\n .mat-icon.menu-icon {\\r\\n margin-right: 12px;\\r\\n }\\r\\n .mat-icon.menu-expand-icon {\\r\\n position: absolute;\\r\\n right: 10px;\\r\\n top: 10px;\\r\\n }\\r\\n &.expanded{\\r\\n .mat-icon.menu-expand-icon{\\r\\n -webkit-transform: rotate(180deg);\\r\\n -moz-transform: rotate(180deg);\\r\\n transform: rotate(180deg);\\r\\n }\\r\\n } \\r\\n } \\r\\n}\\r\\n\\r\\n.sub-menu{\\r\\n @include menu-level-padding('ltr');\\r\\n max-height: 0;\\r\\n overflow: hidden;\\r\\n -webkit-transition: max-height 0.25s ease-out; \\r\\n -moz-transition: max-height 0.25s ease-out; \\r\\n transition: max-height 0.25s ease-out; \\r\\n .mat-mdc-button {\\r\\n padding-left: 40px; \\r\\n } \\r\\n &.show{\\r\\n max-height: 500px;\\r\\n -webkit-transition: max-height 0.25s ease-in;\\r\\n -moz-transition: max-height 0.25s ease-in;\\r\\n transition: max-height 0.25s ease-in;\\r\\n } \\r\\n}\",\"@mixin menu-level-padding($direction){\\r\\n $elem: '';\\r\\n @for $i from 3 through 10 {\\r\\n $elem: if($i == 3, \\\".sub-menu\\\", selector-nest($elem, \\\".sub-menu\\\")); \\r\\n #{$elem + ' .mat-mdc-button'} { \\r\\n @if $direction == \\\"rtl\\\" {\\r\\n padding-right: 20px * $i; \\r\\n } \\r\\n @else{\\r\\n padding-left: 20px * $i; \\r\\n }\\r\\n }\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".pin {\\n width: 24px;\\n height: 24px;\\n cursor: pointer;\\n fill: currentColor;\\n}\\n\\n.sidenav-header {\\n padding: 0 10px !important;\\n}\\n\\n.user-block {\\n height: 0;\\n position: relative;\\n z-index: 1;\\n overflow: hidden;\\n}\\n.user-block img {\\n width: 80px;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n border-radius: 50%;\\n}\\n.user-block .user-info-wrapper {\\n padding: 0 6px;\\n margin: 6px 0;\\n width: 100%;\\n}\\n.user-block .user-info-wrapper .user-info {\\n text-align: center;\\n}\\n.user-block .user-info-wrapper .user-info .name {\\n font-size: 15px;\\n}\\n.user-block .user-info-wrapper .user-info .position {\\n font-size: 13px;\\n}\\n.user-block.show {\\n height: 170px;\\n}\\n\\nng-scrollbar.sidenav-menu-outer {\\n height: calc(100% - 56px);\\n}\\nng-scrollbar.sidenav-menu-outer.user-block-show {\\n height: calc(100% - 226px);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/theme/components/sidenav/sidenav.component.scss\",\"webpack://./src/app/theme/styles/_variables.scss\"],\"names\":[],\"mappings\":\"AAEA;EACI,WAAA;EACA,YAAA;EACA,eAAA;EACA,kBAAA;AADJ;;AAIA;EACI,0BAAA;AADJ;;AAIA;EACI,SAAA;EACA,kBAAA;EACA,UAAA;EACA,gBAAA;AADJ;AAEI;EACI,WAAA;EACA,oCAAA;EACA,kBAAA;AAAR;AAEI;EACI,cAAA;EACA,aAAA;EACA,WAAA;AAAR;AACQ;EACI,kBAAA;AACZ;AAAY;EACI,eAAA;AAEhB;AAAY;EACI,eAAA;AAEhB;AAEI;EACI,aChCoB;ADgC5B;;AAIA;EACI,yBAAA;AADJ;AAEI;EACI,0BAAA;AAAR\",\"sourcesContent\":[\"@import \\\"../../styles/variables\\\";\\r\\n\\r\\n.pin{\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n cursor: pointer;\\r\\n fill: currentColor;\\r\\n}\\r\\n\\r\\n.sidenav-header{\\r\\n padding: 0 10px !important;\\r\\n}\\r\\n\\r\\n.user-block{\\r\\n height: 0;\\r\\n position: relative; \\r\\n z-index: 1; \\r\\n overflow: hidden; \\r\\n img{\\r\\n width: 80px; \\r\\n border: 1px solid rgba(0, 0, 0, 0.2);\\r\\n border-radius: 50%; \\r\\n }\\r\\n .user-info-wrapper{\\r\\n padding: 0 6px;\\r\\n margin: 6px 0;\\r\\n width: 100%;\\r\\n .user-info{\\r\\n text-align: center;\\r\\n .name{\\r\\n font-size: 15px\\r\\n }\\r\\n .position{\\r\\n font-size: 13px;\\r\\n }\\r\\n }\\r\\n } \\r\\n &.show{\\r\\n height: $sidenav-user-block-height;\\r\\n } \\r\\n} \\r\\n \\r\\nng-scrollbar.sidenav-menu-outer {\\r\\n height: calc(100% - #{$toolbar-height});\\r\\n &.user-block-show{ \\r\\n height: calc(100% - #{$toolbar-height + $sidenav-user-block-height}); \\r\\n } \\r\\n}\",\"$font-family: 'Roboto', sans-serif;\\r\\n\\r\\n$toolbar-height: 56px; \\r\\n$horizontal-menu-height: $toolbar-height;\\r\\n\\r\\n$sidenav-width: 250px;\\r\\n$sidenav-user-block-height: 170px;\\r\\n$mini-sidenav-user-block-height: 70px;\\r\\n\\r\\n$flex-distance: 8px;\\r\\n$inner-sidenav-content-padding: $flex-distance;\\r\\n\\r\\n//Login, Register, Errors box\\r\\n$box-height: 226px;\\r\\n$box-position: 34px;\\r\\n$register-box-height: 376px;\\r\\n\\r\\n$footer-height: 56px; \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-menu .mat-toolbar, .user-menu .mat-toolbar-row {\\n height: 100px !important;\\n}\\n.user-menu .user-info {\\n width: 230px;\\n}\\n.user-menu .user-info p {\\n font-size: 16px;\\n line-height: 22px;\\n text-align: center;\\n}\\n.user-menu .mat-mdc-menu-item {\\n height: 36px;\\n line-height: 36px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/theme/components/user-menu/user-menu.component.scss\"],\"names\":[],\"mappings\":\"AACI;EACI,wBAAA;AAAR;AAEI;EACI,YAAA;AAAR;AACQ;EACI,eAAA;EACA,iBAAA;EACA,kBAAA;AACZ;AAEI;EACI,YAAA;EACA,iBAAA;AAAR\",\"sourcesContent\":[\".user-menu{\\r\\n .mat-toolbar, .mat-toolbar-row{\\r\\n height: 100px !important;\\r\\n }\\r\\n .user-info{\\r\\n width: 230px;\\r\\n p{\\r\\n font-size: 16px;\\r\\n line-height: 22px;\\r\\n text-align: center;\\r\\n }\\r\\n }\\r\\n .mat-mdc-menu-item{\\r\\n height: 36px;\\r\\n line-height: 36px;\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["Component","ViewChild","HostListener","Router","NavigationEnd","AppCommon","AppService","AppSettings","AppStorage","MenuService","AdminComponent","constructor","appSettings","router","menuService","appService","appStorage","appCommon","userId","settings","ngOnInit","setInterval","initData","window","innerWidth","menu","sidenavIsOpened","sidenavIsPinned","menuOption","menuTypeOption","menuType","defaultMenu","cvs","getCategoryData","pullData","categoryVersion","subscribe","outData","status","setCategoryData","data","ngAfterViewInit","setTimeout","loadingSpinner","backToTop","nativeElement","style","display","events","event","sidenav","close","expandActiveSubMenu","getVerticalMenuItems","chooseMenu","navigate","chooseMenuType","changeTheme","theme","toggleSidenav","undefined","toggle","onPageScroll","target","scrollTop","fixedHeader","currentScrollTop","lastScrollTop","document","querySelector","classList","add","remove","scrollToTop","mainSidenavContent","scrollTo","top","mainContent","duration","onWindowResize","closeSubMenus","i","children","length","child","contains","onDownloadWMS","link","open","onOpenInstructionUrl","args","selector","template","providers","Injectable","Injector","HttpClient","HttpRequest","shareReplay","retry","catchError","AppClientSettings","CameraService","http","appClientSettings","injector","clientSettings","url","serverAPI","_injector","searchPaged","params","get","getHeaders","pipe","err","handleError","create","camera","post","edit","put","getById","id","delete","exportData","paramsStr","URLSearchParams","toString","request","reportProgress","responseType","error","Promise","reject","Inject","ChangeDetectorRef","DateAdapter","MAT_DATE_FORMATS","MAT_DATE_LOCALE","MatDialog","MatDialogRef","MAT_DIALOG_DATA","FormBuilder","FormControl","MatSnackBar","MAT_MOMENT_DATE_FORMATS","MomentDateAdapter","TranslateService","StreamServiceService","moment","CameraDownloadComponent","dialogRef","fb","dialog","snackBar","translate","streamServiceService","cdr","saveProcess","deleteProcess","Date","value","label","cameraInfo","type","input","fixHeightScroll","onDownload","fromValue","dateControl1","toValue","dateControl2","alert","from","format","DATETIME_FORMAT_FOR_CAMERA_APP","to","getTop","fix_detail","getBoundingClientRect","heightScroll","innerHeight","static","provide","useValue","useClass","deps","Pipe","HttpHeaders","DomSanitizer","DatePipe","Swal","jsonToQueryString","json","Object","keys","map","key","encodeURIComponent","join","moneyInputFormat","align","allowNegative","allowZero","decimal","precision","prefix","suffix","thousands","nullable","changeUrl","history","pushState","formatDateTime2","inDate","fm","check","formatDateTime","datePipe","transform","formatDateTimeZone","zone","dateAddDay","days","newdate","setDate","getDate","dateAddMonth","months","setMonth","getMonth","daysInMonth","year","month","searchfixParram","defaultObject","copyParrams","assign","props","getOwnPropertyNames","forEach","element","thisValue","Array","isArray","urlToJsonV2","callback","hash","myJson","hashes","slice","indexOf","split","decodeURIComponent","urlToJson","urlToBasePath","initHeightTable","tagid","trudi","getElementById","myHeaders","append","cleanOject","headers","getHeadersText","getHeadersDowload","Accept","observe","obj","propName","pad","number","str","toAfterMoney","discountAmount","discountUnitType","parseFloat","toFixed","toAfterMoneyStr","total","formatMoney","parseInt","n","x","re","Math","max","replace","RegExp","fMoney","getUser","users","dl","find","displayName","isDisabledControll","form","controlName","disable","enable","getColor","items","name","getModel","getObject","getObj","getObjString","openLiveUrlCamera","isLive","fromDate","toDate","brand","token","startTime","showErrorMessage","isLiveSupport","scheme","location","href","console","log","message","title","closeButton","fire","text","icon","confirmButtonText","vietnameseStringToSlug","l","toLowerCase","trim","CitiesFilter","datas","o","filter","WardsFilter","cityId","districtId","NationalitiesFilter","NationsFilter","DistrictsFilter","UserFilter","treatmentService","RanksFilter","WorkPositionsFilter","WorkDepartmentsFilter","AuditorCardIssuersFilter","MajoringsFilter","EnforcementFunctionsFilter","UniversitysFilter","group","PowerPipe","base","exponent","pow","Safe","sanitizer","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","bypassSecurityTrustResourceUrl","NavigationCancel","NavigationError","NavigationStart","AppComponent","setDefaultLang","Directive","ElementRef","Input","CheckRolesDirective","el","elx","checkRoles","ids","roleValues","acctions","getAccountInfo","roleActions","isSuperAdmin","kt","BrowserModule","LOCALE_ID","NgModule","BrowserAnimationsModule","FormsModule","ReactiveFormsModule","OverlayContainer","CustomOverlayContainer","CalendarModule","adapterFactory","SharedModule","PipesModule","SidenavComponent","VerticalMenuComponent","HorizontalMenuComponent","BreadcrumbComponent","FlagsMenuComponent","FullScreenComponent","ApplicationsComponent","UserMenuComponent","TranslateLoader","TranslateModule","HttpClientModule","HTTP_INTERCEPTORS","TranslateHttpLoader","registerLocaleData","localePt","routing","NgxMaterialTimepickerModule","NgxMatSelectSearchModule","NgxCurrencyModule","NgMultiSelectDropDownModule","JwtInterceptor","ErrorInterceptor","MAT_MOMENT_DATE_ADAPTER_OPTIONS","PerfectScrollbarModule","DEFAULT_PERFECT_SCROLLBAR_CONFIG","wheelPropagation","suppressScrollX","PERFECT_SCROLLBAR_CONFIG","ConfirmationDialogComponent","FileUploadAttackedViewComponent","NgxMatDatetimePickerModule","NgxMatTimepickerModule","NgxMatNativeDateModule","NgChartsModule","AppModule","imports","forRoot","useFactory","loader","HttpLoaderFactory","declarations","entryComponents","multi","useUtc","bootstrap","RouterModule","PreloadAllModules","AuthGuard","NotEnoughAccessComponent","NotFoundComponent","RedirectComponent","routes","path","component","canActivate","loadChildren","then","m","DashboardModule","breadcrumb","AccountModule","RolesModule","RoleGroupsModule","RoleAreasModule","RoleControllersModule","UsersModule","ReportModule","CityModule","DistrictModule","EnforcementFunctionModule","NationModule","NationalityModule","WardModule","WorkDepartmentModule","WorkPositionModule","MajoringModule","UniversityModule","AuditorCardIssuerModule","CameraModule","CameraPlaceModule","CameraPlaceCategoryModule","CameraBrandModule","StaffModule","LoginModule","AppRoutingModule","preloadingStrategy","exports","v","currentVersion","Settings","sidenavUserBlock","rtl","ClientSettings","serverReport","ApiResponseData","PullData","FileDataDTO","AppVersionDTO","environment","environmentProd","isDevMode","baseApiUrl","LOCAL_STORAGE","storage","setAccountInfo","set","removeAccountInfo","removeCategoryData","getUserId","outPut","setUserId","getAppVersion","setAppVersion","route","state","currentUser","pathname","startsWith","providedIn","throwError","intercept","next","handle","JSON","stringify","statusText","isLoggedIn","isApiUrl","clone","setHeaders","Authorization","method","shiftDates","body","UTC","getFullYear","getHours","getMinutes","getSeconds","goHome","searchResult","ActivatedRoute","queryParams","newXX","navigateByUrl","webRtcStreamData","formData","FormData","headers_object","btoa","CommonModule","FlexLayoutModule","MatAutocompleteModule","MatButtonModule","MatButtonToggleModule","MatCardModule","MatCheckboxModule","MatChipsModule","MatNativeDateModule","MatRippleModule","MatDatepickerModule","MatDialogModule","MatExpansionModule","MatGridListModule","MatIconModule","MatInputModule","MatListModule","MatMenuModule","MatPaginatorModule","MatProgressBarModule","MatProgressSpinnerModule","MatRadioModule","MatSelectModule","MatSidenavModule","MatSlideToggleModule","MatSliderModule","MatSnackBarModule","MatSortModule","MatStepperModule","MatTableModule","MatTabsModule","MatToolbarModule","MatTooltipModule","FileUploadComponent","FileUploadAttackedComponent","ViewEncapsulation","encapsulation","None","Title","activatedRoute","breadcrumbs","parseRoute","routerState","snapshot","root","pageTitle","setTitle","node","urlSegments","pathFromRoot","concat","urlSegment","push","firstChild","onClick","EventEmitter","Output","HttpResponse","HttpEventType","hidden","upload","files","uploadAndProgressSingle","openView","file","viewPath","panelClass","disableClose","autoFocus","afterClosed","uploadSuccess","f","apiUpload","UploadProgress","percentDone","round","loaded","fileX2","curentFiles","emit","accountSearching","pathView","getData","isProcess","defaultSrc","basicUpload","basicUploadSingle","uploadAndProgress","fileX1","requestFullscreen","elem","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","getFullscreen","expand","documentElement","compress","onFullScreenChange","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","MatMenuTrigger","accountInfo","roleIds","menuItems","getHorizontalMenuItems","item","parentId","menuParentId","checkRole","roleAcctionIds","Number","getElementsByClassName","Location","adminMenus","routerLink","activeMenuItem","menuItem","parentMenuItem","toggleMenuItem","menuId","subMenu","closeOtherSubMenus","currentMenuItem","lang","currentLang","pointLang","onLangChange","parentMenu","thisPath","isActive","splitLang","onClickMenuItem","categoryData","userInfo","logout","PaginationPipe","pageIndex","pageSize","paginate","array","page_size","page_number","ProfilePicturePipe","ChatPersonSearchPipe","UserSearchPipe","TruncatePipe","MailSearchPipe","ext","searchText","author","search","mail","sender","subject","user","profile","username","pure","limit","substring","_createContainer","container","createElement","appendChild","_containerElement","production","baseApiUrlLocal","enableProdMode","platformBrowserDynamic","bootstrapModule","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[54]}