{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/layouts/content/content-layout.component.ts","./src/app/layouts/content/content-layout.component.html","./src/app/layouts/full/full-layout.component.ts","./src/app/layouts/full/full-layout.component.html","./src/app/shared/animations/custom-animations.ts","./src/app/shared/auth/auth-guard.service.ts","./src/app/shared/auth/auth.service.ts","./src/app/shared/components/autocomplete/autocomplete-content.directive.ts","./src/app/shared/components/autocomplete/autocomplete.component.ts","./src/app/shared/components/autocomplete/autocomplete.directive.ts","./src/app/shared/components/autocomplete/autocomplete.module.ts","./src/app/shared/components/autocomplete/option/option.component.ts","./src/app/shared/components/danhmuc/danhmucchungedit.component.ts","./src/app/shared/components/danhmuc/danhmucchungedit.component.html","./src/app/shared/customizer/customizer.component.ts","./src/app/shared/customizer/customizer.component.html","./src/app/shared/data/template-search.ts","./src/app/shared/directives/sidebar-anchor-toggle.directive.ts","./src/app/shared/directives/sidebar-dropdown.directive.ts","./src/app/shared/directives/sidebar-link.directive.ts","./src/app/shared/directives/sidebar.directive.ts","./src/app/shared/directives/toggle-fullscreen.directive.ts","./src/app/shared/directives/topmenu-anchor-toggle.directive.ts","./src/app/shared/directives/topmenu-dropdown.directive.ts","./src/app/shared/directives/topmenu-link.directive.ts","./src/app/shared/directives/topmenu.directive.ts","./src/app/shared/footer/footer.component.ts","./src/app/shared/footer/footer.component.html","./src/app/shared/horizontal-menu/horizontal-menu.component.ts","./src/app/shared/horizontal-menu/horizontal-menu.component.html","./src/app/shared/horizontal-menu/navigation-routes.config.ts","./src/app/shared/navbar/navbar.component.ts","./src/app/shared/navbar/navbar.component.html","./src/app/shared/notification-sidebar/notification-sidebar.component.ts","./src/app/shared/notification-sidebar/notification-sidebar.component.html","./src/app/shared/pipes/filter.pipe.ts","./src/app/shared/pipes/pipe.module.ts","./src/app/shared/pipes/search.pipe.ts","./src/app/shared/pipes/short-name.pipe.ts","./src/app/shared/routes/content-layout.routes.ts","./src/app/shared/routes/full-layout.routes.ts","./src/app/shared/services/config.service.ts","./src/app/shared/services/customizer.service.ts","./src/app/shared/services/layout.service.ts","./src/app/shared/services/repository.ts","./src/app/shared/services/window.service.ts","./src/app/shared/shared.module.ts","./src/app/shared/util/constants.ts","./src/app/shared/vertical-menu/vertical-menu-routes.config.ts","./src/app/shared/vertical-menu/vertical-menu.component.ts","./src/app/shared/vertical-menu/vertical-menu.component.html","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes, PreloadAllModules } from '@angular/router';\r\n\r\nimport { FullLayoutComponent } from \"./layouts/full/full-layout.component\";\r\nimport { ContentLayoutComponent } from \"./layouts/content/content-layout.component\";\r\n\r\nimport { Full_ROUTES } from \"./shared/routes/full-layout.routes\";\r\nimport { CONTENT_ROUTES } from \"./shared/routes/content-layout.routes\";\r\n\r\nimport { AuthGuard } from './shared/auth/auth-guard.service';\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: 'pages/login',\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: '', component: FullLayoutComponent, data: { title: 'full Views' }, children: Full_ROUTES, canActivate: [AuthGuard]\r\n },\r\n { path: '', component: ContentLayoutComponent, data: { title: 'content Views' }, children: CONTENT_ROUTES },\r\n {\r\n path: '**',\r\n redirectTo: 'pages/error'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(appRoutes, { preloadingStrategy: PreloadAllModules, relativeLinkResolution: 'legacy',useHash: true })],\r\n exports: [RouterModule]\r\n})\r\n\r\nexport class AppRoutingModule {\r\n}\r\n","import { Component, ViewContainerRef, OnInit, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n\r\n subscription: Subscription;\r\n\r\n constructor(private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.router.events\r\n .pipe(\r\n filter(event => event instanceof NavigationEnd)\r\n )\r\n .subscribe(() => window.scrollTo(0, 0));\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n\r\n\r\n}","","import { NgModule } from \"@angular/core\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\n\r\nimport { AngularFireModule } from \"@angular/fire\";\r\nimport { AngularFireAuthModule } from \"@angular/fire/auth\";\r\n\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { HttpClientModule, HttpClient } from \"@angular/common/http\";\r\nimport { TranslateModule, TranslateLoader } from \"@ngx-translate/core\";\r\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport {APP_BASE_HREF} from '@angular/common';\r\n\r\nimport {\r\n PerfectScrollbarModule,\r\n PERFECT_SCROLLBAR_CONFIG,\r\n PerfectScrollbarConfigInterface\r\n} from 'ngx-perfect-scrollbar';\r\n\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { SharedModule } from \"./shared/shared.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { ContentLayoutComponent } from \"./layouts/content/content-layout.component\";\r\nimport { FullLayoutComponent } from \"./layouts/full/full-layout.component\";\r\n\r\nimport { AuthService } from \"./shared/auth/auth.service\";\r\nimport { AuthGuard } from \"./shared/auth/auth-guard.service\";\r\nimport { WINDOW_PROVIDERS } from './shared/services/window.service';\r\n\r\nvar firebaseConfig = {\r\n apiKey: \"YOUR_API_KEY\", //YOUR_API_KEY\r\n authDomain: \"YOUR_AUTH_DOMAIN\", //YOUR_AUTH_DOMAIN\r\n databaseURL: \"YOUR_DATABASE_URL\", //YOUR_DATABASE_URL\r\n projectId: \"YOUR_PROJECT_ID\", //YOUR_PROJECT_ID\r\n storageBucket: \"YOUR_STORAGE_BUCKET\", //YOUR_STORAGE_BUCKET\r\n messagingSenderId: \"YOUR_MESSAGING_SENDER_ID\", //YOUR_MESSAGING_SENDER_ID\r\n appId: \"YOUR_APP_ID\", //YOUR_APP_ID\r\n measurementId: \"YOUR_MEASUREMENT_ID\" //YOUR_MEASUREMENT_ID\r\n};\r\n\r\n\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true,\r\n wheelPropagation: false\r\n};\r\n\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, \"./assets/i18n/\", \".json\");\r\n}\r\n\r\n@NgModule({\r\n declarations: [AppComponent, FullLayoutComponent, ContentLayoutComponent],\r\n imports: [\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n SharedModule,\r\n HttpClientModule,\r\n AngularFireModule.initializeApp(firebaseConfig),\r\n AngularFireAuthModule,\r\n NgbModule,\r\n NgxSpinnerModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: createTranslateLoader,\r\n deps: [HttpClient]\r\n }\r\n }),\r\n PerfectScrollbarModule\r\n ],\r\n providers: [\r\n AuthService,\r\n AuthGuard,\r\n\t\r\n { provide: PERFECT_SCROLLBAR_CONFIG, useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG },\r\n WINDOW_PROVIDERS\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {}\r\n","import { Component, OnInit, ElementRef, Inject, Renderer2, ViewChild, OnDestroy, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ConfigService } from 'app/shared/services/config.service';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Subscription } from 'rxjs';\r\nimport { CustomizerService } from 'app/shared/services/customizer.service';\r\n\r\n@Component({\r\n selector: 'app-content-layout',\r\n templateUrl: './content-layout.component.html',\r\n styleUrls: ['./content-layout.component.scss'],\r\n //changeDetection: ChangeDetectionStrategy.OnPush\r\nchangeDetection: ChangeDetectionStrategy.Default\r\n})\r\n\r\nexport class ContentLayoutComponent implements OnInit, OnDestroy {\r\n public config: any = {};\r\n layoutSub: Subscription;\r\n @ViewChild('content-wrapper') wrapper: ElementRef;\r\n\r\n\r\n constructor(private configService: ConfigService,\r\n @Inject(DOCUMENT) private document: Document,\r\n private renderer: Renderer2, private cdr: ChangeDetectorRef,\r\n private customizerService: CustomizerService\r\n ) {\r\n this.config = this.configService.templateConf;\r\n this.renderer.addClass(this.document.body, \"auth-page\");\r\n }\r\n\r\n ngOnInit() {\r\n this.layoutSub = this.configService.templateConf$.subscribe((templateConf) => {\r\n if (templateConf) {\r\n this.config = templateConf;\r\n }\r\n this.loadLayout();\r\n this.cdr.markForCheck();\r\n\r\n })\r\n }\r\n\r\n loadLayout() {\r\n\r\n this.removeTransparentBGClasses();\r\n\r\n if (this.config.layout.variant === \"Light\") {\r\n this.renderer.removeClass(this.document.body, \"layout-dark\");\r\n this.renderer.removeClass(this.document.body, \"layout-transparent\");\r\n }\r\n else if (this.config.layout.variant === \"Dark\") {\r\n this.renderer.removeClass(this.document.body, \"layout-transparent\");\r\n this.renderer.addClass(this.document.body, \"layout-dark\");\r\n }\r\n else if (this.config.layout.variant === \"Transparent\") {\r\n this.renderer.addClass(this.document.body, \"layout-dark\");\r\n this.renderer.addClass(this.document.body, \"layout-transparent\");\r\n this.renderer.addClass(this.document.body, this.config.layout.sidebar.backgroundColor);\r\n }\r\n\r\n\r\n this.renderer.removeClass(this.document.body, \"menu-expanded\");\r\n this.renderer.removeClass(this.document.body, \"navbar-static\");\r\n this.renderer.removeClass(this.document.body, \"menu-open\");\r\n this.renderer.addClass(this.document.body, \"blank-page\");\r\n\r\n\r\n }\r\n\r\n removeTransparentBGClasses() {\r\n this.customizerService.transparent_colors.forEach(_ => {\r\n this.renderer.removeClass(this.document.body, _.class);\r\n });\r\n\r\n this.customizerService.transparent_colors_with_shade.forEach(_ => {\r\n this.renderer.removeClass(this.document.body, _.class);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.renderer.removeClass(this.document.body, \"auth-page\");\r\n if (this.layoutSub) {\r\n this.layoutSub.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n Renderer2,\r\n AfterViewInit,\r\n OnDestroy,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n HostListener\r\n} from \"@angular/core\";\r\nimport { ConfigService } from \"app/shared/services/config.service\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { CustomizerService } from 'app/shared/services/customizer.service';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { LayoutService } from 'app/shared/services/layout.service';\r\nimport { WINDOW } from 'app/shared/services/window.service';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: \"app-full-layout\",\r\n templateUrl: \"./full-layout.component.html\",\r\n styleUrls: [\"./full-layout.component.scss\"],\r\n changeDetection: ChangeDetectionStrategy.Default\r\n})\r\nexport class FullLayoutComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n hideSidebar: boolean = true;\r\n overlayContent = false;\r\n configSub: Subscription;\r\n layoutSub: Subscription;\r\n bgImage: string;\r\n bgColor: string;\r\n isSmallScreen = false;\r\n menuPosition = 'Side';\r\n displayOverlayMenu = false; // Vertical Side menu for screenSize < 1200\r\n public config: any = {};\r\n public innerWidth: any;\r\n isMenuCollapsedOnHover = false;\r\n isNavbarSeachTextEmpty = true;\r\n isScrollTopVisible = false;\r\n resizeTimeout;\r\n\r\n constructor(\r\n private configService: ConfigService,\r\n private layoutService: LayoutService,\r\n private router: Router,\r\n private customizerService: CustomizerService,\r\n @Inject(DOCUMENT) private document: Document,\r\n @Inject(WINDOW) private window: Window,\r\n private renderer: Renderer2,\r\n private cdr: ChangeDetectorRef,\r\n private deviceService: DeviceDetectorService\r\n ) {\r\n\r\n this.config = this.configService.templateConf;\r\n this.innerWidth = window.innerWidth;\r\n\r\n // On toggle sidebar menu\r\n this.layoutSub = layoutService.toggleSidebar$.subscribe(\r\n isShow => {\r\n this.hideSidebar = !isShow;\r\n if(this.hideSidebar) {\r\n this.overlayContent = false;\r\n } else {\r\n this.overlayContent = true;\r\n }\r\n this.toggleSidebar();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.configSub = this.configService.templateConf$.subscribe((templateConf) => {\r\n if (templateConf) {\r\n this.config = templateConf;\r\n }\r\n //load layout\r\n this.loadLayout();\r\n this.cdr.markForCheck();\r\n });\r\n\r\n //hide overlay class on router change\r\n this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((routeChange) => {\r\n if (this.config.layout.menuPosition === \"Side\" || this.displayOverlayMenu) { // Vertical Menu\r\n if (this.innerWidth < 1200) {\r\n this.layoutService.toggleSidebarSmallScreen(false);\r\n this.overlayContent = false;\r\n this.renderer.removeClass(this.document.body, \"overflow-hidden\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setMenuLayout();\r\n }\r\n\r\n ngOnDestroy() {\r\n //Unsubcribe subscriptions\r\n if (this.configSub) {\r\n this.configSub.unsubscribe();\r\n }\r\n if (this.layoutSub) {\r\n this.layoutSub.unsubscribe();\r\n }\r\n }\r\n\r\n //adjust layout\r\n setMenuLayout() {\r\n this.overlayContent = false;\r\n this.renderer.removeClass(this.document.body, \"blank-page\");\r\n if (this.config.layout.menuPosition === \"Top\") { // Horizontal Menu\r\n if (this.innerWidth < 1200) { // Screen size < 1200\r\n this.displayOverlayMenu = true;\r\n this.hideSidebar = true;\r\n this.renderer.removeClass(this.document.body, \"horizontal-menu\");\r\n this.renderer.removeClass(this.document.body, \"menu-open\");\r\n\r\n this.renderer.addClass(this.document.body, \"horizontal-layout\");\r\n this.renderer.addClass(this.document.body, \"horizontal-menu-padding\");\r\n this.renderer.addClass(this.document.body, \"vertical-layout\");\r\n this.renderer.addClass(this.document.body, \"vertical-overlay-menu\");\r\n this.renderer.addClass(this.document.body, \"fixed-navbar\");\r\n this.renderer.addClass(this.document.body, \"menu-hide\");\r\n }\r\n else { // Screen size > 1200\r\n this.displayOverlayMenu = false;\r\n this.hideSidebar = false;\r\n this.renderer.setAttribute(this.document.body, \"data-menu\", \"horizontal-menu\");\r\n this.renderer.removeClass(this.document.body, \"vertical-layout\");\r\n this.renderer.removeClass(this.document.body, \"vertical-overlay-menu\");\r\n this.renderer.removeClass(this.document.body, \"fixed-navbar\");\r\n this.renderer.removeClass(this.document.body, \"menu-hide\");\r\n this.renderer.removeClass(this.document.body, \"vertical-menu\");\r\n this.renderer.addClass(this.document.body, \"horizontal-menu\");\r\n this.renderer.addClass(this.document.body, \"horizontal-layout\");\r\n this.renderer.addClass(this.document.body, \"horizontal-menu-padding\");\r\n }\r\n }\r\n else if (this.config.layout.menuPosition === \"Side\") { // Vertical Menu\r\n if (this.innerWidth < 1200) { // If Screen size < 1200\r\n this.displayOverlayMenu = true;\r\n this.renderer.removeClass(this.document.body, \"horizontal-layout\");\r\n this.renderer.removeClass(this.document.body, \"horizontal-menu\");\r\n this.renderer.removeClass(this.document.body, \"horizontal-menu-padding\");\r\n this.renderer.removeClass(this.document.body, \"menu-expanded\");\r\n this.renderer.removeClass(this.document.body, \"vertical-menu\");\r\n this.renderer.removeClass(this.document.body, \"menu-open\");\r\n this.renderer.removeClass(this.document.body, \"nav-collapsed\");\r\n\r\n this.renderer.addClass(this.document.body, \"vertical-layout\");\r\n this.renderer.addClass(this.document.body, \"menu-hide\");\r\n\r\n }\r\n else { // If Screen size > 1200\r\n this.displayOverlayMenu = false;\r\n\r\n this.renderer.removeClass(this.document.body, \"horizontal-layout\");\r\n this.renderer.removeClass(this.document.body, \"horizontal-menu\");\r\n this.renderer.removeClass(this.document.body, \"horizontal-menu-padding\");\r\n\r\n this.renderer.setAttribute(this.document.body, \"data-menu\", \"vertical-menu\");\r\n this.renderer.addClass(this.document.body, \"vertical-layout\");\r\n if (!this.config.layout.sidebar.collapsed) {\r\n this.renderer.addClass(this.document.body, \"menu-expanded\");\r\n this.renderer.addClass(this.document.body, \"menu-open\");\r\n }\r\n this.renderer.addClass(this.document.body, \"vertical-menu\");\r\n this.renderer.removeClass(this.document.body, \"menu-hide\");\r\n this.renderer.removeClass(this.document.body, \"vertical-overlay-menu\");\r\n }\r\n }\r\n }\r\n\r\n\r\n loadLayout() {\r\n\r\n //menu position \"SIDE\" or \"TOP\"\r\n if (this.config.layout.menuPosition && this.config.layout.menuPosition.toString().trim() != \"\") {\r\n this.menuPosition = this.config.layout.menuPosition;\r\n }\r\n\r\n //Hide/show sidebar menu background image\r\n if (!this.config.layout.sidebar.backgroundImage) {\r\n this.bgImage = \"\";\r\n } else {\r\n this.bgImage = this.config.layout.sidebar.backgroundImageURL;\r\n }\r\n\r\n //Set sidebar menu background color\r\n if (!this.config.layout.sidebar.backgroundColor) {\r\n this.bgColor = this.customizerService.light_dark_colors[7].code;\r\n } else {\r\n this.bgColor = this.config.layout.sidebar.backgroundColor;\r\n }\r\n\r\n //toggle side menu\r\n if (this.config.layout.menuPosition === \"Side\") {\r\n if (this.config.layout.sidebar.collapsed) {\r\n this.isMenuCollapsedOnHover = true;\r\n }\r\n else {\r\n this.isMenuCollapsedOnHover = true;\r\n }\r\n this.toggleSidebar();\r\n }\r\n\r\n this.removeTransparentBGClasses();\r\n\r\n // Layout variants\r\n if (this.config.layout.variant === \"Light\") {\r\n this.renderer.removeClass(this.document.body, \"layout-dark\");\r\n this.renderer.removeClass(this.document.body, \"layout-transparent\");\r\n }\r\n else if (this.config.layout.variant === \"Dark\") {\r\n this.renderer.removeClass(this.document.body, \"layout-transparent\");\r\n this.renderer.addClass(this.document.body, \"layout-dark\");\r\n }\r\n else if (this.config.layout.variant === \"Transparent\") {\r\n this.renderer.addClass(this.document.body, \"layout-dark\");\r\n this.renderer.addClass(this.document.body, \"layout-transparent\");\r\n this.renderer.addClass(this.document.body, this.bgColor);\r\n this.bgImage = \"\";\r\n }\r\n\r\n this.setMenuLayout();\r\n\r\n // For Sidebar width\r\n if (this.config.layout.sidebar.size === 'sidebar-sm') {\r\n this.renderer.removeClass(this.document.body, \"sidebar-lg\");\r\n this.renderer.addClass(this.document.body, \"sidebar-sm\");\r\n }\r\n else if (this.config.layout.sidebar.size === 'sidebar-lg') {\r\n this.renderer.removeClass(this.document.body, \"sidebar-sm\");\r\n this.renderer.addClass(this.document.body, \"sidebar-lg\");\r\n }\r\n else {\r\n this.renderer.removeClass(this.document.body, \"sidebar-sm\");\r\n this.renderer.removeClass(this.document.body, \"sidebar-lg\");\r\n }\r\n\r\n if (this.config.layout.menuPosition === \"Side\") {\r\n // vertical/Side menu expanded/collapse\r\n if (this.config.layout.sidebar.collapsed && !this.isSmallScreen) { // collapse side menu\r\n this.renderer.removeClass(this.document.body, \"menu-expanded\");\r\n this.renderer.addClass(this.document.body, \"nav-collapsed\");\r\n }\r\n else { // expand side menu\r\n this.renderer.removeClass(this.document.body, \"nav-collapsed\");\r\n this.renderer.addClass(this.document.body, \"menu-expanded\");\r\n }\r\n }\r\n\r\n //Navbar types\r\n if (this.config.layout.navbar.type === 'Static') {\r\n this.renderer.removeClass(this.document.body, \"navbar-sticky\");\r\n this.renderer.addClass(this.document.body, \"navbar-static\");\r\n }\r\n else if (this.config.layout.navbar.type === 'Fixed') {\r\n this.renderer.removeClass(this.document.body, \"navbar-static\");\r\n this.renderer.addClass(this.document.body, \"navbar-sticky\");\r\n }\r\n\r\n }\r\n\r\n toggleSidebar() {\r\n if (this.hideSidebar) { // on sidebar collapse\r\n this.renderer.removeClass(this.document.body, \"menu-expanded\");\r\n this.renderer.removeClass(this.document.body, \"vertical-menu\");\r\n this.renderer.removeClass(this.document.body, \"menu-open\");\r\n\r\n this.renderer.addClass(this.document.body, \"vertical-layout\");\r\n this.renderer.addClass(this.document.body, \"menu-hide\");\r\n\r\n if (this.config.layout.menuPosition === \"Top\") {\r\n this.renderer.addClass(this.document.body, \"vertical-overlay-menu\");\r\n }\r\n }\r\n else { // on sidebar expand\r\n this.renderer.addClass(this.document.body, \"vertical-layout\");\r\n this.renderer.addClass(this.document.body, \"menu-expanded\");\r\n this.renderer.addClass(this.document.body, \"vertical-menu\");\r\n if (this.config.layout.sidebar.collapsed) {\r\n this.renderer.removeClass(this.document.body, \"menu-open\");\r\n }\r\n else {\r\n this.renderer.addClass(this.document.body, \"menu-open\");\r\n }\r\n this.renderer.removeClass(this.document.body, \"menu-hide\");\r\n }\r\n this.isTouchDevice();\r\n }\r\n\r\n isTouchDevice() {\r\n\r\n const isMobile = this.deviceService.isMobile();\r\n const isTablet = this.deviceService.isTablet();\r\n\r\n if (isMobile || isTablet) {\r\n if(!this.hideSidebar){\r\n this.renderer.addClass(this.document.body, \"overflow-hidden\");\r\n } else {\r\n this.renderer.removeClass(this.document.body, \"overflow-hidden\");\r\n }\r\n }\r\n\r\n }\r\n\r\n hideCompactMenuOnSmallScreen() {\r\n if (this.innerWidth < 1200) {\r\n let conf = this.config;\r\n conf.layout.sidebar.collapsed = false;\r\n this.configService.applyTemplateConfigChange({ layout: conf.layout });\r\n }\r\n }\r\n\r\n //Remove transparent layout classes\r\n removeTransparentBGClasses() {\r\n this.customizerService.transparent_colors.forEach(_ => {\r\n this.renderer.removeClass(this.document.body, _.class);\r\n });\r\n\r\n this.customizerService.transparent_colors_with_shade.forEach(_ => {\r\n this.renderer.removeClass(this.document.body, _.class);\r\n });\r\n }\r\n\r\n sidebarMouseenter(e) {\r\n if (this.config.layout.sidebar.collapsed) {\r\n this.isMenuCollapsedOnHover = false;\r\n this.layoutService.overlaySidebartoggle(this.isMenuCollapsedOnHover);\r\n }\r\n }\r\n\r\n sidebarMouseleave(e) {\r\n if (this.config.layout.sidebar.collapsed) {\r\n this.isMenuCollapsedOnHover = true;\r\n this.layoutService.overlaySidebartoggle(this.isMenuCollapsedOnHover);\r\n }\r\n }\r\n\r\n //scroll to top on click\r\n scrollToTop() {\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n\r\n onOutsideClick(e) {\r\n if (this.innerWidth < 1200) {\r\n if (\r\n !e.target.classList.contains(\"toggleSidebarNavbarButton\")\r\n ) {\r\n this.layoutService.toggleSidebarSmallScreen(false);\r\n }\r\n }\r\n }\r\n\r\n onWrapperClick() {\r\n this.isNavbarSeachTextEmpty = true;\r\n }\r\n\r\n checkNavbarSeachTextEmpty($event) {\r\n this.isNavbarSeachTextEmpty = $event;\r\n }\r\n\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n if (this.resizeTimeout) {\r\n clearTimeout(this.resizeTimeout);\r\n }\r\n this.resizeTimeout = setTimeout((() => {\r\n this.innerWidth = event.target.innerWidth;\r\n this.setMenuLayout();\r\n this.hideCompactMenuOnSmallScreen();\r\n }).bind(this), 500);\r\n }\r\n\r\n\r\n //Add/remove classes on page scroll\r\n @HostListener(\"window:scroll\", [])\r\n onWindowScroll() {\r\n let number = this.window.pageYOffset || this.document.documentElement.scrollTop || this.document.body.scrollTop || 0;\r\n if (number > 60) {\r\n this.renderer.addClass(this.document.body, \"navbar-scrolled\");\r\n } else {\r\n this.renderer.removeClass(this.document.body, \"navbar-scrolled\");\r\n }\r\n\r\n if (number > 400) {\r\n this.isScrollTopVisible = true;\r\n } else {\r\n this.isScrollTopVisible = false;\r\n }\r\n\r\n if (number > 20) {\r\n this.renderer.addClass(this.document.body, \"page-scrolled\");\r\n } else {\r\n this.renderer.removeClass(this.document.body, \"page-scrolled\");\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n","import {\r\n\ttrigger,\r\n\tanimate,\r\n\tstyle,\r\n\ttransition,\r\n\tstate\r\n} from '@angular/animations';\r\n\r\n\r\nexport const customAnimations = [\t \r\n trigger('slideInOut', [\r\n state('1', style({ height: '*' })),\r\n state('0', style({ height: '0px' })),\r\n transition('1 <=> 0', animate(200))\r\n ])\r\n]","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private authService: AuthService, private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n let isAuth = this.authService.isAuthenticated();\r\n if (!isAuth) {\r\n this.router.navigate(['/pages/login']);\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { AngularFireAuth } from \"@angular/fire/auth\";\r\nimport firebase from 'firebase/app'\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n private user: Observable;\r\n private userDetails: firebase.User = null;\r\n\r\n constructor(public _firebaseAuth: AngularFireAuth, public router: Router) {\r\n this.user = _firebaseAuth.authState;\r\n this.user.subscribe(\r\n (user) => {\r\n if (user) {\r\n this.userDetails = user;\r\n }\r\n else {\r\n this.userDetails = null;\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n signupUser(email: string, password: string) {\r\n //your code for signing up the new user\r\n }\r\n\r\n signinUser(email: string, password: string) {\r\n //your code for checking credentials and getting tokens for for signing in user\r\n // return this._firebaseAuth.signInWithEmailAndPassword(email, password)\r\n\r\n //uncomment above firebase auth code and remove this temp code\r\n return new Promise(function(resolve, reject) {\r\n setTimeout(function() {\r\n resolve(true);\r\n }, 1000);\r\n });\r\n\r\n }\r\n\r\n logout() {\r\n this._firebaseAuth.signOut();\r\n this.router.navigate(['YOUR_LOGOUT_URL']);\r\n }\r\n\r\n isAuthenticated() {\r\n return true;\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appAutocompleteContent]'\r\n})\r\nexport class AutocompleteContentDirective {\r\n constructor( public tpl: TemplateRef ) {\r\n }\r\n}\r\n","import { Component, ContentChild, ContentChildren, QueryList, TemplateRef, ViewChild } from '@angular/core';\r\nimport { AutocompleteContentDirective } from './autocomplete-content.directive';\r\nimport { OptionComponent } from './option/option.component';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { merge } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-autocomplete',\r\n template: `\r\n \r\n
\r\n \r\n
\r\n
\r\n `,\r\n exportAs: 'appAutocomplete',\r\n styleUrls: ['./autocomplete.component.css']\r\n})\r\nexport class AutocompleteComponent {\r\n @ViewChild('root') rootTemplate: TemplateRef;\r\n\r\n @ContentChild(AutocompleteContentDirective)\r\n content: AutocompleteContentDirective;\r\n\r\n @ContentChildren(OptionComponent) options: QueryList;\r\n\r\n optionsClick() {\r\n return this.options.changes.pipe(\r\n switchMap(options => {\r\n const clicks$ = options.map(option => option.click$);\r\n return merge(...clicks$);\r\n })\r\n );\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit, ViewContainerRef } from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { ConnectionPositionPair, Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { AutocompleteComponent } from './autocomplete.component';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport { NgControl } from '@angular/forms';\r\nimport { untilDestroyed } from 'ngx-take-until-destroy';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Directive({\r\n selector: '[appAutocomplete]'\r\n})\r\nexport class AutocompleteDirective implements OnInit {\r\n @Input() appAutocomplete: AutocompleteComponent;\r\n private overlayRef: OverlayRef;\r\n\r\n constructor(\r\n private host: ElementRef,\r\n private ngControl: NgControl,\r\n private vcr: ViewContainerRef,\r\n private overlay: Overlay,\r\n private router: Router,\r\n ) {\r\n }\r\n\r\n get control() {\r\n return this.ngControl.control;\r\n }\r\n\r\n ngOnInit() {\r\n fromEvent(this.origin, 'focus').pipe(\r\n untilDestroyed(this)\r\n ).subscribe(() => {\r\n this.openDropdown();\r\n\r\n this.appAutocomplete.optionsClick()\r\n .pipe(takeUntil(this.overlayRef.detachments()))\r\n .subscribe(( value: string ) => {\r\n this.control.setValue(value);\r\n this.close();\r\n });\r\n });\r\n\r\n this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((routeChange) => {\r\n this.close();\r\n });\r\n }\r\n\r\n openDropdown() {\r\n this.close();\r\n this.overlayRef = this.overlay.create({\r\n width: this.origin.offsetWidth,\r\n maxHeight: 40 * 3,\r\n backdropClass: '',\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n positionStrategy: this.getOverlayPosition()\r\n });\r\n\r\n const template = new TemplatePortal(this.appAutocomplete.rootTemplate, this.vcr);\r\n this.overlayRef.attach(template);\r\n\r\n overlayClickOutside(this.overlayRef, this.origin).subscribe(() => this.close());\r\n }\r\n\r\n ngOnDestroy() {}\r\n\r\n\r\n\r\n private close() {\r\n if(this.overlayRef) {\r\n this.overlayRef.detach();\r\n }\r\n\r\n this.overlayRef = null;\r\n }\r\n\r\n private getOverlayPosition() {\r\n const positions = [\r\n new ConnectionPositionPair(\r\n { originX: 'start', originY: 'bottom' },\r\n { overlayX: 'start', overlayY: 'top' }\r\n ),\r\n new ConnectionPositionPair(\r\n { originX: 'start', originY: 'top' },\r\n { overlayX: 'start', overlayY: 'bottom' }\r\n )\r\n ];\r\n\r\n return this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.origin)\r\n .withPositions(positions)\r\n .withFlexibleDimensions(false)\r\n .withPush(false);\r\n }\r\n\r\n get origin() {\r\n return this.host.nativeElement;\r\n }\r\n}\r\n\r\nexport function overlayClickOutside( overlayRef: OverlayRef, origin: HTMLElement ) {\r\n return fromEvent(document, 'click')\r\n .pipe(\r\n filter(event => {\r\n const clickTarget = event.target as HTMLElement;\r\n const notOrigin = clickTarget !== origin; // the input\r\n const notOverlay = !!overlayRef && (overlayRef.overlayElement.contains(clickTarget) === false); // the autocomplete\r\n return notOrigin && notOverlay;\r\n }),\r\n takeUntil(overlayRef.detachments())\r\n )\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AutocompleteComponent } from './autocomplete.component';\r\nimport { AutocompleteDirective } from './autocomplete.directive';\r\nimport { AutocompleteContentDirective } from './autocomplete-content.directive';\r\nimport { OptionComponent } from './option/option.component';\r\n\r\nconst publicApi = [\r\n AutocompleteComponent,\r\n AutocompleteDirective,\r\n AutocompleteContentDirective,\r\n OptionComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [publicApi],\r\n exports: [publicApi]\r\n})\r\nexport class AutocompleteModule {\r\n}\r\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { fromEvent, Observable } from 'rxjs';\r\nimport { mapTo } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-option',\r\n template: `\r\n
\r\n \r\n
\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styleUrls: ['./option.component.scss']\r\n})\r\nexport class OptionComponent implements OnInit {\r\n @Input() value: string;\r\n @Input() url: string;\r\n click$: Observable;\r\n\r\n constructor( private host: ElementRef ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.click$ = fromEvent(this.element, 'click').pipe(mapTo(this.value));\r\n }\r\n\r\n get element() {\r\n return this.host.nativeElement;\r\n }\r\n}\r\n","import { Component, ViewChild, OnInit, Output, Input, HostListener, EventEmitter, ElementRef } from '@angular/core';\r\nimport { Repository } from 'app/shared/services/repository'\r\nimport{ TYPEICON } from'app/shared/util/constants'\r\nimport Swal from 'sweetalert2'\r\nimport 'jquery'\r\nimport 'bootstrap'\r\n\r\n//import { Lists_cmmt } from '../../../routes/menu'\r\n\r\n@Component({\r\n selector: 'app-dm-danhmucchungedit',\r\n templateUrl: './danhmucchungedit.component.html',\r\n //templateUrl: 'ClientApp/routes/DanhMuc/data/data.component.html',\r\n styleUrls: ['./danhmucchungedit.component.scss'],\r\n providers: [ Repository]\r\n})\r\n\r\n\r\nexport class danhmucchungeditComponent implements OnInit {\r\n doanhnghiepid: string = null;\r\n\r\n\r\n quyen_them: boolean = false;\r\n quyen_sua: boolean = false;\r\n quyen_xoa: boolean = false;\r\n inputparents: any;\r\n inputnhomctmts: any;\r\n indLoading: boolean = false;\r\n doituongSelect: any = {\r\n Id: null, Ma_Doi_Tuong: null, Ten_Doi_Tuong: null\r\n , Ghi_Chu: null, Parent: null, Trang_Thai: null, Nhom_Doi_Tuong_ID: null, Ma_Ao: null\r\n , Doanh_Nghiep_Id: null\r\n };\r\n nhomdtid: string = null;\r\n hoatdong: string = null;\r\n public localFields: Object = { text: 'Ten_Doi_Tuong', value: 'Id' };\r\n\r\n\r\n @Output() save: EventEmitter = new EventEmitter();\r\n\r\n public ngxCurrencyOptions = {\r\n prefix: '',\r\n thousands: '.',\r\n decimal: ',',\r\n precision: 0,\r\n allowNegative: false\r\n };\r\n\r\n constructor( private repo: Repository) {\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n // @HostListener('document:keydown', ['$event'])\r\n // public handleKeyboardEvent(event: KeyboardEvent): void {\r\n\r\n // if(event.key===\"F9\")\r\n // {\r\n // this.saveproduct();\r\n // }\r\n // event.stopPropagation();\r\n\r\n // }\r\n\r\n comboSearchFn(term: string, item: any) {\r\n term = term.toLowerCase();\r\n return item.Ma_Doi_Tuong.toLowerCase().indexOf(term) > -1 || item.Ten_Doi_Tuong.toLowerCase().indexOf(term) > -1;\r\n }\r\n @ViewChild(\"mafocus\", { static: false }) mafocus: ElementRef;\r\n bnguonkinhphi: boolean = false;\r\n bnhomctmt: boolean = false;\r\n currentUser: any;\r\n tieudectmt: any;\r\n tieudectmtplace: any;\r\n\r\n loadDataInit(nhomdoituongid: string, id: string, donviid: string) {\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_tinhchatnguonkp.id.toLocaleLowerCase())\r\n // this.bnguonkinhphi = true;\r\n\r\n //if (nhomdoituongid.toLocaleLowerCase() === Lists_cmmt.id.toLocaleLowerCase())\r\n // this.bnhomctmt = true;\r\n\r\n //if (nhomdoituongid.toLocaleUpperCase() == \"5E79BF59-78D9-4C54-8EF7-0A242F5CBC24\")\r\n // this.hoatdong = \"Ngừng theo dõi\"\r\n //else\r\n\r\n this.tieudectmtplace = \"Ghi chú\";\r\n this.tieudectmt = \"Ghi chú\";\r\n\r\n this.hoatdong = \"Hoạt động\"\r\n\r\n var authlogin = localStorage.getItem('currentUser');\r\n if (authlogin) {\r\n\r\n this.currentUser = JSON.parse(authlogin);\r\n var giatri = this.currentUser.ds_quyen.filter(name => name.Id === nhomdoituongid.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n if (giatri[0].Them == true)\r\n this.quyen_them = true;\r\n else\r\n this.quyen_them = false;\r\n if (giatri[0].Sua == true)\r\n this.quyen_sua = true;\r\n else\r\n this.quyen_sua = false;\r\n if (giatri[0].Xoa == true)\r\n this.quyen_xoa = true;\r\n else\r\n this.quyen_xoa = false;\r\n }\r\n\r\n //this.doanhnghiepid = this.currentUser.id_doanh_nghiep;\r\n\r\n }\r\n\r\n this.nhomdtid = nhomdoituongid;\r\n setTimeout(() => {\r\n this.mafocus.nativeElement.focus();\r\n }, 500);\r\n this.repo.postRequest(\"api/doituong/getall/\", { DoanhNghiepId: this.doanhnghiepid, NhomDoiTuongId: nhomdoituongid, Id: id, DonViId: donviid })\r\n .subscribe(response => {\r\n this.inputparents = response;\r\n });\r\n\r\n\r\n this.doituongSelect = {\r\n Id: null, Ma_Doi_Tuong: null, Ten_Doi_Tuong: null\r\n , Ghi_Chu: null, Parent: null, Trang_Thai: null, Nhom_Doi_Tuong_ID: nhomdoituongid, Ma_Ao: null\r\n , Created: null, Modified: null, CreatedBy: null, ModifiedBy: null\r\n , Doanh_Nghiep_Id: this.doanhnghiepid\r\n };\r\n if (id === null) {\r\n this.repo.postRequest(\"api/doituong/SinhMaDoiTuong/\", { DonViId: donviid, NhomDoiTuongId: nhomdoituongid, DoanhNghiepId: this.doanhnghiepid })\r\n .subscribe(response => {\r\n this.doituongSelect.Ma_Doi_Tuong = response;\r\n });\r\n\r\n this.doituongSelect.Trang_Thai = true;\r\n this.doituongSelect.Nhom_Doi_Tuong_ID = nhomdoituongid;\r\n this.doituongSelect.Created = new Date();\r\n this.doituongSelect.CreatedBy = this.currentUser.user_name;\r\n this.doituongSelect.Modified = new Date();\r\n this.doituongSelect.ModifiedBy = this.currentUser.user_name;\r\n\r\n }\r\n else {\r\n console.log(\"t11\");\r\n this.repo.postRequest(\"api/doituong/getbyid/\", { Id: id, NhomDoiTuongId: nhomdoituongid, DoanhNghiepId: this.doanhnghiepid })\r\n .subscribe(response => {\r\n console.log(response);\r\n this.doituongSelect.Id = id;\r\n this.doituongSelect.Ma_Doi_Tuong = response.Ma_Doi_Tuong;\r\n this.doituongSelect.Ten_Doi_Tuong = response.Ten_Doi_Tuong;\r\n this.doituongSelect.Trang_Thai = response.Trang_Thai;\r\n this.doituongSelect.Ghi_Chu = response.Ghi_Chu;\r\n this.doituongSelect.Parent = response.Parent;\r\n this.doituongSelect.Ma_Ao = response.Ma_Ao;\r\n this.doituongSelect.Nhom_Doi_Tuong_ID = nhomdoituongid;\r\n this.doituongSelect.Created = response.Created;\r\n this.doituongSelect.CreatedBy = response.CreatedBy;\r\n this.doituongSelect.Modified = new Date();\r\n this.doituongSelect.ModifiedBy = this.currentUser.user_name;\r\n\r\n\r\n this.doituongSelect.SapXep = response.SapXep;\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n keyTenPress(event: any) {\r\n if (event.which === 13) {\r\n \r\n event.preventDefault();\r\n }\r\n }\r\n public closeModal() {\r\n this.save.emit(null);\r\n }\r\n public saveproduct() {\r\n if (this.doituongSelect.Ten_Doi_Tuong == null || this.doituongSelect.Ten_Doi_Tuong == \"\") {\r\n \r\n Swal.fire({\r\n title: 'Cảnh báo!',\r\n text: 'Vui lòng nhập tên đối tượng!.',\r\n icon: TYPEICON.WARNING,\r\n confirmButtonText: 'Đồng ý'\r\n });\r\n return;\r\n }\r\n this.repo.postRequest(\"api/doituong/addorupdate\", this.doituongSelect)\r\n .subscribe(response => {\r\n \r\n if (response != null && response.match('-')) {\r\n this.doituongSelect.Id = response;\r\n this.save.emit(this.doituongSelect);\r\n }\r\n else {\r\n Swal.fire({\r\n title: 'Cảnh báo!',\r\n text: response,\r\n icon: TYPEICON.WARNING,\r\n confirmButtonText: 'Đồng ý'\r\n });\r\n \r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2\r\n} from \"@angular/core\";\r\nimport { ConfigService } from \"../services/config.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { CustomizerService } from '../services/customizer.service';\r\n\r\n@Component({\r\n selector: \"app-customizer\",\r\n templateUrl: \"./customizer.component.html\",\r\n styleUrls: [\"./customizer.component.scss\"]\r\n})\r\nexport class CustomizerComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"customizer\") customizer: ElementRef;\r\n\r\n size: string;\r\n isBgImageDisplay: boolean = true;\r\n isOpen = true;\r\n public config: any = {};\r\n layoutSub: Subscription;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private configService: ConfigService,\r\n public customizerService: CustomizerService,\r\n ) {\r\n\r\n this.config = this.configService.templateConf;\r\n this.isOpen = !this.config.layout.customizer.hidden;\r\n\r\n if (this.config.layout.sidebar.size) {\r\n this.size = this.config.layout.sidebar.size;\r\n }\r\n }\r\n\r\n @Output() directionEvent = new EventEmitter();\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n\r\n changeSidebarWidth(value) {\r\n this.size = value;\r\n this.customizerService.changeSidebarWidth(value);\r\n }\r\n\r\n toggleCustomizer() {\r\n if (this.isOpen) {\r\n this.renderer.removeClass(this.customizer.nativeElement, \"open\");\r\n this.isOpen = false;\r\n } else {\r\n this.renderer.addClass(this.customizer.nativeElement, \"open\");\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n closeCustomizer() {\r\n this.renderer.removeClass(this.customizer.nativeElement, \"open\");\r\n this.isOpen = false;\r\n }\r\n\r\n bgImageDisplay(e) {\r\n if (e.target.checked) {\r\n this.isBgImageDisplay = true;\r\n } else {\r\n this.isBgImageDisplay = false;\r\n }\r\n //emit event to FUll Layout\r\n this.customizerService.bgImageDisplay(e);\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n if (this.layoutSub) {\r\n this.layoutSub.unsubscribe();\r\n }\r\n }\r\n\r\n\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n

