{"title":"c-halyk-sk-test","template":"\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"/cms/css/halyksk.css\" /\u003e\n\n\n\u003cstyle\u003e\n #sidebar-menu ul.metismenu\u003eli.mm-active\u003ea\u003ei, \n #sidebar-menu ul.metismenu\u003eli.mm-active\u003ea {\n color: black !important;\n }\n\u003c/style\u003e\n\u003cjit-page [cache]=\"false\" *ngIf=\"!show_only_content\" type=\"angular_widget\" (getComponent)=\"getComponent_right_side_call_bar($event)\" code=\"right_side_call_bar_test\"\u003e\u003c/jit-page\u003e\n\n\u003cdiv id=\"layout-wrapper\"\u003e\n \u003c!-- Top bar --\u003e\n\n \u003cheader id=\"page-topbar\" *ngIf=\"!show_only_content\"\u003e\n \u003cdiv class=\"navbar-header\"\u003e\n \u003cdiv class=\"d-flex\"\u003e\n \u003c!-- LOGO --\u003e\n \u003cdiv class=\"navbar-brand-box d-none d-md-flex justify-content-between align-items-center\"\u003e\n \u003cbutton type=\"button\" class=\"btn btn-sm px-3 font-size-16 vertinav-toggle header-item waves-effect d-none d-md-inline\" id=\"vertical-menu-btn\" (click)=\"toggleMobileMenu($event)\"\u003e\n \u003ci class=\"fas fa-bars\"\u003e\u003c/i\u003e\n \u003c/button\u003e\n \n \u003cbutton type=\"button\" class=\"btn btn-sm px-3 font-size-16 vertinav-toggle header-item waves-effect d-md-none\" id=\"vertical-menu-btn\" (click)=\"toggleMobileMenu($event)\"\u003e\n \u003ci class=\"fas fa-bars\"\u003e\u003c/i\u003e\n \u003c/button\u003e\n\n \u003cbutton type=\"button\" class=\"btn btn-sm px-3 font-size-16 horinav-toggle header-item waves-effect waves-light\" data-bs-toggle=\"collapse\" data-bs-target=\"#topnav-menu-content\" (click)=\"toggleMobileMenu($event)\"\u003e\n \u003ci class=\"fas fa-bars\"\u003e\u003c/i\u003e\n \u003c/button\u003e\n\n \u003c!--\u003ca routerLink=\"\" class=\"logo logo-dark\"\u003e--\u003e\n \u003c!-- \u003cspan class=\"logo-sm\"\u003e--\u003e\n \u003c!-- \u003cimg [src]=\"https://halyk-sk-dev.damucrm.com/restapi/getfile?code=images-81232b3a-7155-4dfe-99c1-3ba00cf7f59a\" alt=\"Лого\" height=\"32\"\u003e--\u003e\n \u003c!-- \u003c/span\u003e--\u003e\n \u003c!-- \u003cspan class=\"logo-lg\"\u003e--\u003e\n \u003c!-- \u003cimg [src]=\"https://halyk-sk-dev.damucrm.com/restapi/getfile?code=images-81232b3a-7155-4dfe-99c1-3ba00cf7f59a\" alt=\"Лого\" height=\"32\"\u003e--\u003e\n \u003c!-- \u003c/span\u003e--\u003e\n \u003c!--\u003c/a\u003e--\u003e\n\n \u003c!--\u003ca routerLink=\"\" class=\"logo logo-light\"\u003e--\u003e\n \u003c!-- \u003cspan class=\"logo-sm\"\u003e--\u003e\n \u003c!-- \u003cimg [src]=\"https://halyk-sk-dev.damucrm.com/restapi/getfile?code=images-81232b3a-7155-4dfe-99c1-3ba00cf7f59a\" alt=\"Лого\" height=\"22\"\u003e--\u003e\n \u003c!-- \u003c/span\u003e--\u003e\n \u003c!-- \u003cspan class=\"logo-lg\"\u003e--\u003e\n \u003c!-- \u003cimg [src]=\"https://halyk-sk-dev.damucrm.com/restapi/getfile?code=images-81232b3a-7155-4dfe-99c1-3ba00cf7f59a\" alt=\"Лого\" height=\"32\"\u003e--\u003e\n \u003c!-- \u003c/span\u003e--\u003e\n \u003c!--\u003c/a\u003e--\u003e\n \n \u003c/div\u003e\n\n \n \u003ca routerLink=\"\" class=\"logo logo-dark mt-2\"\u003e\n \u003cspan class=\"logo-sm\"\u003e\n \u003cimg src=\"/static/img/logos/damu-crm-logo-dark-white.png\" alt=\"Лого\" height=\"32\"\u003e\n \u003c/span\u003e\n \u003cspan class=\"logo-lg\"\u003e\n \u003cimg src=\"/static/img/logos/damu-crm-logo-dark-white.png\" alt=\"Лого\" height=\"32\"\u003e\n \u003c/span\u003e\n \u003c/a\u003e\n \u003c!-- App Search--\u003e\n \u003cform [formGroup]=\"form_search\" (submit)=\"onFSSubmit($event)\" [ngClass]=\"{'ms-4' : !isCondensed }\" class=\"app-search d-none d-lg-block\"\u003e\n \u003cdiv class=\"position-relative search-div\"\u003e\n \u003cinput type=\"text\" formControlName=\"search\" class=\"form-control\" placeholder=\"{{'Search' | translate}}\"\u003e\n \u003ci class=\"fas fa-search\"\u003e\u003c/i\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/div\u003e\n\n \u003cdiv class=\"d-flex\"\u003e\n\n \u003cdiv class=\"dropdown d-inline-block d-lg-none ms-2\" ngbDropdown\u003e\n \u003cbutton type=\"button\" class=\"btn header-item noti-icon waves-effect\" ngbDropdownToggle id=\"page-header-search-dropdown\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"\u003e\n \u003ci class=\"fas fa-search\"\u003e\u003c/i\u003e\n \u003c/button\u003e\n \u003cdiv class=\"dropdown-menu dropdown-menu-lg dropdown-menu-end p-0\" ngbDropdownMenu aria-labelledby=\"page-header-search-dropdown\"\u003e\n\n \u003cform class=\"p-3\" [formGroup]=\"form_search\" (submit)=\"onFSSubmit($event)\"\u003e\n \u003cdiv class=\"form-group m-0\"\u003e\n \u003cdiv class=\"input-group\"\u003e\n \u003cinput type=\"text\" class=\"form-control\" formControlName=\"search\"\n placeholder=\"{{'Search' | translate}}\" aria-label=\"\"\u003e\n \u003cdiv class=\"input-group-append\"\u003e\n \u003cbutton class=\"btn btn-primary\" type=\"submit\"\u003e\u003ci class=\"fas fa-search\"\u003e\u003c/i\u003e\u003c/button\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/form\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \u003c!--\u003cdiv class=\"dropdown d-none d-lg-inline-block ms-1\"\u003e--\u003e\n \u003c!-- \u003cbutton type=\"button\" class=\"btn header-item noti-icon waves-effect\" data-toggle=\"fullscreen\"--\u003e\n \u003c!-- (click)=\"fullscreen()\"\u003e--\u003e\n \u003c!-- \u003ci class=\"fas fa-compress\"\u003e\u003c/i\u003e\n \u003c!-- \u003c/button\u003e--\u003e\n \u003c!--\u003c/div\u003e--\u003e\n\n \u003cbutton *ngIf=\"session_roles.admin\" type=\"button\" class=\"btn header-item noti-icon right-bar-toggle waves-effect\" (click)=\"show_only_content = !show_only_content\"\u003e\n \u003ci class=\"pi pi-window-maximize\"\u003e\u003c/i\u003e\n \u003c/button\u003e\n\n \u003cbutton type=\"button\" class=\"btn header-item noti-icon right-bar-toggle waves-effect\" (click)=\"appComponent.layout.flow_widget = true\"\u003e\n \u003ci class=\"fas fa-comment-dots\"\u003e\u003c/i\u003e\n \u003c/button\u003e\n \n \u003cbutton *ngIf=\"layoutMode != 'dark'\" type=\"button\" class=\"btn header-item noti-icon right-bar-toggle waves-effect\" (click)=\"changeMode('dark')\"\u003e\n \u003ci class=\"fas fa-moon\"\u003e\u003c/i\u003e\n \u003c/button\u003e\n \u003cbutton *ngIf=\"layoutMode != 'light'\" type=\"button\" class=\"btn header-item noti-icon right-bar-toggle waves-effect\" (click)=\"changeMode('light')\"\u003e\n \u003ci class=\"far fa-moon\"\u003e\u003c/i\u003e\n \u003c/button\u003e\n \n \u003cdiv class=\"dropdown d-inline-block\" ngbDropdown *ngIf=\"user\"\u003e\n \u003cbutton type=\"button\" class=\"btn header-item noti-icon waves-effect\" ngbDropdownToggle\n id=\"page-header-notifications-dropdown\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\"\n aria-expanded=\"false\"\u003e\n \u003ci class=\"fas fa-bell\"\u003e\u003c/i\u003e\n \u003cspan *ngIf=\"notifications.length \u003e 0\" class=\"badge bg-danger rounded-pill\"\u003e{{ notifications.length }}\u003c/span\u003e\n \u003c/button\u003e\n \u003cdiv class=\"dropdown-menu dropdown-menu-lg dropdown-menu-end p-0\"\n aria-labelledby=\"page-header-notifications-dropdown\" ngbDropdownMenu\u003e\n \u003cdiv class=\"p-3\"\u003e\n \u003cdiv class=\"row align-items-center\"\u003e\n \u003cdiv class=\"col\"\u003e\n \u003ch6 class=\"m-0\" translate=\"Notifications\"\u003e\u003c/h6\u003e\n \u003c/div\u003e\n \u003cdiv class=\"col-auto\"\u003e\n \u003ca href=\"#\" class=\"small\" key=\"t-view-all\" translate=\"View All\"\u003e\u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003cngx-simplebar style=\"max-height: 230px;\"\u003e\n \u003cng-container *ngFor=\"let item of notifications\"\u003e\n \u003ca href=\"\" class=\"text-reset notification-item d-block \" *ngIf=\"{'active' :item.active}\"\u003e\n \u003cdiv class=\"d-flex\"\u003e\n \u003c!-- \u003cimg src=\"assets/images/users/avatar-3.jpg\" class=\"me-3 rounded-circle avatar-xs\"\n alt=\"user-pic\"\u003e --\u003e\n \u003cdiv class=\"avatar-xs me-3\"\u003e\n \u003cspan class=\"avatar-title bg-primary rounded-circle font-size-16\"\u003e\n \u003ci class=\"fas fa-shopping-cart\"\u003e\u003c/i\u003e\n \u003c/span\u003e\n \u003c/div\u003e\n \u003cdiv class=\"flex-1\"\u003e\n \u003ch6 class=\"mt-0 mb-1\" key=\"t-your-order\" [translate]=\"item.title\"\u003e\u003c/h6\u003e\n \u003cdiv class=\"font-size-13 text-muted\"\u003e\n \u003cp class=\"mb-1\" key=\"t-grammer\" [translate]=\"item.title\"\u003e\u003c/p\u003e\n \u003cp class=\"mb-0 font-size-12\"\u003e\n \u003ci class=\"fas fa-bell\"\u003e\u003c/i\u003e\n \u003cspan key=\"t-min-ago\" [translate]=\"item.title\"\u003e\u003c/span\u003e\u003c/p\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/a\u003e\n \u003c/ng-container\u003e\n \u003c/ngx-simplebar\u003e\n\n \u003cdiv class=\"p-2 border-top d-grid\"\u003e\n \u003ca class=\"btn btn-sm btn-link font-size-14 text-center\" href=\"javascript:void(0)\"\u003e\n \u003cspan translate=\"Загрузить больше\"\u003e\u003c/span\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \n \u003cdiv class=\"dropdown d-inline-block\" *ngIf=\"!user\"\u003e\n \u003cbutton routerLink=\"/auth/login\" class=\"btn header-item noti-icon waves-effect\"\u003e{{ 'Sign In' | translate }}\u003c/button\u003e\n \u003c/div\u003e\n \n \u003cdiv class=\"dropdown d-inline-block\" ngbDropdown *ngIf=\"user\"\u003e\n \u003cbutton type=\"button\" class=\"btn header-item waves-effect\" ngbDropdownToggle id=\"page-header-user-dropdown\" data-bs-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"\u003e\n \u003cimg class=\"rounded-circle header-profile-user\" alt=\"Аватар\" [src]=\"user.sessioninfo.avatar_url\" onerror=\"this.src='assets/img/image-not-found.png'\"\u003e\n \u003cspan class=\"d-none d-xl-inline-block ms-1\"\u003e{{user.sessioninfo.title}}\u003c/span\u003e\n \u003c!--\u003ci class=\"fas fa-bell d-none d-xl-inline-block\"\u003e\u003c/i\u003e--\u003e\n \u003c/button\u003e\n \u003cdiv class=\"dropdown-menu dropdown-menu-end\" ngbDropdownMenu\u003e\n \n \u003ch6 class=\"dropdown-header\" [translate]=\"user.sessioninfo.title\"\u003e\u003c/h6\u003e\n\n \u003cng-container *ngFor=\"let item of accountmenu\"\u003e\n \u003ca class=\"dropdown-item\" [href]=\"item.url\"\u003e\n \u003ci class=\"{{item.icon || 'fa-dot-circle' }} text-muted font-size-16 align-middle me-1\"\u003e{{item.icon_value}}\u003c/i\u003e\n \u003cspan class=\"align-middle\" key=\"t-profile\" [translate]=\"item.title\"\u003e\u003c/span\u003e\n \u003c/a\u003e\n \u003c/ng-container\u003e\n \n \u003ca class=\"dropdown-item\" href=\"javascript: void(0);\" (click)=\"logout()\"\u003e\n \u003ci class=\"fas fa-sign-out-alt text-muted font-size-16 align-middle me-1\"\u003e\u003c/i\u003e\n \u003cspan class=\"align-middle\" key=\"t-logout\"\u003e{{ 'Logout' | translate}}\u003c/span\u003e\n \u003c/a\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \u003cdiv class=\"dropdown d-none d-lg-inline-block ms-1\"\u003e\n \u003cbutton type=\"button\" class=\"btn header-item noti-icon waves-effect\" *ngIf=\"appComponent.translateService.currentLang != 'ru'\" (click)=\"appComponent.translateService.use('ru')\"\u003e{{ 'РУС' | translate }}\u003c/button\u003e\n \u003cbutton type=\"button\" class=\"btn header-item noti-icon waves-effect\" *ngIf=\"appComponent.translateService.currentLang != 'kk'\" (click)=\"appComponent.translateService.use('kk')\"\u003e{{ 'QAZ' | translate }}\u003c/button\u003e\n \u003c/div\u003e\n\n \u003c!--\u003cdiv class=\" d-inline-block\"\u003e--\u003e\n \u003c!-- \u003cbutton type=\"button\" class=\"btn header-item noti-icon right-bar-toggle waves-effect\" (click)=\"toggleRightSidebar()\"\u003e--\u003e\n \u003c!-- \u003ci class=\"fas fa-cog\"\u003e\u003c/i\u003e--\u003e\n \u003c!-- \u003c/button\u003e--\u003e\n \u003c!--\u003c/div\u003e--\u003e\n\n\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/header\u003e\n\n \u003c!--Side Bar--\u003e\n \u003c!-- ======= Left Sidebar Start ======= --\u003e\n \u003cdiv class=\"vertical-menu\" *ngIf=\"isVerticalLayoutRequested() \u0026\u0026 !show_only_content\"\u003e\n \u003cdiv data-simplebar class=\"h-100\"\u003e\n \u003cngx-simplebar style=\"max-height: 100vh\"\u003e\n \u003c!--- Sidemenu --\u003e\n \u003cdiv id=\"sidebar-menu\"\u003e\n \u003c!-- Left Menu Start --\u003e\n \u003cul metis-menu class=\"metismenu list-unstyled\" id=\"side-menu\"\u003e\n \n \u003cli class=\"menu-title\"\u003e{{ 'Главное меню' | translate }}\u003c/li\u003e\n \n \u003cli *ngFor=\"let item of mainmenu\"\u003e\n \n \u003ca *ngIf=\"!hasItems(item)\" [routerLink]=\"item.url\" class=\"side-nav-url-ref\" routerLinkActive=\"active\"\u003e\n \u003ci class=\"{{item.icon || 'fas fa-circle' }}\"\u003e{{item.icon_value}}\u003c/i\u003e\n \u003cspan\u003e {{ item.title | translate }}\u003c/span\u003e\n \u003cspan class=\"badge rounded-pill bg-{{item.badge.variant}} float-end\" *ngIf=\"item.badge\"\u003e{{item.badge | translate}}\u003c/span\u003e\n \u003c/a\u003e\n \n \u003ca *ngIf=\"hasItems(item)\" href=\"javascript:void(0);\" class=\"is-parent\"\n [ngClass]=\"{'has-arrow': !item.badge, 'has-dropdown': item.badge}\"\u003e\n \u003ci class=\"{{item.icon || 'fas fa-circle' }}\"\u003e\u003c/i\u003e\n \u003cspan\u003e {{ item.title | translate }}\u003c/span\u003e\n \u003cspan class=\"badge rounded-pill float-end bg-{{item.badge.variant}}\" *ngIf=\"item.badge\"\u003e{{item.badge | translate}}\u003c/span\u003e\n \u003c/a\u003e\n \u003cul *ngIf=\"hasItems(item)\" class=\"sub-menu\" aria-expanded=\"false\"\u003e\n \u003cli *ngFor=\"let subitem of item.childs\"\u003e\n \u003ca [routerLink]=\"subitem.url\" *ngIf=\"!hasItems(subitem)\" class=\"side-nav-link-ref\" routerLinkActive=\"active\"\u003e\n \u003ci class=\"{{subitem.icon || 'fas fa-circle' }}\"\u003e\u003c/i\u003e\n {{ subitem.title | translate}}\u003c/a\u003e\n \u003ca *ngIf=\"hasItems(subitem)\" class=\"side-nav-link-a-ref has-arrow\" href=\"javascript:void(0);\"\u003e{{ subitem.title | translate}}\u003c/a\u003e\n \u003cul *ngIf=\"hasItems(subitem)\" class=\"sub-menu mm-collapse\" aria-expanded=\"false\"\u003e\n \u003cli *ngFor=\"let subSubitem of subitem.childs\"\u003e\n \u003ca [routerLink]=\"subSubitem.url\" routerLinkActive=\"active\" class=\"side-nav-link-ref\"\u003e\n \n {{ subSubitem.title | translate }}\u003c/a\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/li\u003e\n \u003c/ul\u003e\n \u003c/div\u003e\n \u003c!-- Sidebar --\u003e\n \u003c/ngx-simplebar\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c!-- Left Sidebar End --\u003e\n\n\n\n \u003c!-- Horizontal Top Bar Start --\u003e\n \u003cdiv class=\"topnav\" *ngIf=\"isHorizontalLayoutRequested() \u0026\u0026 !show_only_content\"\u003e\n \u003cdiv class=\"container-fluid\"\u003e\n \u003cnav class=\"navbar navbar-light navbar-expand-lg topnav-menu active\"\u003e\n \u003cdiv class=\"collapse navbar-collapse active\" id=\"topnav-menu-content\"\u003e\n \u003cul class=\"navbar-nav\"\u003e\n \u003cng-container *ngFor=\"let item of mainmenu\"\u003e\n \u003cli class=\"nav-item dropdown\"\u003e\n \u003ca class=\"nav-link dropdown-toggle arrow-none\" *ngIf=\"!item.childs\"\n (click)=\"onMenuClick($event)\" href=\"javascript: void(0);\" id=\"topnav-components\"\n [routerLink]=\"item.url\" role=\"button\"\u003e\u003ci class=\"fas {{item.icon}} me-2\" *ngIf=\"item.icon\"\u003e\u003c/i\u003e {{ item.title | translate}} \u003cdiv class=\"arrow-down\" *ngIf=\"hasItems(item)\"\u003e\u003c/div\u003e\n \u003c/a\u003e\n\n \u003ca *ngIf=\"item.childs\" class=\"nav-link dropdown-toggle arrow-none\"\n (click)=\"onMenuClick($event)\" href=\"javascript: void(0);\" id=\"topnav-components\"\n role=\"button\"\u003e\u003ci class=\"fas {{item.icon}} me-1\" *ngIf=\"item.icon\"\u003e\u003c/i\u003e {{item.title | translate }} \u003cdiv class=\"arrow-down\"\u003e\u003c/div\u003e\n \u003c/a\u003e\n\n \u003cdiv class=\"dropdown-menu\" aria-labelledby=\"topnav-dashboard\" *ngIf=\"hasItems(item)\"\u003e\n \u003cng-template ngFor let-i=\"index\" let-subitem [ngForOf]=\"item.childs\"\u003e\n \u003ca class=\"col dropdown-item side-nav-link-ref\" *ngIf=\"!hasItems(subitem)\"\n href=\"javascript: void(0);\" [routerLink]=\"subitem.url\"\n routerLinkActive=\"active\"\u003e{{subitem.title | translate }}\u003c/a\u003e\n\n \u003cdiv class=\"dropdown\" *ngIf=\"hasItems(subitem)\"\u003e\n \u003ca class=\"dropdown-item dropdown-toggle\" href=\"javascript: void(0);\"\n (click)=\"onMenuClick($event)\"\u003e{{ subitem.title | translate }}\n \u003cdiv class=\"arrow-down\"\u003e\u003c/div\u003e\n \u003c/a\u003e\n \u003cdiv class=\"dropdown-menu\"\u003e\n \u003cng-template ngFor let-subSubitem [ngForOf]=\"subitem.childs\"\u003e\n \u003ca class=\"dropdown-item side-nav-link-ref\"\n *ngIf=\"!hasItems(subSubitem)\" href=\"javascript: void(0);\"\n [routerLink]=\"subSubitem.url\" routerLinkActive=\"active\"\u003e{{\n subSubitem.title | translate }}\u003c/a\u003e\n \u003cdiv class=\"dropdown\" *ngIf=\"hasItems(subSubitem)\"\u003e\n\n \u003ca class=\"dropdown-item dropdown-toggle\"\n href=\"javascript: void(0);\" (click)=\"onMenuClick($event)\"\u003e{{\n subSubitem.title | translate }}\n \u003cdiv class=\"arrow-down\"\u003e\u003c/div\u003e\n \u003c/a\u003e\n \u003cdiv class=\"dropdown-menu\"\u003e\n \u003cng-template ngFor let-subSubSubitem\n [ngForOf]=\"subSubitem.childs\"\u003e\n \u003ca class=\"dropdown-item side-nav-link-ref\"\n href=\"javascript: void(0);\"\n [routerLink]=\"subSubSubitem.url\"\n routerLinkActive=\"active\"\u003e{{ subSubSubitem.title |\n translate }}\u003c/a\u003e\n \u003c/ng-template\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/ng-template\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/ng-template\u003e\n \u003c/div\u003e\n \u003c/li\u003e\n \u003c/ng-container\u003e\n \u003c/ul\u003e\n \u003c/div\u003e\n \u003c/nav\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c!-- Horizontal Top Bar End --\u003e\n\n \u003cdiv class=\"main-content\" id=\"mainContent\"\u003e\n \u003cdiv class=\"page-content\"\u003e\n \u003cdiv class=\"container-fluid\" style=\"background-color: transparent\"\u003e\n \u003c!-- content --\u003e\n \u003c!--\u003cng-container [ngTemplateOutlet]=\"breadcrumbs\"\u003e\u003c/ng-container\u003e--\u003e\n \u003crouter-outlet\u003e\u003c/router-outlet\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c!-- footer --\u003e\n \u003cfooter class=\"footer\"\u003e\n \u003cdiv class=\"container-fluid\"\u003e\n \u003cdiv class=\"row\"\u003e\n \u003cdiv class=\"col-sm-6\"\u003e\n \u003c!--2021 © B-Apps, LTD--\u003e\n \u003c/div\u003e\n \u003cdiv class=\"col-sm-6\"\u003e\n \u003cdiv class=\"text-sm-end d-none d-sm-block\"\u003e\n 2023 © B-Apps, LLP\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/footer\u003e\n \u003c/div\u003e\n\u003c/div\u003e\n\n\n\u003c!--\u003cng-template #breadcrumbs\u003e--\u003e\n\u003c!-- \u003cdiv class=\"bg-light\" *ngIf=\"router.url.indexOf('/auth') != 0\"\u003e--\u003e\n\u003c!-- \u003cdiv class=\"container\"\u003e--\u003e\n\u003c!-- \u003cnav aria-label=\"breadcrumb\"\u003e--\u003e\n\u003c!-- \u003col class=\"breadcrumb\"\u003e--\u003e\n\u003c!-- \u003cng-container *ngFor=\"let bc of breadcrumbs;index as index\"\u003e--\u003e\n\u003c!-- \u003cli *ngIf=\"index + 1 \u003c breadcrumbs.length\" class=\"breadcrumb-item\"\u003e\u003ca [routerLink]=\"[bc.url]\" class=\"text-decoration-none\"\u003e{{ bc.title }}\u003c/a\u003e\u003c/li\u003e--\u003e\n\u003c!-- \u003cli *ngIf=\"index + 1 == breadcrumbs.length\" class=\"breadcrumb-item active\"\u003e{{ bc.title }}\u003c/li\u003e--\u003e\n \u003c!--bc.icon--\u003e\n\u003c!-- \u003c/ng-container\u003e--\u003e\n\u003c!-- \u003c/ol\u003e--\u003e\n\u003c!-- \u003c/nav\u003e--\u003e\n\u003c!-- \u003c/div\u003e --\u003e\n\u003c!-- \u003c/div\u003e--\u003e\n\u003c!--\u003c/ng-template\u003e--\u003e\n\n\u003c!-- Right Sidebar --\u003e\n\u003cdiv class=\"right-bar\" (clickOutside)=\"hide()\" [exclude]=\"'.right-bar-toggle'\"\u003e\n \u003cngx-simplebar class=\"h-100\"\u003e\n \u003cdiv class=\"rightbar-title d-flex align-items-center bg-dark p-3\"\u003e\n \u003ch5 class=\"m-0 me-2 text-white\"\u003eКастомизация темы\u003c/h5\u003e\n \u003ca href=\"javascript:void(0);\" class=\"right-bar-toggle ms-auto\" (click)=\"hide();\"\u003e\u003ci class=\"fas fa-times\"\u003e\u003c/i\u003e\u003c/a\u003e\n \u003c/div\u003e\n\n \u003c!-- Settings --\u003e\n \u003chr class=\"m-0\" /\u003e\n\n \u003cdiv class=\"p-4\"\u003e\n \u003ch6 class=\"mb-3\"\u003eРасположение\u003c/h6\u003e\n \u003cdiv class=\"form-check form-check-inline\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"layout\" id=\"layout-vertical\" value=\"vertical\"\n (click)=\"changeLayout('vertical')\" [checked]=\"layoutType == 'vertical'\" \u003e\n \u003clabel class=\"form-check-label\" for=\"layout-vertical\"\u003eВертикальная\u003c/label\u003e\n \u003c/div\u003e\n \u003cdiv class=\"form-check form-check-inline\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"layout\" id=\"layout-horizontal\" value=\"horizontal\"\n (click)=\"changeLayout('horizontal')\" [checked]=\"layoutType == 'horizontal'\"\u003e\n \u003clabel class=\"form-check-label\" for=\"layout-horizontal\"\u003eГоризонтальная\u003c/label\u003e\n \u003c/div\u003e\n\n \u003ch6 class=\"mt-4 mb-3\"\u003eЦветовой режим\u003c/h6\u003e\n\n \u003cdiv class=\"form-check form-check-inline\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"mode\" id=\"layout-mode-light\" value=\"light\"\n [checked]=\"mode == 'light'\" (change)=\"changeMode('light')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"layout-mode-light\"\u003eСветлый\u003c/label\u003e\n \u003c/div\u003e\n \u003cdiv class=\"form-check form-check-inline\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"mode\" id=\"layout-mode-dark\" value=\"dark\"\n [checked]=\"mode == 'dark'\" (change)=\"changeMode('dark')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"layout-mode-dark\"\u003eТемный\u003c/label\u003e\n \u003c/div\u003e\n\n \u003ch6 class=\"mt-4 mb-3\"\u003eШинира слоя\u003c/h6\u003e\n\n \u003cdiv class=\"form-check form-check-inline\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"layout-width\" id=\"layout-width-fuild\" value=\"fluid\"\n [checked]=\"width == 'fluid'\" (change)=\"changeWidth('fluid')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"layout-width-fuild\"\u003eРастянутый\u003c/label\u003e\n \u003c/div\u003e\n \u003cdiv class=\"form-check form-check-inline\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"layout-width\" id=\"layout-width-boxed\" value=\"boxed\"\n [checked]=\"width == 'boxed'\" (change)=\"changeWidth('boxed')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"layout-width-boxed\"\u003eСжатый\u003c/label\u003e\n \u003c/div\u003e\n\n \u003ch6 class=\"mt-4 mb-3\"\u003eПоложение главного слоя\u003c/h6\u003e\n\n \u003cdiv class=\"form-check form-check-inline\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"layout-position\" id=\"layout-position-fixed\"\n value=\"fixed\" [checked]=\"position == 'fixed'\" (change)=\"changePosition('fixed')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"layout-position-fixed\"\u003eФиксированный\u003c/label\u003e\n \u003c/div\u003e\n \u003cdiv class=\"form-check form-check-inline\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"layout-position\" id=\"layout-position-scrollable\"\n value=\"scrollable\" [checked]=\"position == 'scrollable'\" (change)=\"changePosition('scrollable')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"layout-position-scrollable\"\u003eПрокручиваемый\u003c/label\u003e\n \u003c/div\u003e\n\n \u003ch6 class=\"mt-4 mb-3\"\u003eЦвет заголовка\u003c/h6\u003e\n\n \u003cdiv class=\"form-check form-check-inline\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"topbar-color\" id=\"topbar-color-light\" value=\"light\"\n [checked]=\"topbar == 'light'\" (change)=\"changeTopbar('light')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"topbar-color-light\"\u003eСветлый\u003c/label\u003e\n \u003c/div\u003e\n \u003cdiv class=\"form-check form-check-inline\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"topbar-color\" id=\"topbar-color-dark\" value=\"dark\"\n [checked]=\"topbar == 'dark'\" (change)=\"changeTopbar('dark')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"topbar-color-dark\"\u003eТемный\u003c/label\u003e\n \u003c/div\u003e\n\n \u003cdiv *ngIf=\"isVisible !== 'horizontal'\"\u003e\n \u003ch6 class=\"mt-4 mb-3 sidebar-setting\"\u003eРазмер бокового меню\u003c/h6\u003e\n\n \u003cdiv class=\"form-check sidebar-setting\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"sidebar-size\" id=\"sidebar-size-default\"\n value=\"default\" [checked]=\"sidebarsize == 'default'\" (change)=\"changeSidebarSize('default')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"sidebar-size-default\"\u003eОбычный\u003c/label\u003e\n \u003c/div\u003e\n \u003cdiv class=\"form-check sidebar-setting\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"sidebar-size\" id=\"sidebar-size-compact\"\n value=\"compact\" [checked]=\"sidebarsize == 'compact'\" (change)=\"changeSidebarSize('compact')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"sidebar-size-compact\"\u003eКомпактный\u003c/label\u003e\n \u003c/div\u003e\n \u003cdiv class=\"form-check sidebar-setting\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"sidebar-size\" id=\"sidebar-size-small\"\n value=\"small\" [checked]=\"sidebarsize == 'small'\" (change)=\"changeSidebarSize('small')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"sidebar-size-small\"\u003eМаленький\u003c/label\u003e\n \u003c/div\u003e\n\n \u003ch6 class=\"mt-4 mb-3 sidebar-setting\"\u003eЦвет бокового меню\u003c/h6\u003e\n\n \u003c!--\u003cdiv class=\"form-check sidebar-setting\"\u003e--\u003e\n \u003c!-- \u003cinput class=\"form-check-input\" type=\"radio\" name=\"sidebar-color\" id=\"sidebar-color-light\"--\u003e\n \u003c!-- value=\"light\" [checked]=\"sidebarcolor == 'light'\" (change)=\"changeSidebarColor('light')\"\u003e--\u003e\n \u003c!-- \u003clabel class=\"form-check-label\" for=\"sidebar-color-light\"\u003eСветлый\u003c/label\u003e--\u003e\n \u003c!--\u003c/div\u003e--\u003e\n \u003cdiv class=\"form-check sidebar-setting\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"sidebar-color\" id=\"sidebar-color-dark\"\n value=\"dark\" [checked]=\"sidebarcolor == 'dark'\" (change)=\"changeSidebarColor('dark')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"sidebar-color-dark\"\u003eТемный\u003c/label\u003e\n \u003c/div\u003e\n \u003cdiv class=\"form-check sidebar-setting\"\u003e\n \u003cinput class=\"form-check-input\" type=\"radio\" name=\"sidebar-color\" id=\"sidebar-color-brand\"\n value=\"brand\" [checked]=\"sidebarcolor == 'brand'\" (change)=\"changeSidebarColor('brand')\"\u003e\n \u003clabel class=\"form-check-label\" for=\"sidebar-color-brand\"\u003eПо бренду\u003c/label\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \u003c/ngx-simplebar\u003e\n\u003c/div\u003e\n\u003c!-- /Right-bar --\u003e\n\n\n\u003cp-dialog\n [(visible)]=\"flow_widget\"\n header=\"Чат\"\n [resizable]=\"true\"\n [style]=\"{ height: '780px',width:'1200px'}\"\n \n \n [blockScroll]=\"false\"\n [draggable]=\"true\"\n [focusOnShow]=\"true\"\n [resizable]=\"true\"\n [closeOnEscape]=\"false\"\n [dismissableMask]=\"true\"\n [closable]=\"true\"\n [modal]=\"true\"\n (onMaximize)=\"onMaximize($event)\"\n\u003e\n \u003cjit-page [cache]=\"false\" type=\"angular_widget\" code=\"c_c2d_flow_widget\" (getComponent)=\"getComponent_flow_widget($event)\" [data]=\"{}\"\u003e\u003c/jit-page\u003e\n\u003c/p-dialog\u003e\n\n\u003cp-overlayPanel #template1 [style]=\"{ 'width': '450px', 'max-height': '80vh', overflow: 'scroll' }\"\u003e\n \u003cng-template pTemplate\u003e\n\n \u003cdiv *ngIf=\"found_bp_points \u0026\u0026 found_bp_points.items\"\u003e\n \u003ch4\u003eBP-POINTS \u003cspan class=\"badge badge-primary\" [innerHtml]=\"found_bp_points.allCount\"\u003e\u003c/span\u003e\u003c/h4\u003e\n \u003cdiv class=\"mt-3\" *ngFor=\"let point of found_bp_points.items\"\u003e\n \u003ca [href]=\"'/bp_pointsdetails/' + point.id\"\u003e\n \u003cspan class=\"text-primary\" [innerHtml]=\"point.code\"\u003e\u003c/span\u003e\n [\u003cspan class=\"text-info\" [innerHtml]=\"point.title\"\u003e\u003c/span\u003e]\n \u003c/a\u003e\n \u003c/div\u003e\n \u003chr /\u003e\n \u003c/div\u003e\n \n \u003cdiv *ngIf=\"found_bp_processes \u0026\u0026 found_bp_processes.items\"\u003e\n \u003ch4\u003eБизнес-процессы \u003cspan class=\"badge badge-primary\" [innerHtml]=\"found_bp_points.allCount\"\u003e\u003c/span\u003e\u003c/h4\u003e\n \u003cdiv class=\"mt-3\" *ngFor=\"let point of found_bp_processes.items\"\u003e\n \u003ca [href]=\"'/bp_processesdetails/' + point.id\"\u003e\n \u003cspan class=\"text-primary\" [innerHtml]=\"point.code\"\u003e\u003c/span\u003e\n [\u003cspan class=\"text-info\" [innerHtml]=\"point.title\"\u003e\u003c/span\u003e]\n \u003c/a\u003e\n \u003c/div\u003e\n \u003chr /\u003e\n \u003c/div\u003e\n \n \u003cdiv *ngIf=\"found_rest_services \u0026\u0026 found_rest_services.items\"\u003e\n \u003ch4\u003eREST-Сервисы \u003cspan class=\"badge badge-primary\" [innerHtml]=\"found_bp_points.allCount\"\u003e\u003c/span\u003e\u003c/h4\u003e\n \u003cdiv class=\"mt-3\" *ngFor=\"let point of found_rest_services.items\"\u003e\n \u003ca [href]=\"'/rest_servicesdetails/' + point.id\"\u003e\n \u003cspan class=\"text-primary\" [innerHtml]=\"point.code\"\u003e\u003c/span\u003e\n [\u003cspan class=\"text-info\" [innerHtml]=\"point.title\"\u003e\u003c/span\u003e]\n \u003c/a\u003e\n \u003c/div\u003e\n \u003chr /\u003e\n \u003c/div\u003e\n \n \u003cdiv *ngIf=\"found_pages \u0026\u0026 found_pages.length\"\u003e\n \u003ch4\u003eСтраницы \u003cspan class=\"badge badge-primary\" [innerHtml]=\"found_bp_points.allCount\"\u003e\u003c/span\u003e\u003c/h4\u003e\n \u003cdiv class=\"mt-3\" *ngFor=\"let point of found_pages.items\"\u003e\n \u003ca [href]=\"'/pagesdetails/' + point.id\"\u003e\n \u003cspan class=\"text-primary\" [innerHtml]=\"point.code\"\u003e\u003c/span\u003e\n [\u003cspan class=\"text-info\" [innerHtml]=\"point.title\"\u003e\u003c/span\u003e]\n \u003c/a\u003e\n \u003c/div\u003e\n \u003chr /\u003e\n \u003c/div\u003e\n \n \u003cdiv *ngIf=\"found_angular_widget \u0026\u0026 found_angular_widget.items\"\u003e\n \u003ch4\u003eВиджеты \u003cspan class=\"badge badge-primary\" [innerHtml]=\"found_bp_points.allCount\"\u003e\u003c/span\u003e\u003c/h4\u003e\n \u003cdiv class=\"mt-3\" *ngFor=\"let point of found_angular_widget.items\"\u003e\n \u003ca [href]=\"'/angular_widgetdetails/' + point.id\"\u003e\n \u003cspan class=\"text-primary\" [innerHtml]=\"point.code\"\u003e\u003c/span\u003e\n [\u003cspan class=\"text-info\" [innerHtml]=\"point.title\"\u003e\u003c/span\u003e]\n \u003c/a\u003e\n \u003c/div\u003e\n \u003chr /\u003e\n \u003c/div\u003e\n \u003c/ng-template\u003e\n\u003c/p-overlayPanel\u003e\n","json":"const vm = this; \n\nconst {forkJoin} = rx;\nconst {map,take} = rxjs;\nconst {QueryOptions} = Models;\nconst { Validators } = forms;\n\n\n// export layout related constants\nconst LAYOUT_VERTICAL = 'vertical';\nconst LAYOUT_HORIZONTAL = 'horizontal';\nconst LAYOUT_MODE = 'light';\nconst LAYOUT_WIDTH = 'fluid';\nconst LAYOUT_POSITION = 'fixed';\nconst TOPBAR = 'light';\nconst SIDEBAR_SIZE = 'small';\nconst SIDEBAR_COLOR = 'light';\n\nreturn class GenClass extends vm.constructor {\n \n show_only_content = false;\n mainmenu = [];\n accountmenu = [];\n // layout related config\n layoutType;\n layoutMode;\n layoutwidth;\n layoutposition;\n topbar;\n sidebarcolor;\n sidebarsize;\n\n isVisible;\n menu;\n\n layout;\n mode;\n width;\n position;\n\n element;\n flagvalue;\n cookieValue;\n countryName;\n valueset;\n\n isCondensed = false;\n isSidebar;\n\n cart = [];\n user;\n user_detail;\n loading;\n towns;\n isMenuCollapsed = true;\n notifications = [];\n show_search_button = false;\n html;\n selected_kato;\n cat_table = [];\n opened_moda;\n selected_cat;\n show_search = false;\n show_menu = false;\n show_cat_menu = false;\n def_kato;\n after_vi = false;\n foot = [false, false, false, false];\n ya_town;\n form_search;\n breadcrumbs = [];\n router_ev_sub;\n\n pages_found = [];\n page_search;\n search_result;\n\n found_bp_points;\n found_bp_processes;\n found_rest_services;\n found_pages;\n found_angular_widget;\n \n \n widget = [];\n widget_id = [];\n widget_json = [];\n widget_template = [];\n \n rightSideCallBar;\n flow_widget_link;\n flow_widget;\n \n getComponent_right_side_call_bar(event){\n \n this.rightSideCallBar = event;\n } \n \n getComponent_flow_widget(event){\n console.log(\"LINKED getComponent_flow_widget\",event);\n this.flow_widget_link = event;\n } \n \n get fs() {\n return this.form_search.controls;\n }\n \n param_sub = this.route.queryParams.pipe(take(1)).subscribe(params =\u003e {\n if (params.search) {\n this.fs.search.setValue(params.search);\n }\n });\n \n user_subs = this.accountService.user.subscribe(x =\u003e {\n this.user = x;\n if (x \u0026\u0026 x.sessioninfo) {\n //this.getUserInfo(x.sessioninfo.id);\n this.notifications = x.alerts || [];\n }\n\n });\n \n ngOnInit() {\n \n // ------------------\n const MAX_COUNT = 60 * 15; // максимальное значение обратного отсчета в секундах\n \n this.subs_interval = rx.interval(1 * 60 * 1000).subscribe(x =\u003e {\n if (localStorage \u0026\u0026 localStorage.getItem(\"lastActivity\")){\n let seconds = (new Date() - new Date(localStorage.getItem(\"lastActivity\")) ) / 1000;\n if (seconds \u003e MAX_COUNT) {\n \n if (this.session_parameters \u0026\u0026 this.session_parameters.ui_ng_session_autologout == \"1\") {\n this.subs_interval.unsubscribe();\n this.logout();\n } else{\n this.accountService.getSession(true);\n }\n }\n //console.log(seconds, localStorage.getItem('lastActivity'));\n }\n });\n \n // слушаем движение мышки\n rx.fromEvent(document,'mousemove').subscribe(event =\u003e {\n localStorage.setItem(\"lastActivity\",new Date());\n //console.log(localStorage.getItem('lastActivity'));\n });\n \n // слушаем кнопки мышки\n rx.fromEvent(document,'mousedown').subscribe(event =\u003e {\n localStorage.setItem(\"lastActivity\",new Date());\n //console.log(localStorage.getItem('lastActivity'));\n });\n \n // слушаем клавиатуру\n rx.fromEvent(window,'keydown').subscribe(event =\u003e {\n localStorage.setItem(\"lastActivity\",new Date());\n //console.log(localStorage.getItem('lastActivity'));\n });\n \n \n // ------------------ \n\n this.mainmenu = this.appComponent.mainMenu;\n this.accountmenu = this.appComponent.accountMenu;\n \n this.element = document.documentElement;\n\n this.mode = LAYOUT_MODE;\n this.width = LAYOUT_WIDTH;\n this.position = LAYOUT_POSITION;\n\n this.layoutMode = LAYOUT_MODE;\n // default settings\n this.layoutType = LAYOUT_VERTICAL;\n this.layoutwidth = LAYOUT_WIDTH;\n this.layoutposition = LAYOUT_POSITION;\n this.sidebarcolor = SIDEBAR_COLOR;\n this.sidebarsize = SIDEBAR_SIZE;\n this.topbar = TOPBAR;\n\n this.LayoutMode(this.layoutMode);\n this.LayoutWidth(this.layoutwidth);\n this.LayoutPosition(this.layoutposition);\n this.Topbar(this.topbar);\n this.SidebarColor(this.sidebarcolor);\n this.SidebarSize(this.sidebarsize);\n\n // listen to event and change the layout, theme, etc\n this.eventService.subscribe('changeLayout', (layout) =\u003e {\n this.layoutType = layout;\n \n document.body.setAttribute('data-layout', this.layoutType);\n \n if(this.layoutType == 'horizontal') {\n document.body.removeAttribute('data-sidebar');\n } else {\n this.SidebarColor(this.sidebarcolor);\n }\n });\n\n this.eventService.subscribe('changeMode', (mode) =\u003e {\n this.layoutMode = mode;\n this.LayoutMode(this.layoutMode);\n \n this.topbar = mode;\n this.Topbar(this.layoutMode);\n \n this.sidebarcolor = mode == 'dark' ? 'dark' : 'light';\n this.SidebarColor(this.sidebarcolor);\n });\n\n this.eventService.subscribe('changeWidth', (width) =\u003e {\n this.layoutwidth = width;\n this.LayoutWidth(this.layoutwidth);\n });\n\n this.eventService.subscribe('changePosition', (position) =\u003e {\n this.layoutposition = position;\n this.LayoutPosition(this.layoutposition);\n });\n\n this.eventService.subscribe('changeTopbar', (topbar) =\u003e {\n this.topbar = topbar;\n this.Topbar(this.topbar);\n });\n\n this.eventService.subscribe('changeSidebarColor', (sidebarcolor) =\u003e {\n this.sidebarcolor = sidebarcolor;\n this.SidebarColor(this.sidebarcolor);\n });\n\n this.eventService.subscribe('changeSidebarSize', (sidebarsize) =\u003e {\n this.sidebarsize = sidebarsize;\n this.SidebarSize(this.sidebarsize);\n });\n\n\n this.isSidebar = SIDEBAR_COLOR;\n if (this.isSidebar === 'dark') {\n document.body.setAttribute('data-sidebar', 'dark');\n }\n\n /**\n * ANGULAR WIDGET\n */\n \n\n \n this.breadcrumbs = [];\n this.breadcrumbs.push({ icon: 'home', title: 'Главная', url: '/' });\n\n this.router.events\n // .pipe(rxjs.filter((e) =\u003e e instanceof NavigationEnd))\n .subscribe((e) =\u003e {\n\n if (e.navigationTrigger === 'popstate') {\n this.ngOnInit();\n }\n \n this.breadcrumbs = [];\n this.breadcrumbs.push({ icon: 'home', title: 'Главная', url: '/' });\n });\n\n\n this.websocketService.messages.subscribe(msg =\u003e {\n this.notifications.push(msg.data);\n this.html = msg.data.html;\n this.alertService.info(\"Новое уведомление: \" + msg.data.title);\n });\n\n this.form_search = this.formBuilder.group({\n search: ['', Validators.required],\n });\n \n // --- ПЛАВАЮЩИЙ ВИДЖЕТ\n \n //this.flow_widget = true;\n // -----------------\n \n }\n\n /***\n * Activate droup down set \n */\n ngAfterViewInit() {\n // \n }\n \n ngOnDestroy() {\n this.user_subs.unsubscribe();\n this.param_sub.unsubscribe();\n if(this.flow_widget) this.flow_widget = false;\n // this.router_ev_sub.unsubscribe();\n }\n\n getBreadCrumbs() {\n this.breadcrumbs = [];\n // this.breadcrumbs.push({ icon: 'home', title: 'E-Telegramm', url: '/' });\n }\n\n get filtered_notifications() {\n return this.notifications.filter(x =\u003e x.is_closed == 0);\n }\n\n get has_new_notifications() {\n return this.notifications \u0026\u0026 this.notifications.some(x =\u003e x.is_closed == 0);\n }\n\n // Поиск в хедере\n onFSSubmit(event) {\n\n // let options = new QueryOptions('get_pages_by_code_or_title');\n \n // if (this.page_search) {\n // options.param1 = this.page_search;\n // options.param2 = this.page_search;\n // options.perpage = 30;\n // options.page = 1\n\n // this.dbQueryService.getQuery(options).subscribe(resp =\u003e {\n // this.pages_found = resp.items;\n // });\n // } else {\n // this.pages_found = [];\n // }\n \n let opt1 = new QueryOptions('bp_points');\n opt1.flt = { script_txt: this.fs.search.value }\n \n let opt2 = new QueryOptions('bp_processes');\n opt2.flt = { code: this.fs.search.value, title: this.fs.search.value }\n \n let opt3 = new QueryOptions('rest_services');\n opt3.flt = { body: this.fs.search.value, title: this.fs.search.value }\n \n let opt4 = new QueryOptions('pages');\n opt4.flt = { code: this.fs.search.value, title: this.fs.search.value }\n \n let opt5 = new QueryOptions('angular_widget');\n opt5.flt = { code: this.fs.search.value, title: this.fs.search.value }\n \n forkJoin(\n this.dbQueryService.getQuery(opt1),\n this.dbQueryService.getQuery(opt2),\n // this.dbQueryService.getQuery(opt3),\n this.dbQueryService.getQuery(opt4),\n this.dbQueryService.getQuery(opt5),\n )\n .subscribe((resp) =\u003e {\n this.template1.hide();\n this.template1.toggle(event);\n \n this.found_bp_points = resp[0];\n this.found_bp_processes = resp[1];\n // this.search_result.rest_services = resp[2];\n this.found_pages = resp[3];\n this.found_angular_widget = resp[4];\n })\n \n }\n\n updateNotification(notification) {\n this.dbQueryService.updateTable('notifications', [{\n id: notification.id,\n is_closed: \"1\"\n }]).subscribe(resp =\u003e {\n if (resp['error'] == 0) {\n notification.is_closed = 1;\n // this.alertService.info('Прочитано');\n } else {\n this.alertService.error('Ошибка! ' + resp['error_code'] + ' - ' + resp['error_dscr']);\n }\n });\n }\n\n getUserInfo(id) {\n\n this.dbQueryService.getDetail('users', id)\n .pipe(map(resp =\u003e resp['users']))\n .subscribe(users =\u003e {\n if (users \u0026\u0026 users.length \u003e 0) this.user_detail = users[0];\n });\n }\n\n logout() {\n this.accountService.logout();\n }\n \n /**\n * ==========================================================================\n */\n\n /**\n * Toggles the right sidebar\n */\n toggleRightSidebar() {\n document.body.classList.toggle('right-bar-enabled');\n }\n\n /**\n * Check if the vertical layout is requested\n */\n isVerticalLayoutRequested() {\n return this.layoutType === LAYOUT_VERTICAL;\n }\n\n /**\n * Check if the horizontal layout is requested\n */\n isHorizontalLayoutRequested() {\n return this.layoutType === LAYOUT_HORIZONTAL;\n }\n\n LayoutMode(mode) {\n if (mode === 'light') {\n document.body.setAttribute(\"data-layout-mode\", \"light\");\n document.body.setAttribute(\"data-topbar\", \"light\");\n } else if (mode === 'dark') {\n document.body.setAttribute(\"data-sidebar\", \"dark\");\n document.body.setAttribute(\"data-layout-mode\", \"dark\");\n document.body.setAttribute(\"data-topbar\", \"dark\");\n } else {\n document.body.setAttribute(\"data-layout-mode\", \"light\");\n document.body.setAttribute(\"data-topbar\", \"light\");\n }\n }\n\n LayoutWidth(width) {\n if (width === 'fluid') {\n document.body.setAttribute(\"data-layout-size\", \"fluid\");\n } else {\n document.body.setAttribute(\"data-layout-size\", \"boxed\");\n }\n }\n\n LayoutPosition(position) {\n if (position === 'fixed') {\n document.body.setAttribute(\"data-layout-scrollable\", \"false\");\n } else {\n document.body.setAttribute(\"data-layout-scrollable\", \"true\");\n }\n }\n\n SidebarColor(color) {\n if (color === 'light') {\n document.body.setAttribute('data-sidebar', 'light');\n } else if (color === 'dark') {\n document.body.setAttribute('data-sidebar', 'dark');\n } else if (color === 'brand') {\n document.body.setAttribute('data-sidebar', 'brand');\n } else {\n document.body.setAttribute('data-sidebar', 'dark');\n }\n }\n\n Topbar(topbar) {\n if (topbar === 'light') {\n document.body.setAttribute(\"data-topbar\", \"light\");\n } else if (topbar === 'dark') {\n document.body.setAttribute(\"data-topbar\", \"dark\");\n } else {\n document.body.setAttribute(\"data-topbar\", \"dark\");\n }\n }\n\n SidebarSize(size) {\n if (size === 'default') {\n document.body.setAttribute('data-sidebar-size', 'lg');\n } else if (size === 'compact') {\n document.body.setAttribute(\"data-sidebar-size\", \"md\");\n } else if (size === 'small') {\n document.body.setAttribute(\"data-sidebar-size\", \"sm\");\n } else {\n document.body.setAttribute('data-sidebar-size', 'lg');\n }\n }\n\n /**\n * On menu click\n */\n onMenuClick(event) {\n const nextEl = event.target.nextElementSibling;\n if (nextEl) {\n const parentEl = event.target.parentNode;\n if (parentEl) {\n parentEl.classList.remove('show');\n }\n nextEl.classList.toggle('show');\n }\n return false;\n }\n /**\n * Returns true or false if given menu item has child or not\n * @param item menuItem\n */\n hasItems(item) {\n return item.childs !== undefined ? item.childs.length \u003e 0 : false;\n }\n\n /**\n * Right-Sidebar Component\n */\n hide() {\n document.body.classList.remove('right-bar-enabled');\n }\n\n /**\n * Change the layout onclick\n * @param layout Change the layout\n */\n changeLayout(layout) {\n this.eventService.broadcast('changeLayout', layout);\n }\n\n changeMode(mode) {\n this.mode = mode;\n this.eventService.broadcast('changeMode', mode);\n }\n\n changeWidth(width) {\n this.width = width;\n this.eventService.broadcast('changeWidth', width);\n }\n\n changePosition(scrollable) {\n this.position = scrollable;\n this.eventService.broadcast('changePosition', scrollable);\n }\n\n changeTopbar(topbar) {\n this.topbar = topbar;\n this.eventService.broadcast('changeTopbar', topbar);\n }\n\n changeSidebarColor(sidebarcolor) {\n this.sidebarcolor = sidebarcolor;\n this.eventService.broadcast('changeSidebarColor', sidebarcolor);\n }\n\n changeSidebarSize(sidebarsize) {\n this.sidebarsize = sidebarsize;\n this.eventService.broadcast('changeSidebarSize', sidebarsize);\n }\n\n \n /**\n * On mobile toggle button clicked\n */\n toggleMobileMenu(event) {\n event.preventDefault();\n \n if(this.isHorizontalLayoutRequested()) {\n const element = document.getElementById('topnav-menu-content');\n element?.classList.toggle('show');\n } else {\n document.body.classList.toggle('sidebar-enable');\n const currentSIdebarSize = document.body.getAttribute(\"data-sidebar-size\");\n if (window.screen.width \u003e= 992) {\n if (currentSIdebarSize == null) {\n (document.body.getAttribute('data-sidebar-size') == null || document.body.getAttribute('data-sidebar-size') == \"lg\") ? document.body.setAttribute('data-sidebar-size', 'sm') : document.body.setAttribute('data-sidebar-size', 'lg')\n } else if (currentSIdebarSize == \"md\") {\n (document.body.getAttribute('data-sidebar-size') == \"md\") ? document.body.setAttribute('data-sidebar-size', 'sm') : document.body.setAttribute('data-sidebar-size', 'md')\n } else {\n (document.body.getAttribute('data-sidebar-size') == \"sm\") ? document.body.setAttribute('data-sidebar-size', 'lg') : document.body.setAttribute('data-sidebar-size', 'sm')\n }\n }\n this.isCondensed = !this.isCondensed;\n }\n }\n \n}"}