Theme Customizer

\r\n

Customize & Preview in Real Time

\r\n \r\n
\r\n
\r\n
Layout Options\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
Navigation\r\n Options
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Navbar\r\n Type
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Sidebar\r\n Color Options
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Background Colors\r\n with Shades
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
Sidebar Bg\r\n Image
\r\n
\r\n
\r\n \"sidebar\r\n
\r\n
\r\n \r\n
\r\n
Background Colors
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
Sidebar Bg Image\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
Compact Menu\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n

Sidebar Width

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","\r\n export const LISTITEMS: any[] = [\r\n {\"url\":\"/page\", \"name\":\"Page\", \"icon\":\"ft-home\"},\r\n {\"url\":\"/pages/login\", \"name\":\"Login\", \"icon\":\"ft-log-in\"},\r\n ]\r\n\r\n","import { Directive, HostListener, Inject } from '@angular/core';\r\n\r\nimport { SidebarLinkDirective } from \"./sidebar-link.directive\";\r\n\r\n@Directive({\r\n selector: \"[appSidebarAnchorToggle]\"\r\n})\r\nexport class SidebarAnchorToggleDirective {\r\n protected navlink: SidebarLinkDirective;\r\n\r\n constructor(\r\n @Inject(SidebarLinkDirective) navlink: SidebarLinkDirective\r\n ) {\r\n this.navlink = navlink;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n onClick() {\r\n this.navlink.toggle();\r\n }\r\n}\r\n","import { Directive, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { SidebarLinkDirective } from './sidebar-link.directive';\r\n\r\n@Directive({\r\n selector: '[appSidebarDropdown]'\r\n})\r\nexport class SidebarDropdownDirective implements OnInit {\r\n protected navlinks: Array = [];\r\n\r\n public ngOnInit(): any {\r\n //write your code here!\r\n }\r\n\r\n constructor( private router: Router) {\r\n }\r\n\r\n}\r\n","import {\r\n Directive, HostBinding, Inject, Input, OnInit, OnDestroy, Output, EventEmitter, AfterViewInit\r\n} from '@angular/core';\r\nimport { SidebarDirective } from \"./sidebar.directive\";\r\n\r\n@Directive({\r\n selector: \"[appSidebarlink]\"\r\n})\r\nexport class SidebarLinkDirective implements OnInit, OnDestroy {\r\n\r\n @Input()\r\n public parent: string;\r\n\r\n @Input()\r\n public level: number;\r\n\r\n @Input()\r\n public hasSub: boolean;\r\n\r\n @Input()\r\n public path: string;\r\n\r\n @HostBinding('class.open')\r\n @Input()\r\n get open(): boolean {\r\n return this._open;\r\n }\r\n set open(value: boolean) {\r\n this._open = value;\r\n }\r\n\r\n @HostBinding('class.sidebar-group-active')\r\n @Input()\r\n get sidebarGroupActive(): boolean {\r\n return this._sidebarGroupActive;\r\n }\r\n set sidebarGroupActive(value: boolean) {\r\n this._sidebarGroupActive = value;\r\n }\r\n\r\n @HostBinding('class.nav-collapsed-open')\r\n @Input()\r\n get navCollapsedOpen(): boolean {\r\n return this._navCollapsedOpen;\r\n }\r\n set navCollapsedOpen(value: boolean) {\r\n this._navCollapsedOpen = value;\r\n }\r\n\r\n protected _open: boolean;\r\n protected _sidebarGroupActive: boolean;\r\n protected _navCollapsedOpen: boolean;\r\n\r\n protected sideNav: SidebarDirective;\r\n\r\n public constructor(\r\n @Inject(SidebarDirective) sideNav: SidebarDirective) {\r\n this.sideNav = sideNav;\r\n }\r\n\r\n public ngOnInit(): any {\r\n this.sideNav.addLink(this);\r\n }\r\n\r\n public ngOnDestroy(): any {\r\n }\r\n\r\n //when side menu (vertical menu) item gets clicked\r\n public toggle(): any {\r\n this.open = !this.open;\r\n if(this.open) {\r\n this.sideNav.closeOtherLinks(this);\r\n }\r\n if (!this.open && this.level.toString() === \"1\" && this.hasSub) {\r\n this.sidebarGroupActive = false;\r\n }\r\n }\r\n}\r\n","import { Directive, HostListener, ChangeDetectorRef, OnInit, OnDestroy, HostBinding, Input, AfterViewInit } from '@angular/core';\r\nimport { SidebarLinkDirective } from './sidebar-link.directive';\r\nimport { Subscription } from 'rxjs';\r\nimport { ConfigService } from '../services/config.service';\r\nimport { LayoutService } from '../services/layout.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Directive({ selector: '[appSidebar]' })\r\nexport class SidebarDirective implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @HostBinding(\"class.expanded\")\r\n @Input()\r\n get navExpanded(): boolean {\r\n return this._navExpanded;\r\n }\r\n set navExpanded(value: boolean) {\r\n this._navExpanded = value;\r\n }\r\n\r\n protected navlinks: Array = [];\r\n layoutSub: Subscription;\r\n public config: any = {};\r\n mouseEnter = false;\r\n sidebarExpanded = true;\r\n protected _navExpanded: boolean;\r\n protected innerWidth: any;\r\n\r\n constructor(private cdr: ChangeDetectorRef, private router: Router, private configService: ConfigService, private layoutService: LayoutService) {\r\n this.config = this.configService.templateConf;\r\n this.sidebarExpanded = !this.config.layout.sidebar.collapsed;\r\n }\r\n\r\n ngOnInit() {\r\n this.innerWidth = window.innerWidth;\r\n this.layoutSub = this.configService.templateConf$.subscribe((templateConf) => {\r\n if (templateConf) {\r\n this.config = templateConf;\r\n }\r\n this.loadLayout();\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.layoutSub) {\r\n this.layoutSub.unsubscribe();\r\n }\r\n }\r\n\r\n //load layout when changes in the config\r\n loadLayout() {\r\n this.sidebarExpanded = !this.config.layout.sidebar.collapsed;\r\n if (this.config.layout.sidebar.collapsed && !this.mouseEnter) {\r\n this.setSidebarGroupActiveCollapsed();\r\n this.navExpanded = false;\r\n }\r\n else {\r\n this.setSidebarGroupActive();\r\n this.navExpanded = true;\r\n }\r\n }\r\n\r\n //add menu links to the link list\r\n public addLink(link: SidebarLinkDirective): void {\r\n this.navlinks.push(link);\r\n }\r\n\r\n //close all other menu items other than active one\r\n public closeOtherLinks(openLink: SidebarLinkDirective): void {\r\n this.navlinks.forEach((link: SidebarLinkDirective) => {\r\n if (link != openLink && (openLink.level.toString() === \"1\" || link.level === openLink.level)) {\r\n link.open = false;\r\n link.sidebarGroupActive = false;\r\n }\r\n else if (link === openLink && (openLink.level.toString() === \"1\") && link.hasSub === true) {\r\n link.sidebarGroupActive = true;\r\n }\r\n else if (link === openLink && (openLink.level.toString() === \"1\") && link.hasSub === false) {\r\n link.sidebarGroupActive = false;\r\n link.open = false;\r\n }\r\n else if (link === openLink && openLink.level.toString() != \"1\" && link.hasSub === false) {\r\n link.open = false;\r\n link.sidebarGroupActive = false;\r\n return;\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n // call when sidebar toggle is collapsed but still in expand mode on mouse hover\r\n public setSidebarGroupActive(): void {\r\n if (this.navlinks.length > 0) {\r\n this.navlinks.forEach((link: SidebarLinkDirective) => {\r\n link.sidebarGroupActive = false;\r\n link.navCollapsedOpen = false;\r\n });\r\n let matched = this.navlinks.find(link => link.path === this.router.url);\r\n if (matched) {\r\n let parent = this.navlinks.find(link => link.parent === matched.parent && link.level.toString() === \"1\" && link.hasSub === true);\r\n if (parent) {\r\n parent.sidebarGroupActive = true;\r\n parent.navCollapsedOpen = false;\r\n parent.open = true;\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n // call when sidebar toggle is collapsed and is in collapse mode on mouse out\r\n public setSidebarGroupActiveCollapsed(): void {\r\n this.closeOtherLinks(this.navlinks.find(link => link.path === this.router.url));\r\n if (this.navlinks.length > 0) {\r\n this.navlinks.forEach((link: SidebarLinkDirective) => {\r\n link.sidebarGroupActive = false;\r\n link.navCollapsedOpen = false;\r\n });\r\n let matched = this.navlinks.find(link => link.path === this.router.url);\r\n if (matched) {\r\n let parent = this.navlinks.find(link => link.parent === matched.parent && link.level.toString() === \"1\" && link.hasSub === true);\r\n if (parent) {\r\n parent.sidebarGroupActive = true;\r\n parent.navCollapsedOpen = true;\r\n parent.open = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // mouse enter event of side menu\r\n @HostListener(\"mouseenter\", [\"$event\"])\r\n onMouseOver(e: any) {\r\n this.mouseEnter = true;\r\n if (this.config.layout.sidebar.collapsed) {\r\n this.setSidebarGroupActive();\r\n this.navExpanded = true;\r\n }\r\n }\r\n\r\n // mouse leave event of side menu\r\n @HostListener(\"mouseleave\", [\"$event\"])\r\n onMouseOut(e: any) {\r\n this.mouseEnter = false;\r\n if (this.config.layout.sidebar.collapsed) {\r\n this.setSidebarGroupActiveCollapsed();\r\n this.navExpanded = false;\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\n\r\nimport * as screenfull from 'screenfull';\r\n\r\n@Directive({\r\n selector: '[appToggleFullscreen]'\r\n})\r\nexport class ToggleFullscreenDirective {\r\n\r\n @HostListener('click') onClick() {\r\n if (screenfull.isEnabled) {\r\n screenfull.toggle();\r\n }\r\n }\r\n}\r\n","import { Directive, HostListener, Inject } from '@angular/core';\r\n\r\nimport { TopMenuLinkDirective } from \"./topmenu-link.directive\";\r\n\r\n@Directive({\r\n selector: \"[appTopMenuAnchorToggle]\"\r\n})\r\nexport class TopMenuAnchorToggleDirective {\r\n protected navlink: TopMenuLinkDirective;\r\n\r\n constructor(\r\n @Inject(TopMenuLinkDirective) navlink: TopMenuLinkDirective\r\n ) {\r\n this.navlink = navlink;\r\n }\r\n\r\n // @HostListener(\"click\", [\"$event\"])\r\n // onClick() {\r\n // this.navlink.toggle();\r\n // }\r\n\r\n @HostListener(\"mouseenter\", [\"$event\"])\r\n onMouseOver(e: any) {\r\n this.navlink.openDropdown();\r\n\r\n }\r\n\r\n // @HostListener(\"mouseleave\", [\"$event\"])\r\n // onMouseOut(e: any) {\r\n // this.navlink.toggle();\r\n // }\r\n\r\n}\r\n","import { Directive, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { TopMenuLinkDirective } from './topmenu-link.directive';\r\n\r\n@Directive({\r\n selector: '[appTopMenuDropdown]'\r\n})\r\nexport class TopMenuDropdownDirective implements OnInit {\r\n protected navlinks: Array = [];\r\n\r\n public ngOnInit(): any {\r\n //write your code here!\r\n }\r\n\r\n constructor( private router: Router) {\r\n }\r\n\r\n\r\n}\r\n","import {\r\n Directive, HostBinding, Inject, Input, OnInit, OnDestroy, Output, EventEmitter\r\n} from '@angular/core';\r\n\r\nimport { TopMenuDirective } from \"./topmenu.directive\";\r\n\r\n\r\n@Directive({\r\n selector: \"[appTopMenulink]\"\r\n})\r\nexport class TopMenuLinkDirective implements OnInit, OnDestroy {\r\n\r\n @Input()\r\n public parent: string;\r\n\r\n @Input()\r\n public level: number;\r\n\r\n @HostBinding('class.show')\r\n @Input()\r\n get show(): boolean {\r\n return this._show;\r\n }\r\n set show(value: boolean) {\r\n this._show = value;\r\n if (value) {\r\n this.topNav.closeOtherLinks(this);\r\n }\r\n }\r\n\r\n protected _show: boolean;\r\n\r\n protected topNav: TopMenuDirective;\r\n\r\n public constructor(\r\n @Inject(TopMenuDirective) topNav: TopMenuDirective) {\r\n this.topNav = topNav;\r\n }\r\n\r\n public ngOnInit(): any {\r\n this.topNav.addLink(this);\r\n }\r\n\r\n public ngOnDestroy(): any {\r\n }\r\n\r\n // public toggle(): any {\r\n // this.show = !this.show;\r\n // }\r\n\r\n public openDropdown(): any {\r\n this.show = true;\r\n }\r\n\r\n\r\n}\r\n","import { Directive, HostListener, ChangeDetectorRef, OnInit, OnDestroy, HostBinding, Input } from '@angular/core';\r\nimport { TopMenuLinkDirective } from './topmenu-link.directive';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({ selector: '[appTopMenu]' })\r\nexport class TopMenuDirective implements OnInit {\r\n\r\n protected navlinks: Array = [];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public addLink(link: TopMenuLinkDirective): void {\r\n this.navlinks.push(link);\r\n }\r\n\r\n public closeOtherLinks(openLink: TopMenuLinkDirective): void {\r\n this.navlinks.forEach((link: TopMenuLinkDirective) => {\r\n if (link != openLink && (openLink.level.toString() === \"1\" || link.level === openLink.level)) {\r\n link.show = false;\r\n }\r\n });\r\n }\r\n\r\n @HostListener(\"mouseleave\", [\"$event\"])\r\n onMouseOut(e: any) {\r\n this.navlinks.forEach((link: TopMenuLinkDirective) => {\r\n link.show = false;\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Component, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\n\r\nexport class FooterComponent{\r\n //Variables\r\n currentDate : Date = new Date();\r\n}\r\n","\r\n
\r\n

\r\n Copyright © {{currentDate | date: 'yyyy'}} TANPHAT\r\n , All rights reserved.\r\n

\r\n
\r\n\r\n","import { Component, OnInit, ChangeDetectorRef, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { HROUTES } from './navigation-routes.config';\r\nimport { LayoutService } from '../services/layout.service';\r\nimport { ConfigService } from '../services/config.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\n\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})\r\nexport class HorizontalMenuComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n public menuItems: any[];\r\n public config: any = {};\r\n level: number = 0;\r\n transparentBGClass = \"\";\r\n menuPosition = 'Side';\r\n\r\n layoutSub: Subscription;\r\n\r\n constructor(private layoutService: LayoutService,\r\n private configService: ConfigService,\r\n private cdr: ChangeDetectorRef,\r\n private router: Router) {\r\n this.config = this.configService.templateConf;\r\n }\r\n\r\n ngOnInit() {\r\n this.menuItems = HROUTES;\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.layoutSub = this.configService.templateConf$.subscribe((templateConf) => {\r\n if (templateConf) {\r\n this.config = templateConf;\r\n }\r\n this.loadLayout();\r\n this.cdr.markForCheck();\r\n\r\n })\r\n }\r\n\r\n loadLayout() {\r\n\r\n if (this.config.layout.menuPosition && this.config.layout.menuPosition.toString().trim() != \"\") {\r\n this.menuPosition = this.config.layout.menuPosition;\r\n }\r\n\r\n\r\n if (this.config.layout.variant === \"Transparent\") {\r\n this.transparentBGClass = this.config.layout.sidebar.backgroundColor;\r\n }\r\n else {\r\n this.transparentBGClass = \"\";\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.layoutSub) {\r\n this.layoutSub.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n\r\n","import { RouteInfo } from '../vertical-menu/vertical-menu.metadata';\r\n\r\nexport const HROUTES: RouteInfo[] = [\r\n {\r\n id:'',path: '/page', title: 'Page', icon: 'ft-home', class: 'dropdown nav-item', isExternalLink: false, submenu: []\r\n },\r\n {\r\n id:'',path: '', title: 'Menu Levels', icon: 'ft-align-left', class: 'dropdown nav-item has-sub', badge: '', badgeClass: '', isExternalLink: false,\r\n submenu: [\r\n { id:'',path: '/YOUR-ROUTE-PATH', title: 'Second Level', icon: 'ft-arrow-right submenu-icon', class: 'dropdown-item', badge: '', badgeClass: '', isExternalLink: false, submenu: [] },\r\n {\r\n id:'',path: '', title: 'Second Level Child', icon: 'ft-arrow-right submenu-icon', class: 'has-sub', badge: '', badgeClass: '', isExternalLink: false,\r\n submenu: [\r\n { id:'',path: '/YOUR-ROUTE-PATH', title: 'Third Level 1.1', icon: 'ft-arrow-right submenu-icon', class: 'dropdown-item', badge: '', badgeClass: '', isExternalLink: false, submenu: [] },\r\n { id:'',path: '/YOUR-ROUTE-PATH', title: 'Third Level 1.2', icon: 'ft-arrow-right submenu-icon', class: 'dropdown-item', badge: '', badgeClass: '', isExternalLink: false, submenu: [] },\r\n ]\r\n },\r\n ]\r\n},\r\n];\r\n","import { Component, Output, EventEmitter, OnDestroy, OnInit, AfterViewInit, ChangeDetectorRef, Inject, Renderer2, ViewChild, ElementRef, ViewChildren, QueryList, HostListener } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LayoutService } from '../services/layout.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ConfigService } from '../services/config.service';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { CustomizerService } from '../services/customizer.service';\r\nimport { UntypedFormControl } from '@angular/forms';\r\nimport { LISTITEMS } from '../data/template-search';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: \"app-navbar\",\r\n templateUrl: \"./navbar.component.html\",\r\n styleUrls: [\"./navbar.component.scss\"]\r\n})\r\nexport class NavbarComponent implements OnInit, AfterViewInit, OnDestroy {\r\n currentLang = \"en\";\r\n selectedLanguageText = \"English\";\r\n selectedLanguageFlag = \"./assets/img/flags/us.png\";\r\n toggleClass = \"ft-maximize\";\r\n placement = \"bottom-right\";\r\n logoUrl = 'assets/img/logo.png';\r\n menuPosition = 'Side';\r\n isSmallScreen = false;\r\n protected innerWidth: any;\r\n searchOpenClass = \"\";\r\n transparentBGClass = \"\";\r\n hideSidebar: boolean = true;\r\n public isCollapsed = true;\r\n layoutSub: Subscription;\r\n configSub: Subscription;\r\n\r\n @ViewChild('search') searchElement: ElementRef;\r\n @ViewChildren('searchResults') searchResults: QueryList;\r\n\r\n @Output()\r\n toggleHideSidebar = new EventEmitter();\r\n\r\n @Output()\r\n seachTextEmpty = new EventEmitter();\r\n\r\n listItems = [];\r\n control = new UntypedFormControl();\r\n username:any=null;\r\n\r\n public config: any = {};\r\n\r\n constructor(public translate: TranslateService,\r\n private layoutService: LayoutService,\r\n private router: Router,\r\n private configService: ConfigService, private cdr: ChangeDetectorRef) {\r\n\r\n const browserLang: string = translate.getBrowserLang();\r\n translate.use(browserLang.match(/en|es|pt|de/) ? browserLang : \"en\");\r\n this.config = this.configService.templateConf;\r\n this.innerWidth = window.innerWidth;\r\n\r\n this.layoutSub = layoutService.toggleSidebar$.subscribe(\r\n isShow => {\r\n this.hideSidebar = !isShow;\r\n });\r\n var currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n this.username= currentUser.user_name;\r\n }\r\n\r\n ngOnInit() {\r\n this.listItems = LISTITEMS;\r\n\r\n if (this.innerWidth < 1200) {\r\n this.isSmallScreen = true;\r\n }\r\n else {\r\n this.isSmallScreen = false;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.configSub = this.configService.templateConf$.subscribe((templateConf) => {\r\n if (templateConf) {\r\n this.config = templateConf;\r\n }\r\n this.loadLayout();\r\n this.cdr.markForCheck();\r\n\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.layoutSub) {\r\n this.layoutSub.unsubscribe();\r\n }\r\n if (this.configSub) {\r\n this.configSub.unsubscribe();\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.innerWidth = event.target.innerWidth;\r\n if (this.innerWidth < 1200) {\r\n this.isSmallScreen = true;\r\n }\r\n else {\r\n this.isSmallScreen = false;\r\n }\r\n }\r\n\r\n loadLayout() {\r\n\r\n if (this.config.layout.menuPosition && this.config.layout.menuPosition.toString().trim() != \"\") {\r\n this.menuPosition = this.config.layout.menuPosition;\r\n }\r\n\r\n if (this.config.layout.variant === \"Light\") {\r\n this.logoUrl = 'assets/img/logo-dark.png';\r\n }\r\n else {\r\n this.logoUrl = 'assets/img/logo.png';\r\n }\r\n\r\n if (this.config.layout.variant === \"Transparent\") {\r\n this.transparentBGClass = this.config.layout.sidebar.backgroundColor;\r\n }\r\n else {\r\n this.transparentBGClass = \"\";\r\n }\r\n\r\n }\r\n\r\n onSearchKey(event: any) {\r\n if (this.searchResults && this.searchResults.length > 0) {\r\n this.searchResults.first.host.nativeElement.classList.add('first-active-item');\r\n }\r\n\r\n if (event.target.value === \"\") {\r\n this.seachTextEmpty.emit(true);\r\n }\r\n else {\r\n this.seachTextEmpty.emit(false);\r\n }\r\n }\r\n\r\n removeActiveClass() {\r\n if (this.searchResults && this.searchResults.length > 0) {\r\n this.searchResults.first.host.nativeElement.classList.remove('first-active-item');\r\n }\r\n }\r\n\r\n onEscEvent() {\r\n this.control.setValue(\"\");\r\n this.searchOpenClass = '';\r\n this.seachTextEmpty.emit(true);\r\n }\r\n\r\n onEnter() {\r\n if (this.searchResults && this.searchResults.length > 0) {\r\n let url = this.searchResults.first.url;\r\n if (url && url != '') {\r\n this.control.setValue(\"\");\r\n this.searchOpenClass = '';\r\n this.router.navigate([url]);\r\n this.seachTextEmpty.emit(true);\r\n }\r\n }\r\n }\r\n\r\n redirectTo(value) {\r\n this.router.navigate([value]);\r\n this.seachTextEmpty.emit(true);\r\n }\r\n\r\n\r\n ChangeLanguage(language: string) {\r\n this.translate.use(language);\r\n\r\n if (language === 'en') {\r\n this.selectedLanguageText = \"English\";\r\n this.selectedLanguageFlag = \"./assets/img/flags/us.png\";\r\n }\r\n else if (language === 'es') {\r\n this.selectedLanguageText = \"Spanish\";\r\n this.selectedLanguageFlag = \"./assets/img/flags/es.png\";\r\n }\r\n else if (language === 'pt') {\r\n this.selectedLanguageText = \"Portuguese\";\r\n this.selectedLanguageFlag = \"./assets/img/flags/pt.png\";\r\n }\r\n else if (language === 'de') {\r\n this.selectedLanguageText = \"German\";\r\n this.selectedLanguageFlag = \"./assets/img/flags/de.png\";\r\n }\r\n }\r\n\r\n ToggleClass() {\r\n if (this.toggleClass === \"ft-maximize\") {\r\n this.toggleClass = \"ft-minimize\";\r\n } else {\r\n this.toggleClass = \"ft-maximize\";\r\n }\r\n }\r\n\r\n toggleSearchOpenClass(display) {\r\n this.control.setValue(\"\");\r\n if (display) {\r\n this.searchOpenClass = 'open';\r\n setTimeout(() => {\r\n this.searchElement.nativeElement.focus();\r\n }, 0);\r\n }\r\n else {\r\n this.searchOpenClass = '';\r\n }\r\n this.seachTextEmpty.emit(true);\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n toggleNotificationSidebar() {\r\n this.layoutService.toggleNotificationSidebar(true);\r\n }\r\n\r\n toggleSidebar() {\r\n this.layoutService.toggleSidebarSmallScreen(this.hideSidebar);\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, ElementRef, Renderer2, OnDestroy } from '@angular/core';\r\nimport { LayoutService } from '../services/layout.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-notification-sidebar',\r\n templateUrl: './notification-sidebar.component.html',\r\n styleUrls: ['./notification-sidebar.component.scss']\r\n})\r\nexport class NotificationSidebarComponent implements OnInit, OnDestroy {\r\n\r\n layoutSub: Subscription;\r\n isOpen = false;\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n constructor(private layoutService: LayoutService) {\r\n\r\n this.layoutSub = layoutService.toggleNotiSidebar$.subscribe(\r\n open => {\r\n this.isOpen = open;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.layoutSub) {\r\n this.layoutSub.unsubscribe();\r\n }\r\n }\r\n\r\n onClose() {\r\n this.layoutService.toggleNotificationSidebar(false);\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], searchTerm: string, labelKey?: string): any {\r\n if (!items || !searchTerm) {\r\n return null;\r\n }\r\n\r\n return items.filter(\r\n item =>\r\n item[labelKey || 'name']\r\n .toLowerCase()\r\n .includes(searchTerm.toLowerCase()) === true\r\n ).slice(0,10);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\nimport { FilterPipe } from './filter.pipe';\r\nimport { SearchPipe } from './search.pipe';\r\nimport { ShortNamePipe } from './short-name.pipe';\r\n\r\n@NgModule({\r\n declarations:[FilterPipe, SearchPipe, ShortNamePipe],\r\n imports:[CommonModule],\r\n exports:[FilterPipe, SearchPipe, ShortNamePipe]\r\n})\r\n\r\nexport class PipeModule{}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n public transform(value, keys: string, term: string) {\r\n\r\n if (!term) return value;\r\n return (value || []).filter((item) => keys.split(',').some(key => item.hasOwnProperty(key) && new RegExp(term, 'gi').test(item[key])));\r\n\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'shortName'\r\n})\r\nexport class ShortNamePipe implements PipeTransform {\r\n transform(fullName: string): any {\r\n return fullName\r\n .split(' ')\r\n .map((n) => n[0])\r\n .join('');\r\n }\r\n}\r\n","import { Routes, RouterModule } from '@angular/router';\r\n\r\n//Route for content layout without sidebar, navbar and footer for pages like Login, Registration etc...\r\n\r\nexport const CONTENT_ROUTES: Routes = [\r\n {\r\n path: 'pages',\r\n loadChildren: () => import('../../pages/content-pages/content-pages.module').then(m => m.ContentPagesModule)\r\n },\r\n \r\n];\r\n","import { Routes, RouterModule } from '@angular/router';\r\n\r\n//Route for content layout with sidebar, navbar and footer.\r\n\r\nexport const Full_ROUTES: Routes = [\r\n {\r\n path: 'page',\r\n loadChildren: () => import('../../page/page.module').then(m => m.PageModule)\r\n },\r\n {\r\n path: 'danh-muc',\r\n loadChildren: () => import('../../danhmuc/dm-pages.module').then(m => m.DmPagesModule)\r\n },\r\n {\r\n path: 'he-thong',\r\n loadChildren: () => import('../../hethong/ht-pages.module').then(m => m.HtPagesModule)\r\n },\r\n {\r\n path: 'chuc-nang',\r\n loadChildren: () => import('../../chucnang/hs-pages.module').then(m => m.HsPagesModule)\r\n }\r\n];\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\nexport interface ITemplateConfig\r\n{\r\n layout: {\r\n variant: string; // options: Dark, Light & Transparent\r\n menuPosition: string; // options: Side, Top (Note: Use 'Side' for Vertical Menu & 'Top' for Horizontal Menu )\r\n customizer: {\r\n hidden: boolean; // options: true, false\r\n };\r\n navbar: {\r\n type: string; // options: Static & Fixed\r\n }\r\n sidebar: { //Options for Vertical Side menu\r\n collapsed: boolean; // options: true, false\r\n size: string; // Options: 'sidebar-lg', 'sidebar-md', 'sidebar-sm'\r\n backgroundColor: string; // Options: 'black', 'pomegranate', 'king-yna', 'ibiza-sunset', 'flickr', 'purple-bliss', 'man-of-steel', 'purple-love'\r\n\r\n /* If you want transparent layout add any of the following mentioned classes to backgroundColor of sidebar option :\r\n bg-glass-1, bg-glass-2, bg-glass-3, bg-glass-4, bg-hibiscus, bg-purple-pizzaz, bg-blue-lagoon, bg-electric-viloet, bg-protage, bg-tundora\r\n */\r\n backgroundImage: boolean; // Options: true, false | Set true to show background image\r\n backgroundImageURL: string;\r\n }\r\n };\r\n}\r\n\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ConfigService {\r\n public templateConf: ITemplateConfig = this.setConfigValue();\r\n templateConfSubject = new BehaviorSubject(this.templateConf);\r\n templateConf$ = this.templateConfSubject.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n // Default configurations for Light layout. Please check *customizer.service.ts* for different colors and bg images options\r\n\r\n setConfigValue() {\r\n return this.templateConf = {\r\n layout: {\r\n variant: \"Light\",\r\n menuPosition: \"Side\",\r\n customizer: {\r\n hidden: true\r\n },\r\n navbar: {\r\n type: 'Static'\r\n },\r\n sidebar: {\r\n collapsed: true,\r\n size: \"sidebar-md\",\r\n backgroundColor: \"man-of-steel\",\r\n backgroundImage: true,\r\n backgroundImageURL: \"assets/img/sidebar-bg/01.jpg\"\r\n }\r\n }\r\n };\r\n }\r\n\r\n // Default configurations for Dark layout. Please check *customizer.service.ts* for different colors and bg images options\r\n\r\n // setConfigValue() {\r\n // return this.templateConf = {\r\n // layout: {\r\n // variant: \"Dark\",\r\n // menuPosition: \"Side\",\r\n // customizer: {\r\n // hidden: true\r\n // },\r\n // navbar: {\r\n // type: 'Static'\r\n // },\r\n // sidebar: {\r\n // collapsed: false,\r\n // size: \"sidebar-md\",\r\n // backgroundColor: \"black\",\r\n // backgroundImage: true,\r\n // backgroundImageURL: \"assets/img/sidebar-bg/01.jpg\"\r\n // }\r\n // }\r\n // };\r\n // }\r\n\r\n // Default configurations for Transparent layout. Please check *customizer.service.ts* for different colors and bg images options\r\n\r\n // setConfigValue() {\r\n // return this.templateConf = {\r\n // layout: {\r\n // variant: \"Transparent\",\r\n // menuPosition: \"Side\",\r\n // customizer: {\r\n // hidden: true\r\n // },\r\n // navbar: {\r\n // type: 'Static'\r\n // },\r\n // sidebar: {\r\n // collapsed: false,\r\n // size: \"sidebar-md\",\r\n // backgroundColor: \"bg-glass-1\",\r\n // backgroundImage: true,\r\n // backgroundImageURL: \"\"\r\n // }\r\n // }\r\n // };\r\n // }\r\n\r\n\r\n applyTemplateConfigChange(tempConfig: ITemplateConfig) {\r\n this.templateConf = Object.assign(this.templateConf, tempConfig);\r\n this.templateConfSubject.next(this.templateConf);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ConfigService } from './config.service';\r\nimport { _ } from 'core-js';\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CustomizerService {\r\n\r\n // sidebar BG colors for Light & Dark Layout\r\n light_dark_colors = [\r\n {\r\n code: \"mint\",\r\n class: \"gradient-mint\",\r\n active: false,\r\n type: 'gradient'\r\n },\r\n {\r\n code: \"king-yna\",\r\n class: \"gradient-king-yna\",\r\n active: false,\r\n type: 'gradient'\r\n },\r\n {\r\n code: \"ibiza-sunset\",\r\n class: \"gradient-ibiza-sunset\",\r\n active: false,\r\n type: 'gradient'\r\n },\r\n {\r\n code: \"flickr\",\r\n class: \"gradient-flickr\",\r\n active: false,\r\n type: 'gradient'\r\n },\r\n {\r\n code: \"purple-bliss\",\r\n class: \"gradient-purple-bliss\",\r\n active: false,\r\n type: 'gradient'\r\n },\r\n {\r\n code: \"man-of-steel\",\r\n class: \"gradient-man-of-steel\",\r\n active: false,\r\n type: 'gradient'\r\n },\r\n {\r\n code: \"purple-love\",\r\n class: \"gradient-purple-love\",\r\n active: false,\r\n type: 'gradient'\r\n },\r\n {\r\n code: \"black\",\r\n class: \"bg-black\",\r\n active: false,\r\n type: 'solid'\r\n },\r\n {\r\n code: \"white\",\r\n class: \"bg-grey\",\r\n active: false,\r\n type: 'solid'\r\n },\r\n {\r\n code: \"primary\",\r\n class: \"bg-primary\",\r\n active: false,\r\n type: 'solid'\r\n },\r\n {\r\n code: \"success\",\r\n class: \"bg-success\",\r\n active: false,\r\n type: 'solid'\r\n },\r\n {\r\n code: \"warning\",\r\n class: \"bg-warning\",\r\n active: false,\r\n type: 'solid'\r\n },\r\n {\r\n code: \"info\",\r\n class: \"bg-info\",\r\n active: false,\r\n type: 'solid'\r\n },\r\n {\r\n code: \"danger\",\r\n class: \"bg-danger\",\r\n active: false,\r\n type: 'solid'\r\n }\r\n ];\r\n\r\n // sidebar BG colors for Transparent Layout\r\n transparent_colors = [\r\n {\r\n class: \"bg-glass-hibiscus\",\r\n active: false\r\n },\r\n {\r\n class: \"bg-glass-purple-pizzazz\",\r\n active: false\r\n },\r\n {\r\n class: \"bg-glass-blue-lagoon\",\r\n active: false\r\n },\r\n {\r\n class: \"bg-glass-electric-violet\",\r\n active: false\r\n },\r\n {\r\n class: \"bg-glass-portage\",\r\n active: false\r\n },\r\n {\r\n class: \"bg-glass-tundora\",\r\n active: false\r\n }\r\n ];\r\n\r\n // sidebar BG images for Light & Dark Layout\r\n light_dark_bg_images = [\r\n {\r\n src: \"assets/img/sidebar-bg/01.jpg\",\r\n active: false\r\n },\r\n {\r\n src: \"assets/img/sidebar-bg/02.jpg\",\r\n active: false\r\n },\r\n {\r\n src: \"assets/img/sidebar-bg/03.jpg\",\r\n active: false\r\n },\r\n {\r\n src: \"assets/img/sidebar-bg/04.jpg\",\r\n active: false\r\n },\r\n {\r\n src: \"assets/img/sidebar-bg/05.jpg\",\r\n active: false\r\n },\r\n {\r\n src: \"assets/img/sidebar-bg/06.jpg\",\r\n active: false\r\n },\r\n ];\r\n\r\n // Background Colors with Shades for Transparent Layout\r\n transparent_colors_with_shade = [\r\n {\r\n class: \"bg-glass-1\",\r\n active: false\r\n },\r\n {\r\n class: \"bg-glass-2\",\r\n active: false\r\n },\r\n {\r\n class: \"bg-glass-3\",\r\n active: false\r\n },\r\n {\r\n class: \"bg-glass-4\",\r\n active: false\r\n },\r\n ];\r\n\r\n lightDarkLayoutGradientBGColors: any = [];\r\n lightDarkLayoutSolidBGColors: any = [];\r\n transparentLayoutBGColors: any = [];\r\n transparentLayoutBGColorsWithShades: any = [];\r\n lightDarkLayoutBGImages: any = [];\r\n\r\n\r\n constructor(private config: ConfigService) {\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n this.lightDarkLayoutGradientBGColors = this.getlightDarkLayoutGradientBGColors();\r\n this.lightDarkLayoutSolidBGColors = this.getlightDarkLayoutSolidBGColors();\r\n this.transparentLayoutBGColors = this.getTransparentLayoutBGColors();\r\n this.transparentLayoutBGColorsWithShades = this.GetTransparentLayoutBGColorsWithShades();\r\n this.lightDarkLayoutBGImages = this.getLightDarkLayoutBGImages();\r\n }\r\n\r\n getlightDarkLayoutGradientBGColors() {\r\n return this.light_dark_colors.filter(_ => _.type === 'gradient')\r\n .map(color => {\r\n color.active = (color.code === this.config.templateConf.layout.sidebar.backgroundColor);\r\n return { ...color };\r\n });\r\n }\r\n\r\n getlightDarkLayoutSolidBGColors() {\r\n return this.light_dark_colors.filter(_ => _.type === 'solid')\r\n .map(color => {\r\n color.active = (color.code === this.config.templateConf.layout.sidebar.backgroundColor);\r\n return { ...color };\r\n });\r\n }\r\n\r\n getTransparentLayoutBGColors() {\r\n return this.transparent_colors\r\n .map(color => {\r\n color.active = (color.class === this.config.templateConf.layout.sidebar.backgroundColor);\r\n return { ...color };\r\n });\r\n }\r\n\r\n GetTransparentLayoutBGColorsWithShades() {\r\n return this.transparent_colors_with_shade\r\n .map(color => {\r\n color.active = (color.class === this.config.templateConf.layout.sidebar.backgroundColor);\r\n return { ...color };\r\n });\r\n }\r\n\r\n getLightDarkLayoutBGImages() {\r\n return this.light_dark_bg_images\r\n .map(image => {\r\n image.active = (image.src === this.config.templateConf.layout.sidebar.backgroundImageURL);\r\n return { ...image };\r\n });\r\n }\r\n\r\n\r\n\r\n //called when click to change on any Gradient/Solid color for Light & Dark layout in customizer\r\n changeSidebarBGColor(color) {\r\n\r\n let conf = this.config.templateConf;\r\n conf.layout.sidebar.backgroundColor = color.code;\r\n\r\n this.config.applyTemplateConfigChange({ layout: conf.layout });\r\n\r\n this.getData();\r\n\r\n }\r\n\r\n //called when click to change on any Transparent color for Transparent layout in customizer\r\n changeSidebarTransparentBGColor(color) {\r\n\r\n let conf = this.config.templateConf;\r\n conf.layout.sidebar.backgroundColor = color.class;\r\n conf.layout.sidebar.backgroundImage = false;\r\n conf.layout.sidebar.backgroundImageURL = '';\r\n\r\n this.config.applyTemplateConfigChange({ layout: conf.layout });\r\n\r\n this.getData();\r\n }\r\n\r\n\r\n //called when click to change on any image for Light & Dark layout in customizer\r\n changeSidebarBgImage(image) {\r\n\r\n let conf = this.config.templateConf;\r\n conf.layout.sidebar.backgroundImageURL = image.src;\r\n\r\n this.config.applyTemplateConfigChange({ layout: conf.layout });\r\n\r\n this.getData();\r\n\r\n }\r\n\r\n bgImageDisplay(e: any) {\r\n let conf = this.config.templateConf;\r\n if (e.target.checked) {\r\n conf.layout.sidebar.backgroundImage = true;\r\n } else {\r\n conf.layout.sidebar.backgroundImage = false;\r\n }\r\n\r\n this.config.applyTemplateConfigChange({ layout: conf.layout });\r\n }\r\n\r\n toggleCompactMenu(e: any) {\r\n let conf = this.config.templateConf;\r\n if (e.target.checked) {\r\n conf.layout.sidebar.collapsed = true;\r\n } else {\r\n conf.layout.sidebar.collapsed = false;\r\n }\r\n\r\n this.config.applyTemplateConfigChange({ layout: conf.layout });\r\n }\r\n\r\n\r\n changeSidebarWidth(value: string) {\r\n let conf = this.config.templateConf;\r\n conf.layout.sidebar.size = value;\r\n this.config.applyTemplateConfigChange({ layout: conf.layout });\r\n }\r\n\r\n toggleNavbarType(value: string) {\r\n let conf = this.config.templateConf;\r\n conf.layout.navbar.type = value;\r\n this.config.applyTemplateConfigChange({ layout: conf.layout });\r\n }\r\n\r\n // position: \"Side\" for vertical menu and position: \"Top\" for horizontal menu\r\n toggleMenuPosition(position: string) {\r\n let conf = this.config.templateConf;\r\n conf.layout.menuPosition = position;\r\n this.config.applyTemplateConfigChange({ layout: conf.layout });\r\n }\r\n\r\n switchLayout(layout: string, isBgImageDisplay: boolean) {\r\n let conf = this.config.templateConf;\r\n if(layout.toLowerCase() === 'light') {\r\n conf.layout.variant = 'Light';\r\n conf.layout.sidebar.backgroundImageURL = this.light_dark_bg_images[0].src;\r\n conf.layout.sidebar.backgroundColor = this.light_dark_colors[5].code;\r\n conf.layout.sidebar.backgroundImage = isBgImageDisplay;\r\n }\r\n else if(layout.toLowerCase() === 'dark') {\r\n conf.layout.variant = 'Dark';\r\n conf.layout.sidebar.backgroundImageURL = this.light_dark_bg_images[2].src;\r\n conf.layout.sidebar.backgroundColor = this.light_dark_colors[7].code;\r\n conf.layout.sidebar.backgroundImage = isBgImageDisplay;\r\n }\r\n else if(layout.toLowerCase() === 'transparent') {\r\n\r\n conf.layout.variant = 'Transparent';\r\n conf.layout.sidebar.backgroundImageURL = \"\";\r\n conf.layout.sidebar.backgroundColor = this.transparent_colors_with_shade[0].class;\r\n }\r\n\r\n this.config.applyTemplateConfigChange({ layout: conf.layout });\r\n\r\n this.getData();\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LayoutService {\r\n\r\n private toggleSidebar = new Subject(); // small screen\r\n private overlaySidebarToggle = new Subject();\r\n private toggleNotiSidebar = new Subject();\r\n\r\n\r\n // Observable\r\n toggleSidebar$ = this.toggleSidebar.asObservable();\r\n overlaySidebarToggle$ = this.overlaySidebarToggle.asObservable();\r\n toggleNotiSidebar$ = this.toggleNotiSidebar.asObservable();\r\n\r\n toggleSidebarSmallScreen(toggle: boolean) {\r\n this.toggleSidebar.next(toggle);\r\n }\r\n\r\n overlaySidebartoggle(toggle: boolean) {\r\n this.overlaySidebarToggle.next(toggle);\r\n }\r\n\r\n toggleNotificationSidebar(toggle: boolean) {\r\n this.toggleNotiSidebar.next(toggle);\r\n }\r\n\r\n}\r\n","\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nimport { Observable } from \"rxjs\";\r\nimport { catchError } from 'rxjs/operators';\r\nimport \"rxjs/add/operator/map\";\r\n\r\nimport \"rxjs/add/operator/catch\";\r\n\r\n\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { retry } from 'rxjs-compat/operator/retry';\r\n\r\n@Injectable()\r\nexport class Repository {\r\n\r\n private token: string = \"\";\r\n private username: string = \"\";\r\n private data: any;\r\n\r\n toaster: any;\r\n\r\n constructor(private http: HttpClient\r\n \r\n ) {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n public postPdf(url: string, data?: any): Observable {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + this.token)\r\n .set('Content-Type', 'application/json');\r\n\r\n return this.http.post( url, data, {\r\n headers: httpHeaders,\r\n observe: 'response',\r\n responseType: 'blob'\r\n }).pipe(catchError((err: HttpErrorResponse) => {\r\n \r\n \r\n if (err.status == 404) {\r\n \r\n return \"L\";\r\n }\r\n \r\n if (err.statusText == \"Unknown Error\") {\r\n //this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n }\r\n if (err.status == 401) {\r\n location.href = '/#/login';\r\n\r\n }\r\n else {\r\n\r\n if (err.error instanceof Error) {\r\n } else {\r\n }\r\n }\r\n return null;\r\n }\r\n ));\r\n\r\n }\r\n\r\n public postRequest(url: string, data?: any): Observable {\r\n // if (this.token == null || this.token == \"\") {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n // }\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + this.token)\r\n .set('Content-Type', 'application/json');\r\n\r\n return this.http.post( url, data, {\r\n headers: httpHeaders, \r\n responseType: 'json'\r\n }).pipe(catchError((err: HttpErrorResponse) => {\r\n //console.error('An error occurred:', err);\r\n \r\n //console.log(err);\r\n if (err.status == 404) {\r\n if (err.error.message == \"Loi:There are not visible sheets on the file\")\r\n alert(\"Không có dữ liệu để in!\");\r\n else\r\n alert(err.error.message);\r\n }\r\n if (err.statusText == \"Unknown Error\") {\r\n //this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n }\r\n if (err.status == 401) {\r\n location.href = '/#/login';\r\n\r\n }\r\n else {\r\n\r\n if (err.error instanceof Error) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n //console.error('An error occurred:', err.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n //console.error(`Backend returned code ${err.status}, body was: ${err.error}`);\r\n }\r\n }\r\n // ...optionally return a default fallback value so app can continue (pick one)\r\n // which could be a default value\r\n // return Observable.of({my: \"default value...\"});\r\n // or simply an empty observable\r\n return null;\r\n }\r\n ));\r\n\r\n }\r\n\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser'); \r\n //localStorage.clear();\r\n }\r\n\r\n public getCC(url: string)\r\n : Observable {\r\n\r\n\r\n\r\n //if (this.token == null || this.token == \"\") {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n //}\r\n\r\n //console.log(this.token);\r\n\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + this.token)\r\n .set('Content-Type', 'application/json');\r\n\r\n return this.http.get( url, {\r\n headers: httpHeaders, \r\n responseType: 'json'\r\n }).pipe(catchError((err: HttpErrorResponse) => {\r\n console.error('An error occurred:', err);\r\n\r\n if (err.statusText == \"Unknown Error\") {\r\n //this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n }\r\n if (err.status == 401) {\r\n location.href = '/#/login';\r\n }\r\n else {\r\n //this.toasterService.pop('error', null, err.messag);\r\n if (err.error instanceof Error) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n //console.error('An error occurred:', err.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n //console.error(`Backend returned code ${err.status}, body was: ${err.error}`);\r\n }\r\n }\r\n // ...optionally return a default fallback value so app can continue (pick one)\r\n // which could be a default value\r\n // return Observable.of({my: \"default value...\"});\r\n // or simply an empty observable\r\n return null;\r\n }\r\n));\r\n\r\n }\r\n\r\n public getRequest(url: string, data?: any)\r\n : Observable {\r\n\r\n\r\n\r\n //if (this.token == null || this.token == \"\") {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n //}\r\n\r\n //console.log(this.token);\r\n\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + this.token)\r\n .set('Access-Control-Allow-Origin', '*') \r\n .set('Content-Type', 'application/json')\r\n .set('x-api-key', '1f9aa821d08f4b2f877df527509b67c8');\r\n\r\n return this.http.get(url, {\r\n headers: httpHeaders,\r\n params: data,\r\n responseType: 'json'\r\n }).pipe(catchError((err: HttpErrorResponse) => {\r\n console.error('An error occurred:', err);\r\n \r\n if (err.statusText == \"Unknown Error\") {\r\n //this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n }\r\n if (err.status == 401) {\r\n location.href = '/#/login';\r\n }\r\n else {\r\n //this.toasterService.pop('error', null, err.messag);\r\n if (err.error instanceof Error) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n //console.error('An error occurred:', err.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n //console.error(`Backend returned code ${err.status}, body was: ${err.error}`);\r\n }\r\n }\r\n // ...optionally return a default fallback value so app can continue (pick one)\r\n // which could be a default value\r\n // return Observable.of({my: \"default value...\"});\r\n // or simply an empty observable\r\n return null;\r\n }\r\n));\r\n\r\n }\r\n public getRequestRR(url: string, data?: any)\r\n : Observable {\r\n\r\n\r\n\r\n //if (this.token == null || this.token == \"\") {\r\n\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n if (this.data != null) {\r\n this.token = this.data.access_token;\r\n\r\n }\r\n //}\r\n\r\n //console.log(this.token);\r\n\r\n let httpHeaders = new HttpHeaders()\r\n .set('authorization', 'Bearer ' + this.token)\r\n .set('Content-Type', 'application/json');\r\n\r\n return this.http.get( url, {\r\n headers: httpHeaders,\r\n params: data,\r\n responseType: 'json'\r\n }).pipe(catchError((err: HttpErrorResponse) => {\r\n console.error('An error occurred:', err);\r\n \r\n if (err.statusText == \"Unknown Error\") {\r\n //this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n }\r\n if (err.status == 401) {\r\n location.href = '/#/login';\r\n }\r\n else {\r\n //this.toasterService.pop('error', null, err.messag);\r\n if (err.error instanceof Error) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n //console.error('An error occurred:', err.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n //console.error(`Backend returned code ${err.status}, body was: ${err.error}`);\r\n }\r\n }\r\n // ...optionally return a default fallback value so app can continue (pick one)\r\n // which could be a default value\r\n // return Observable.of({my: \"default value...\"});\r\n // or simply an empty observable\r\n return null;\r\n }\r\n));\r\n\r\n }\r\n\r\n public NgonNgu(text: string) {\r\n this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n // khác 1 thì truy cập lại controller để lấy giá trị \r\n if (this.data.ds_ngonngu != null && (this.data.ngon_ngu !== null ? this.data.ngon_ngu : \"1\") != \"1\") {\r\n var giatri = this.data.ds_ngonngu.filter(name => name.Ten.toLowerCase() === text.toLowerCase());\r\n if (giatri != null && giatri.length > 0) {\r\n if (giatri[0].GiaTri == null || giatri[0].GiaTri == \"\") {\r\n this.postRequest('api/donvi/addorupdate_ngonngu', { Ten: text, Id: (this.data.ngon_ngu !== null ? this.data.ngon_ngu : \"1\") })\r\n .subscribe(response => {\r\n\r\n });\r\n return text;\r\n }\r\n else {\r\n return giatri[0].GiaTri;\r\n }\r\n }\r\n else {\r\n this.postRequest('api/donvi/addorupdate_ngonngu', { Ten: text, Id: (this.data.ngon_ngu !== null ? this.data.ngon_ngu : \"1\") })\r\n .subscribe(response => {\r\n return response;\r\n });\r\n }\r\n }\r\n else {\r\n this.postRequest('api/donvi/addorupdate_ngonngu', { Ten: text, Id: (this.data.ngon_ngu !== null ? this.data.ngon_ngu : \"1\") })\r\n .subscribe(response => {\r\n\r\n });\r\n return text;\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n@Injectable()\r\nexport class WindowRef {\r\n constructor() { }\r\n\r\n getNativeWindow() {\r\n return window;\r\n }\r\n}\r\n//@Injectable()\r\n//export class LocalizeService {\r\n\r\n// private token: string = \"\";\r\n// private username: string = \"\";\r\n// private data: any;\r\n\r\n// toaster: any;\r\n\r\n// constructor(private http: HttpClient\r\n// , public toasterService: ToasterService\r\n// ) {\r\n\r\n// this.data = JSON.parse(localStorage.getItem('currentUser'));\r\n// if (this.data != null) {\r\n// this.token = this.data.access_token;\r\n\r\n// }\r\n// }\r\n\r\n\r\n// public Localize(url: string, data?: any): Observable {\r\n\r\n\r\n// let httpHeaders = new HttpHeaders()\r\n// .set('authorization', 'Bearer ' + this.token)\r\n// .set('Content-Type', 'application/json');\r\n// if (this.data.Localize != null) {\r\n// var giatri = this.data.Localize.filter(name => name.text.toLowerCase() === data.text.toLowerCase());\r\n// if (giatri != null && giatri.length > 0) {\r\n// if (giatri[0].value == null || giatri[0].value == \"\") {\r\n// return data.text;\r\n// }\r\n// else {\r\n// //return this.http.post(Global.App_url + url, data, {\r\n// // headers: httpHeaders,\r\n// // observe: 'response',\r\n// // responseType: 'blob'\r\n// //}).catch((err: HttpErrorResponse) => {\r\n// // $('#loading').hide();\r\n// // if (err.status == 404) {\r\n// // return \"L\";\r\n// // }\r\n// // if (err.statusText == \"Unknown Error\") {\r\n// // this.toasterService.pop('error', null, 'Không kết nối được với máy chủ');\r\n// // }\r\n// // if (err.status == 401) {\r\n// // location.href = '/#/login';\r\n\r\n// // }\r\n// // else {\r\n\r\n// // if (err.error instanceof Error) {\r\n// // } else {\r\n// // }\r\n// // }\r\n// // return null;\r\n// //});\r\n// return data.text;\r\n// }\r\n// }\r\n// }\r\n// else {\r\n// return data.text;\r\n// }\r\n\r\n\r\n// }\r\n\r\n//}\r\n","import { isPlatformBrowser } from \"@angular/common\";\r\nimport { ClassProvider, FactoryProvider, InjectionToken, PLATFORM_ID, Injectable } from '@angular/core';\r\n\r\n/* Create a new injection token for injecting the window into a component. */\r\nexport const WINDOW = new InjectionToken('WindowToken');\r\n\r\n/* Define abstract class for obtaining reference to the global window object. */\r\nexport abstract class WindowRef {\r\n\r\n get nativeWindow(): Window | Object {\r\n throw new Error('Not implemented.');\r\n }\r\n\r\n}\r\n\r\n/* Define class that implements the abstract class and returns the native window object. */\r\n@Injectable()\r\nexport class BrowserWindowRef extends WindowRef {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get nativeWindow(): Window | Object {\r\n return window;\r\n }\r\n\r\n}\r\n\r\n/* Create an factory function that returns the native window object. */\r\nexport function windowFactory(browserWindowRef: BrowserWindowRef, platformId: Object): Window | Object {\r\n if (isPlatformBrowser(platformId)) {\r\n return browserWindowRef.nativeWindow;\r\n }\r\n return new Object();\r\n}\r\n\r\n/* Create a injectable provider for the WindowRef token that uses the BrowserWindowRef class. */\r\nexport const browserWindowProvider: ClassProvider = {\r\n provide: WindowRef,\r\n useClass: BrowserWindowRef\r\n};\r\n\r\n/* Create an injectable provider that uses the windowFactory function for returning the native window object. */\r\nexport const windowProvider: FactoryProvider = {\r\n provide: WINDOW,\r\n useFactory: windowFactory,\r\n deps: [ WindowRef, PLATFORM_ID ]\r\n};\r\n\r\n/* Create an array of providers. */\r\nexport const WINDOW_PROVIDERS = [\r\n browserWindowProvider,\r\n windowProvider\r\n];\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { PerfectScrollbarModule } from \"ngx-perfect-scrollbar\";\r\nimport { ClickOutsideModule } from 'ng-click-outside';\r\n\r\nimport { AutocompleteModule } from './components/autocomplete/autocomplete.module';\r\nimport { PipeModule } from 'app/shared/pipes/pipe.module';\r\n\r\nimport {NgxPaginationModule} from 'ngx-pagination'; \r\n\r\n//COMPONENTS\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { NavbarComponent } from \"./navbar/navbar.component\";\r\nimport { HorizontalMenuComponent } from './horizontal-menu/horizontal-menu.component';\r\nimport { VerticalMenuComponent } from \"./vertical-menu/vertical-menu.component\";\r\nimport { CustomizerComponent } from './customizer/customizer.component';\r\nimport { NotificationSidebarComponent } from './notification-sidebar/notification-sidebar.component';\r\n\r\n//DIRECTIVES\r\nimport { ToggleFullscreenDirective } from \"./directives/toggle-fullscreen.directive\";\r\nimport { SidebarLinkDirective } from './directives/sidebar-link.directive';\r\nimport { SidebarDropdownDirective } from './directives/sidebar-dropdown.directive';\r\nimport { SidebarAnchorToggleDirective } from './directives/sidebar-anchor-toggle.directive';\r\nimport { SidebarDirective } from './directives/sidebar.directive';\r\nimport { TopMenuDirective } from './directives/topmenu.directive';\r\nimport { TopMenuLinkDirective } from './directives/topmenu-link.directive';\r\nimport { TopMenuDropdownDirective } from './directives/topmenu-dropdown.directive';\r\nimport { TopMenuAnchorToggleDirective } from './directives/topmenu-anchor-toggle.directive';\r\n\r\n//SYNFUNCTION\r\nimport { DatePickerModule, DateTimePickerModule, TimePickerModule } from '@syncfusion/ej2-angular-calendars';\r\nimport { CheckBoxModule, ButtonModule, SwitchModule, RadioButtonModule } from '@syncfusion/ej2-angular-buttons';\r\n\r\nimport { FileManagerAllModule } from '@syncfusion/ej2-angular-filemanager';\r\nimport { GridAllModule } from '@syncfusion/ej2-angular-grids';\r\nimport { MultiSelectAllModule, DropDownListModule,ComboBoxModule } from '@syncfusion/ej2-angular-dropdowns';\r\nimport { UploaderModule } from '@syncfusion/ej2-angular-inputs';\r\nimport { DropDownButtonModule, SplitButtonModule, ProgressButtonModule } from '@syncfusion/ej2-angular-splitbuttons';\r\nimport { TreeGridAllModule } from '@syncfusion/ej2-angular-treegrid';\r\nimport { RichTextEditorAllModule } from '@syncfusion/ej2-angular-richtexteditor';\r\nimport { ToolbarModule, TreeViewModule, ContextMenuModule, TabAllModule } from '@syncfusion/ej2-angular-navigations';\r\nimport { ToastModule } from '@syncfusion/ej2-angular-notifications';\r\n\r\nimport { ListViewAllModule } from '@syncfusion/ej2-angular-lists';\r\nimport { DialogModule } from '@syncfusion/ej2-angular-popups';\r\nimport { MaskedTextBoxModule, NumericTextBoxModule } from '@syncfusion/ej2-angular-inputs';\r\n\r\n//COMPONENTS HAN\r\nimport { danhmucchungeditComponent } from \"./components/danhmuc/danhmucchungedit.component\";\r\n\r\n\r\n\r\n@NgModule({\r\n exports: [\r\n CommonModule,\r\n FooterComponent,\r\n NavbarComponent,\r\n VerticalMenuComponent,\r\n HorizontalMenuComponent,\r\n CustomizerComponent,\r\n NotificationSidebarComponent,\r\n ToggleFullscreenDirective,\r\n SidebarDirective,\r\n TopMenuDirective,\r\n NgbModule,\r\n TranslateModule,\r\n NgxPaginationModule,\r\n\r\n //synfu\r\n DatePickerModule,\r\n DateTimePickerModule,\r\n TimePickerModule,\r\n CheckBoxModule,\r\n ButtonModule,\r\n SwitchModule,\r\n RadioButtonModule,\r\n GridAllModule,\r\n FileManagerAllModule,\r\n MultiSelectAllModule,\r\n ToastModule,\r\n ComboBoxModule,\r\n DropDownListModule,\r\n UploaderModule,\r\n DropDownButtonModule,\r\n SplitButtonModule,\r\n ProgressButtonModule,\r\n TreeGridAllModule,\r\n RichTextEditorAllModule,\r\n ToolbarModule,\r\n TreeViewModule,\r\n ContextMenuModule,\r\n TabAllModule,\r\n DialogModule,\r\n MaskedTextBoxModule,\r\n NumericTextBoxModule,\r\n\r\n //COMPONENT\r\n danhmucchungeditComponent,\r\n ],\r\n imports: [\r\n RouterModule,\r\n CommonModule,\r\n NgbModule,\r\n TranslateModule,\r\n FormsModule,\r\n OverlayModule,\r\n ReactiveFormsModule ,\r\n PerfectScrollbarModule,\r\n ClickOutsideModule,\r\n AutocompleteModule,\r\n PipeModule,\r\n NgxPaginationModule,\r\n\r\n //synfu\r\n DatePickerModule,\r\n DateTimePickerModule,\r\n TimePickerModule,\r\n CheckBoxModule,\r\n ButtonModule,\r\n SwitchModule,\r\n RadioButtonModule,\r\n GridAllModule,\r\n FileManagerAllModule,\r\n MultiSelectAllModule,\r\n ToastModule,\r\n DropDownListModule,\r\n ComboBoxModule,\r\n UploaderModule,\r\n DropDownButtonModule,\r\n SplitButtonModule,\r\n ProgressButtonModule,\r\n TreeGridAllModule,\r\n RichTextEditorAllModule,\r\n ToolbarModule,\r\n TreeViewModule,\r\n ContextMenuModule,\r\n TabAllModule,\r\n DialogModule,\r\n MaskedTextBoxModule,\r\n NumericTextBoxModule,\r\n\r\n\r\n ],\r\n declarations: [\r\n FooterComponent,\r\n NavbarComponent,\r\n VerticalMenuComponent,\r\n HorizontalMenuComponent,\r\n CustomizerComponent,\r\n NotificationSidebarComponent,\r\n ToggleFullscreenDirective,\r\n SidebarLinkDirective,\r\n SidebarDropdownDirective,\r\n SidebarAnchorToggleDirective,\r\n SidebarDirective,\r\n TopMenuLinkDirective,\r\n TopMenuDropdownDirective,\r\n TopMenuAnchorToggleDirective,\r\n TopMenuDirective,\r\n\r\n //COMPONENT\r\n danhmucchungeditComponent,\r\n\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","export enum TYPEICON {\r\n ERROR='error',\r\n SUCCESS='success',\r\n WARNING='warning',\r\n INFO='info',\r\n QUESTION='question'\r\n }","import { RouteInfo } from './vertical-menu.metadata';\r\n\r\n\r\nexport const Lists_donhangck = { id: '0AF84C3A-B45C-4047-94DE-9D1D8D506200', path: '/chuc-nang/ban-hang-ck', title: 'Đơn hàng ck', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const Lists_hanghoa ={ id:'5F1DCF52-D28F-47E6-BFB5-141BF5AC22ED', path: '/danh-muc/hang-hoa', title: 'Hàng hóa', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const Lists_tudien = { id:'7C0B1595-63B1-4E29-908D-B0151B07B529', path: '/danh-muc/tu-dien', title: 'Từ điển', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const Lists_donvi ={ id:'FCA9923F-F783-4CA7-8116-16F0B07A3C3D', path: '/danh-muc/don-vi', title: 'Đơn vị', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const Lists_loai_hang = { id:'0FD19AB7-38C1-4C07-B571-E6A4C296F4BA', path: '/danh-muc/loai-hang-hoa', title: 'Loại hàng hóa', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuLists = {\r\n id: '',\r\n title: 'Danh mục',\r\n path: '',\r\n icon: 'ft-align-left',\r\n class: 'has-sub',\r\n badge: '',\r\n badgeClass: 'badge badge-pill badge-danger float-right mr-1 mt-1',\r\n isExternalLink: false,\r\n submenu: [Lists_hanghoa, Lists_loai_hang, Lists_donhangck, Lists_tudien]\r\n};\r\n\r\nexport const MenuSystems_nguoidung ={ id:'0E72CDD8-2870-4D2C-9145-CB573E57C36F', path: '/he-thong/nguoi-dung', title: 'Người dùng', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuSystems_nhomnguoidung ={ id:'DB36BF37-1685-4EE3-B7AF-A89356985271', path: '/he-thong/vai-tro', title: 'Vai trò', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuSystems_nhatkytruycap ={ id:'888CFEB5-5728-475E-8044-D5CA6A9108B4', path: '/he-thong/nhat-ky', title: 'Chấm công', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuSystems = {\r\n id: '',\r\n title: 'Hệ thống',\r\n path: '',\r\n icon: 'ft-align-left',\r\n class: 'has-sub',\r\n badge: '',\r\n badgeClass: 'badge badge-pill badge-danger float-right mr-1 mt-1',\r\n isExternalLink: false,\r\n submenu: [MenuSystems_nguoidung,MenuSystems_nhomnguoidung, MenuSystems_nhatkytruycap,]\r\n};\r\nexport const MenuFunctions_flashoff ={ id:'16DEDA07-2EF9-421B-AF87-91182498CA0C', path: '/chuc-nang/flash-sale', title: 'Flash Sale', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuFunctions_banggia ={ id:'FC5F956B-81BF-4924-B90F-E42E120337BB', path: '/chuc-nang/bang-gia', title: 'Bảng giá', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuFunctions_dangky = { id: '24662B29-E1CB-4EF6-9636-22B510812741', path: '/chuc-nang/dang-ky-bien', title: 'Đăng ký xe', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_DonMart = { id: '10F4C060-8043-47B1-BD61-E94EB15E1BB3', path: '/chuc-nang/ban-mart', title: 'Đơn hàng', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuFunctions = {\r\n id: '',\r\n title: 'Rio Mart',\r\n path: '',\r\n icon: 'ft-layers',\r\n class: 'has-sub',\r\n badge: '',\r\n badgeClass: 'badge badge-pill badge-danger float-right mr-1 mt-1',\r\n isExternalLink: false,\r\n submenu: [MenuFunctions_banggia, MenuFunctions_flashoff, MenuRioHome_DonMart]\r\n};\r\n \r\n\r\nexport const MenuRioHome_DonHang = { id: 'FC5F956B-81BF-4924-B90F-E42E120337BB', path: '/chuc-nang/ban-hang', title: 'Đơn hàng', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_DichVu = { id: '24662B29-E1CB-4EF6-9636-22B510812741', path: '/danh-muc/dich-vu', title: 'Dịch vụ', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_BangGia = { id: '24662B29-E1CB-4EF6-9636-22B510812741', path: '/chuc-nang/bang-gia-dv', title: 'Bảng giá', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_DichVuGia = { id: '5C4CA38D-7CAC-4C61-900F-9065F465C21A', path: '/danh-muc/dich-vu-gia', title: 'Cài giá dịch vụ', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_KhachHang = { id: '24662B29-E1CB-4EF6-9636-22B510812741', path: '/danh-muc/khach-hang', title: 'Khách hàng', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_LoaiDichVu = { id: '24662B29-E1CB-4EF6-9636-22B510812741', path: '/danh-muc/loai-dich-vu', title: 'Loại dịch vụ', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_TheDichVu = { id: '9025E074-A1A3-44B0-9A14-09849E717A51', path: '/danh-muc/the-dich-vu', title: 'Thẻ dịch vụ', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_LoaiThe = { id: '37E379EA-E970-407E-BBF9-1C444E1D71BC', path: '/danh-muc/loai-the', title: 'Loại thẻ', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_Voucher = { id: '37E379EA-E970-407E-BBF9-1C444E1D71BC', path: '/danh-muc/voucher', title: 'Voucher', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_Push = { id: '37E379EA-E970-407E-BBF9-1C444E1D71BC', path: '/chuc-nang/push-noti', title: 'Thông báo cho App', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_BC1 = { id: '37E379EA-E970-407E-BBF9-1C444E1D71BC', path: '/chuc-nang/bao-cao-gio-lam', title: 'Báo cáo giờ làm', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_BC2 = { id: 'EC8D3835-454F-4D2B-AB12-7B700E41AF62', path: '/chuc-nang/bao-cao-gio-trong', title: 'Báo cáo giờ trống', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_BC3 = { id: 'A65A2E64-6842-4DA5-8B0B-1B94A3AF4ABE', path: '/chuc-nang/bao-cao-doanh-thu', title: 'Báo cáo doanh thu', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_BC4 = { id: '0EBB7C0F-8729-4E6D-8CC4-BC64140DC9DC', path: '/chuc-nang/bao-cao-doanh-thu-ngay', title: 'Doanh thu chi tiết', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuRioHome_BC5 = { id: '08F1C25B-C249-4175-B04F-3ADC03653D91', path: '/chuc-nang/bao-cao-dat-lai', title: 'Doanh thu đặt lại', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\n\r\n\r\n\r\nexport const MenuRioHome = {\r\n id: '',\r\n title: 'Rio home',\r\n path: '',\r\n icon: 'fa fa-home',\r\n class: 'has-sub',\r\n badge: '',\r\n badgeClass: 'badge badge-pill badge-danger float-right mr-1 mt-1',\r\n isExternalLink: false,\r\n submenu: [MenuRioHome_KhachHang, MenuRioHome_DonHang, MenuRioHome_DichVu,\r\n MenuRioHome_BangGia,\r\n MenuRioHome_DichVuGia,\r\n MenuRioHome_TheDichVu, MenuRioHome_LoaiDichVu, MenuRioHome_LoaiThe, MenuRioHome_Push\r\n , MenuRioHome_Voucher\r\n , MenuRioHome_BC1\r\n , MenuRioHome_BC2\r\n , MenuRioHome_BC3\r\n , MenuRioHome_BC4\r\n , MenuRioHome_BC5\r\n ]\r\n};\r\n\r\nexport const MenuLuong_CauHinh = { id: '08B9EB7F-6D43-44DD-8BCC-473660BFA04F', path: '/danh-muc/cau-hinh-luong', title: 'Cấu hình lương', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuLuong_KhoanLuong = { id: '91E60FEB-3F7E-4618-93FD-69D32570CF5C', path: '/danh-muc/khoan-luong', title: 'Khoản lương', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuLuong_LoiPhat = { id: '592174F5-2D12-438A-AAED-B4CDAD630DDF', path: '/danh-muc/loi-phat', title: 'Danh sách phạt lỗi', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuLuong_TangCa = { id: '0E1BF01F-2410-4928-BD7B-6F184AE30D81', path: '/danh-muc/tang-ca', title: 'Danh sách tăng ca', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuLuong_PCNgoaiKhu = { id: '0F5EFED9-2AAE-4E23-9167-7A150E2F3F5C', path: '/danh-muc/pc-ngoaikhu', title: 'Phụ cấp ngoại khu', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuLuong_BangCong = { id: '55380B0E-29BD-4229-9233-5A809F5DFFB1', path: '/chuc-nang/bang-cong', title: 'Bảng công', icon: 'ft-arrow-right submenu-icon', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: [] };\r\nexport const MenuLuong = {\r\n id: '',\r\n title: 'Lương',\r\n path: '',\r\n icon: 'fa fa-inbox',\r\n class: 'has-sub',\r\n badge: '',\r\n badgeClass: 'badge badge-pill badge-danger float-right mr-1 mt-1',\r\n isExternalLink: false,\r\n submenu: [\r\n MenuLuong_BangCong,\r\n MenuLuong_TangCa,\r\n MenuLuong_LoiPhat,\r\n MenuLuong_PCNgoaiKhu,\r\n MenuLuong_KhoanLuong,\r\n MenuLuong_CauHinh,\r\n\r\n ]\r\n};\r\n//Sidebar menu Routes and data\r\nexport const ROUTES: RouteInfo[] = [\r\n {\r\n id:'', path: '/page', title: 'Page', icon: 'ft-home', class: '', badge: '', badgeClass: '', isExternalLink: false, submenu: []\r\n },\r\n MenuRioHome,\r\n MenuLuong,\r\n MenuFunctions,\r\n MenuLists,\r\n MenuSystems,\r\n];\r\n\r\n\r\nexport class BaoCao {\r\n // dùng chung để tải mẫu báo cáo (dùng cho chức năng tùy chỉnh báo cáo)\r\n public static readonly BC01_XuatMauBaoCao = 'C43BF77C-729B-4FB1-9E3C-B17FCF224BDA';\r\n // dùng để tải mẫu import (dùng cho chức năng nhập dữ liệu từ excel)\r\n public static readonly BC02_MauNhapTuExcel = '85F8063B-87A2-4CD9-849B-7E90DB5C9072';\r\n // dùng để xuất dữ liệu trên các lưới ra excel\r\n public static readonly BC03_XuatDanhSach = 'CBB9B028-4FE0-4518-8A4B-E5F16CACCAB6';\r\n}\r\n","import {\r\n Component, OnInit, ViewChild, OnDestroy,\r\n ElementRef, AfterViewInit, ChangeDetectorRef, HostListener\r\n} from \"@angular/core\";\r\nimport { ROUTES } from './vertical-menu-routes.config';\r\nimport { HROUTES } from '../horizontal-menu/navigation-routes.config';\r\n\r\nimport { Router } from \"@angular/router\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { customAnimations } from \"../animations/custom-animations\";\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { ConfigService } from '../services/config.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { LayoutService } from '../services/layout.service';\r\n\r\n@Component({\r\n selector: \"app-sidebar\",\r\n templateUrl: \"./vertical-menu.component.html\",\r\n animations: customAnimations\r\n})\r\nexport class VerticalMenuComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChild('toggleIcon') toggleIcon: ElementRef;\r\n public menuItems: any[];\r\n level: number = 0;\r\n logoUrl = 'dist/assets/img/logo.png'; \r\n public config: any = {};\r\n protected innerWidth: any;\r\n layoutSub: Subscription;\r\n configSub: Subscription;\r\n perfectScrollbarEnable = true;\r\n collapseSidebar = false;\r\n resizeTimeout;\r\n\r\n constructor(\r\n private router: Router,\r\n public translate: TranslateService,\r\n private layoutService: LayoutService,\r\n private configService: ConfigService,\r\n private cdr: ChangeDetectorRef,\r\n private deviceService: DeviceDetectorService\r\n ) {\r\n this.config = this.configService.templateConf;\r\n this.innerWidth = window.innerWidth;\r\n this.isTouchDevice();\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.menuItems = ROUTES;\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.configSub = this.configService.templateConf$.subscribe((templateConf) => {\r\n if (templateConf) {\r\n this.config = templateConf;\r\n }\r\n this.loadLayout();\r\n this.cdr.markForCheck();\r\n\r\n });\r\n\r\n this.layoutSub = this.layoutService.overlaySidebarToggle$.subscribe(\r\n collapse => {\r\n if (this.config.layout.menuPosition === \"Side\") {\r\n this.collapseSidebar = collapse;\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize(event) {\r\n if (this.resizeTimeout) {\r\n clearTimeout(this.resizeTimeout);\r\n }\r\n this.resizeTimeout = setTimeout((() => {\r\n this.innerWidth = event.target.innerWidth;\r\n this.loadLayout();\r\n }).bind(this), 500);\r\n }\r\n\r\n loadLayout() {\r\n\r\n if (this.config.layout.menuPosition === \"Top\") { // Horizontal Menu\r\n if (this.innerWidth < 1200) { // Screen size < 1200\r\n this.menuItems = HROUTES;\r\n }\r\n }\r\n else if (this.config.layout.menuPosition === \"Side\") { // Vertical Menu{\r\n this.menuItems = ROUTES;\r\n }\r\n\r\n\r\n\r\n\r\n if (this.config.layout.sidebar.backgroundColor === 'white') {\r\n this.logoUrl = 'dist/assets/img/logo-dark.png';\r\n }\r\n else {\r\n this.logoUrl = 'dist/assets/img/logo.png';\r\n }\r\n\r\n if(this.config.layout.sidebar.collapsed) {\r\n this.collapseSidebar = true;\r\n }\r\n else {\r\n this.collapseSidebar = false;\r\n }\r\n }\r\n\r\n toggleSidebar() {\r\n let conf = this.config;\r\n conf.layout.sidebar.collapsed = !this.config.layout.sidebar.collapsed;\r\n this.configService.applyTemplateConfigChange({ layout: conf.layout });\r\n\r\n setTimeout(() => {\r\n this.fireRefreshEventOnWindow();\r\n }, 300);\r\n }\r\n\r\n fireRefreshEventOnWindow = function () {\r\n const evt = document.createEvent(\"HTMLEvents\");\r\n evt.initEvent(\"resize\", true, false);\r\n window.dispatchEvent(evt);\r\n };\r\n\r\n CloseSidebar() {\r\n this.layoutService.toggleSidebarSmallScreen(false);\r\n }\r\n\r\n isTouchDevice() {\r\n\r\n const isMobile = this.deviceService.isMobile();\r\n const isTablet = this.deviceService.isTablet();\r\n\r\n if (isMobile || isTablet) {\r\n this.perfectScrollbarEnable = false;\r\n }\r\n else {\r\n this.perfectScrollbarEnable = true;\r\n }\r\n\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n if (this.layoutSub) {\r\n this.layoutSub.unsubscribe();\r\n }\r\n if (this.configSub) {\r\n this.configSub.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n\r\n\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n deployUrl: 'dist/'\r\n};\r\n","import { 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\nimport { registerLicense } from '@syncfusion/ej2-base';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nregisterLicense('ORg4AjUWIQA/Gnt2VVhkQlFadVdJXGFWfVJpTGpQdk5xdV9DaVZUTWY/P1ZhSXxQdkdjXH1ccXBRQ2JcVEQ=');\r\n\r\ndeclare var __webpack_public_path__: string;\r\n__webpack_public_path__ = 'dist/';\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n"],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[]}