ngx-admin-lte
Version:
AdminLTE theme for angular
3 lines (2 loc) • 36.5 kB
JavaScript
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs/ReplaySubject"),require("rxjs/Rx"),require("@angular/router"),require("@ngx-translate/core"),require("@angular/http"),require("rxjs/add/operator/map"),require("rxjs/Observable"),require("angular2-toaster/angular2-toaster"),require("@angular/platform-browser"),require("@ngx-translate/http-loader"),require("@angular/common/http")):"function"==typeof define&&define.amd?define(["exports","@angular/core","rxjs/ReplaySubject","rxjs/Rx","@angular/router","@ngx-translate/core","@angular/http","rxjs/add/operator/map","rxjs/Observable","angular2-toaster/angular2-toaster","@angular/platform-browser","@ngx-translate/http-loader","@angular/common/http"],e):e(t["ngx-admin-lte"]={},t.ng.core,t.Rx,t.Rx,t.ng.router,t.core$1,t.ng.http,t.Rx.Observable.prototype,t.Rx,t.angular2Toaster,t.ng.platformBrowser,t.httpLoader,t.ng.common.http)}(this,function(t,e,n,s,r,a,i,o,l,c,u,p,d){"use strict";var g=function(){function t(){this.initialData={description:"",display:!1,header:"",levels:[{icon:"clock-o",link:["/"],title:"Default"}]},this.current=new n.ReplaySubject(1),this.clear()}return t.prototype.setCurrent=function(t){this.current.next(t)},t.prototype.getCurrent=function(){return this.current},t.prototype.clear=function(){this.setCurrent(this.initialData)},t}();g.decorators=[{type:e.Injectable}],g.ctorParameters=function(){return[]};var h=function(){function t(t){void 0===t&&(t={}),this.connected=!1,this.firstname=t.firstname||"",this.lastname=t.lastname||"",this.email=t.email||"",this.avatarUrl=t.avatarUrl||"",this.creationDate=t.creation_date||Date.now(),this.preferredLang=t.preferredLang||null,this.connected=t.connected||!1}return t.prototype.getName=function(){return this.firstname+" "+this.lastname},t}(),m=function(){function t(t){this.router=t,this.current=new s.ReplaySubject(1)}return t.prototype.setCurrent=function(t){this.current.next(t)},t.prototype.getCurrent=function(){return this.current},t.prototype.logout=function(){if(this.logoutAction)this.logoutAction();else{var t=new h;t.connected=!1,this.setCurrent(t),this.router.navigate(["login"])}},t}();m.decorators=[{type:e.Injectable}],m.ctorParameters=function(){return[{type:r.Router}]};var f=function(){function t(t,e){var n=this;this.router=t,this.userService=e,this.connected=!1,this.userService.getCurrent().subscribe(function(t){n.connected=t.connected})}return t.prototype.canActivate=function(){return this.connected||this.router.navigate(["login"]),this.connected},t}();f.decorators=[{type:e.Injectable}],f.ctorParameters=function(){return[{type:r.Router},{type:m}]};var y=["en","fr","ru","he","zh","pt","it"],b=/en|fr|ru|he|zh|pt|it/,v=function(){function t(t,e){var a=this;this.userServ=t,this.translate=e,this.lang="us",e.addLangs(y),e.setDefaultLang("en"),this.userServ.getCurrent().subscribe(function(t){a.currentUser=t;var e=a.translate.getBrowserLang(),n=a.translate.getBrowserCultureLang();console.log('Detected browser language: "'+n+'"');var s="en",r=a.currentUser?a.currentUser.preferredLang:null;r?(console.log('Detected User preferred language: "'+r+'"'),s=r.match(b)?r:"en"):s=e.match(b)?e:"en",a.translate.use(s),console.log('Translation language has been set to: "'+s+'"')})}return t.prototype.ngOnInit=function(){},t.prototype.getTranslate=function(){return this.translate},t}();v.decorators=[{type:e.Injectable}],v.ctorParameters=function(){return[{type:m},{type:a.TranslateService}]};var x=function(){function t(t){this.translate=t}return t.prototype.log=function(e,t,n,s){if(n){var r={};s&&(r=s[0]?{0:s[0]}:r,r=s[1]?{0:s[0],1:s[1]}:r,r=s[2]?{0:s[0],1:s[1],2:s[2]}:r),this.translate.getTranslate().get(n,r).subscribe(function(t){console.log(e+": "+t)})}else console.log(e+": "+t)},t}();x.decorators=[{type:e.Injectable}],x.ctorParameters=function(){return[{type:v}]};var _=function(){function t(){var e=this;this.messagesList=[],this.newMessages=new s.Subject,this.messages=new s.ReplaySubject(1),this.updates=new s.Subject,this.create=new s.Subject,this.updates.subscribe(function(t){e.messagesList=t(e.messagesList),console.log(e.messagesList),e.messages.next(e.messagesList)}),this.newMessages.map(function(e){return function(t){return t.concat(e)}}).subscribe(this.updates)}return t.prototype.addMessage=function(t){this.newMessages.next(t)},t}();_.decorators=[{type:e.Injectable}],_.ctorParameters=function(){return[]};var S=function(){function t(){var e=this;this.notificationsList=[],this.newNotifications=new s.Subject,this.notifications=new s.ReplaySubject(1),this.updates=new s.Subject,this.create=new s.Subject,this.updates.subscribe(function(t){e.notificationsList=t(e.notificationsList),console.log(e.notificationsList),e.notifications.next(e.notificationsList)}),this.newNotifications.map(function(e){return function(t){return t.concat(e)}}).subscribe(this.updates)}return t.prototype.addNotification=function(t){this.newNotifications.next(t)},t}();S.decorators=[{type:e.Injectable}],S.ctorParameters=function(){return[]};var I=function(){function t(t){this.http=t,this.modelName="to-configure",this.headers=new i.Headers,this.headers.append("Content-Type","application/json"),this.headers.append("Accept","application/json")}return t.prototype.setApiUrl=function(t){this.serverWithApiUrl=t},t.prototype.getAllFromLS=function(t){void 0===t&&(t=0);var e=localStorage.getItem("rest_all_"+this.modelName);if(e){var n=JSON.parse(e);if(n&&n.date<Date.now()-t)return n}},t.prototype.getFromCache=function(e){return this.lastGetAll?this.lastGetAll.find(function(t){return t.id===e}):null},t.prototype.getActionUrl=function(){return this.serverWithApiUrl+this.modelName+"/"},t.prototype.getAll=function(){var r=this;return this.http.get(this.getActionUrl(),{headers:this.headers}).map(function(t){var e=t.json()[r.modelName],n=e.records.map(function(n){var s={};return e.columns.forEach(function(t,e){s[t]=n[e]}),s}),s={data:r.lastGetAll=n,date:Date.now()};return localStorage.setItem("rest_all_"+r.modelName,JSON.stringify(s)),n})["catch"](this.handleError)},t.prototype.get=function(t){var n=this;return this.http.get(this.getActionUrl()+t,{headers:this.headers}).map(function(t){var e=t.json();return n.lastGet=e})["catch"](this.handleError)},t.prototype.add=function(t){var e=JSON.stringify(t);return this.http.post(this.getActionUrl(),e,{headers:this.headers}).map(function(t){return t.json()})["catch"](this.handleError)},t.prototype.addAll=function(t){var e=JSON.stringify(t);return this.http.post(this.getActionUrl(),e,{headers:this.headers}).map(function(t){return t.json()})["catch"](this.handleError)},t.prototype.update=function(t,e){return this.http.put(this.getActionUrl()+t,JSON.stringify(e),{headers:this.headers}).map(function(t){return t.json()})["catch"](this.handleError)},t.prototype["delete"]=function(t){return this.http["delete"](this.getActionUrl()+t,{headers:this.headers})["catch"](this.handleError)},t.prototype.handleError=function(t){return console.error(t),l.Observable["throw"](t.json().error||"Server error")},t}();I.decorators=[{type:e.Injectable}],I.ctorParameters=function(){return[{type:i.Http}]};var w=function(){function t(t){this.router=t,this.current=new s.ReplaySubject(1)}return t.prototype.setCurrent=function(t){this.current.next(t)},t.prototype.getCurrent=function(){return this.current},t}();w.decorators=[{type:e.Injectable}],w.ctorParameters=function(){return[{type:r.Router}]};var C=function(){function t(){this.current=new s.ReplaySubject(1),this.logo={html_mini:"<b>A</b>LT",html_lg:"<b>Admin</b>LTE"},this.setCurrent(this.logo)}return t.prototype.setCurrent=function(t){(t.small||t.big)&&console.log("NgxAdminLTE: LogoService setCurrent: small and big are now deprecated in logo, use html_mini and html_lg"),this.current.next(t)},t.prototype.getCurrent=function(){return this.current},t}();C.decorators=[{type:e.Injectable}],C.ctorParameters=function(){return[]};var O=function(){function t(){this.current=new s.ReplaySubject(1),this["default"]={right_part:"Anything you want",left_part:'<strong>Copyright © 2016 <a href="#" routerLink="/">Company X</a>.\n \t</strong> All rights reserved.'}}return t.prototype.setCurrent=function(t){this.current.next(t)},t.prototype.getCurrent=function(){return this.current},t}();O.decorators=[{type:e.Injectable}],O.ctorParameters=function(){return[]};var k=function(){function t(){this.current_state=new s.ReplaySubject(1),this.default_state=!1,this.current_state_value=!1,this.current_items=new s.ReplaySubject(1),this.default_items=[{id:"control-sidebar-home-tab",icon:"home",active:!0,items:[{html:"\n <h3 class='control-sidebar-heading'>Recent Activity</h3>\n <ul class='control-sidebar-menu'>\n <li><a href='javascript::;'> <i\n class='menu-icon fa fa-birthday-cake bg-red'></i>\n <div class='menu-info'>\n <h4 class='control-sidebar-subheading'>Langdon's Birthday</h4>\n <p>Will be 23 on April 24th</p>\n </div>\n </a></li>\n </ul>"},{html:"\n <h3 class='control-sidebar-heading'>Tasks Progress</h3>\n <ul class='control-sidebar-menu'>\n <li><a href='javascript::;'>\n <h4 class='control-sidebar-subheading'>\n Custom Template Design <span\n class='label label-danger pull-right'>70%</span>\n </h4>\n <div class='progress progress-xxs'>\n <div class='progress-bar progress-bar-danger' style='width: 70%'></div>\n </div>\n </a></li>\n </ul>"}]},{id:"control-sidebar-settings-tab",icon:"gear",active:!1,items:[{html:"<form method='post'>\n <h3 class='control-sidebar-heading'>General Settings</h3>\n <div class='form-group'>\n <label class='control-sidebar-subheading'> Report panel\n usage <input type='checkbox' class='pull-right' checked>\n </label>\n <p>Some information about this general settings option</p>\n </div>\n \x3c!-- /.form-group --\x3e\n </form>"}]}],this.current_state.next(this.default_state),this.current_items.next(this.default_items)}return t.prototype.setItems=function(t){this.current_items.next(t)},t.prototype.getItems=function(){return this.current_items},t.prototype.getState=function(){return this.current_state},t.prototype.setState=function(t){this.current_state_value=t,this.current_state.next(this.current_state_value)},t.prototype.open=function(){this.setState(!0),this.current_state.next(this.current_state_value)},t.prototype.close=function(){this.setState(!1)},t.prototype.toggle=function(){this.setState(!this.current_state_value)},t}();k.decorators=[{type:e.Injectable}],k.ctorParameters=function(){return[]};var L=function(){function t(t,e,n,s,r){this.userServ=t,this.menuServ=e,this.toastr=n,this.translate=s,this.mylinks=[],this.skin="skin-blue",this.display_control=!0,this.display_user=!0,this.display_tasks=!0,this.display_messages=!0,this.display_notifications=!0,this.display_menu_user=!0,this.display_menu_search=!0,this.display_logout=!1,this.header_components=[],this.boxed_style=!0,this.display_control_sidebar=!0;var a=r.snapshot.data[0];this.skin=this.paramExistOrDefault(a,"skin","skin-blue"),this.display_control=this.paramExistOrDefault(a,"display_control"),this.display_user=this.paramExistOrDefault(a,"display_user"),this.display_tasks=this.paramExistOrDefault(a,"display_tasks"),this.display_messages=this.paramExistOrDefault(a,"display_messages"),this.display_notifications=this.paramExistOrDefault(a,"display_notifications"),this.display_menu_user=this.paramExistOrDefault(a,"display_menu_user"),this.display_menu_search=this.paramExistOrDefault(a,"display_menu_search"),this.display_logout=this.paramExistOrDefault(a,"display_logout",!1),this.display_control_sidebar=this.paramExistOrDefault(a,"display_control_sidebar",!0),this.header_components=this.paramExistOrDefault(a,"header_components",[]),this.boxed_style=this.paramExistOrDefault(a,"boxed_style",!0),this.toastrConfig=new c.ToasterConfig({newestOnTop:!0,showCloseButton:!0,tapToDismiss:!1})}return t.prototype.paramExistOrDefault=function(t,e,n){return void 0===n&&(n=!0),t.hasOwnProperty(e)?t[e]:n},t.prototype.ngOnInit=function(){var e=this;if(this.detectIE()){var t=document.createEvent("Event");t.initEvent("resize",!1,!0),window.dispatchEvent(t)}else window.dispatchEvent(new Event("resize"));this.mylinks=[{header:"NAVIGATION"},{title:"Home",icon:"dashboard",link:["/"]}],this.menuServ.getCurrent().subscribe(function(t){e.mylinks=t}),document.body.className="hold-transition "+this.skin+" sidebar-mini"},t.prototype.ngOnDestroy=function(){document.body.className=""},t.prototype.detectIE=function(){var t=window.navigator.userAgent;return t.includes("MSIE ")||t.includes("Trident/")||t.includes("Edge/")},t}();L.decorators=[{type:e.Component,args:[{selector:"app-layouts-auth",template:"<div class=\"wrapper\">\n\t<app-header\n\t\t[display_messages]='display_messages'\n\t\t[display_notifications]='display_notifications'\n\t\t[display_tasks]='display_tasks'\n\t\t[display_user]='display_user'\n\t\t[display_control]='display_control'\n\t\t[display_logout]='display_logout'\n\t\t[header_components]='header_components'\n >{{ 'LOADING' | translate }} header...</app-header>\n\t<app-menu-aside\n\t[links]=\"mylinks\"\n\t[display_menu_user]='display_menu_user'\n\t[display_menu_search]='display_menu_search'\n\t>{{ 'LOADING' | translate }} menu...</app-menu-aside>\n\t\x3c!-- Content Wrapper. Contains page content --\x3e\n\t<div class=\"content-wrapper\">\n\t\t\x3c!-- Content Header (Page header) --\x3e\n\t\t<toaster-container [toasterconfig]=\"toastrConfig\"></toaster-container>\n\t\t<app-breadcrumb></app-breadcrumb>\n\t\t\x3c!-- Main content --\x3e\n\t\t<section class=\"content\">\n\t\t\t<div [ngClass]=\"{'box': boxed_style, 'box-default': boxed_style}\">\n\t\t\t\t<div [ngClass]=\"{'box-body': boxed_style}\">\n\t\t\t\t\t<router-outlet></router-outlet>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t\t\x3c!-- /.content --\x3e\n\t</div>\n\t\x3c!-- /.content-wrapper --\x3e\n\t<app-footer>{{ 'LOADING' | translate }} footer...</app-footer>\n\t<app-control-sidebar *ngIf='display_control_sidebar'>{{ 'LOADING' | translate }} control sidebar...</app-control-sidebar>\n</div>\n\x3c!-- ./wrapper --\x3e\n"}]}],L.ctorParameters=function(){return[{type:m},{type:w},{type:c.ToasterService},{type:v},{type:r.ActivatedRoute}]};var E=function(){function t(){}return t.prototype.ngOnInit=function(){window.dispatchEvent(new Event("resize")),document.body.className="hold-transition login-page"},t.prototype.ngOnDestroy=function(){document.body.className=""},t}();E.decorators=[{type:e.Component,args:[{selector:"app-layout-login",styles:["./login.css"],template:'<div class="login-box" >\n <div class="login-logo">\n <app-logo [hide]=\'"mini"\'></app-logo>\n </div>\n \x3c!-- /.login-logo --\x3e\n <div class="login-box-body">\n <router-outlet></router-outlet>\n </div>\n \x3c!-- /.login-box-body --\x3e\n</div>\n\x3c!-- /.login-box --\x3e\n'}]}],E.ctorParameters=function(){return[]};var N=function(){function t(){}return t.prototype.ngOnInit=function(){},t}();N.decorators=[{type:e.Component,args:[{selector:"app-layout-register",template:'<body class="hold-transition register-page">\n<div class="register-box">\n <div class="register-logo">\n <app-logo></app-logo>\n </div>\n <div class="register-box-body">\n <router-outlet></router-outlet>\n </div>\n \x3c!-- /.form-box --\x3e\n</div>\n\x3c!-- /.register-box --\x3e\n</body>\n'}]}],N.ctorParameters=function(){return[]};var U=function(t){void 0===t&&(t={}),this.content=t.content||"",this.title=t.title||"",this.author=t.author||null,this.destination=t.destination||null,this.date=t.date||Date.now()},T=function(t){void 0===t&&(t={}),this.avatarUrl=t.avatarUrl||"",this.preferredLang=t.preferredLang||null},R=function(t){void 0===t&&(t={}),this.content=t.content||"",this["class"]=t["class"]||"",this.link=t.link||""},j=function(){function t(t){this.sanitized=t}return t.prototype.transform=function(t){return this.sanitized.bypassSecurityTrustHtml(t)},t}();j.decorators=[{type:e.Pipe,args:[{name:"safeHtml"}]}],j.ctorParameters=function(){return[{type:u.DomSanitizer}]};var D=function(){function t(t,e){this.userService=t,this.sidebarService=e,this.display_messages=!0,this.display_notifications=!0,this.display_tasks=!0,this.display_user=!0,this.display_control=!0,this.display_logout=!1,this.header_components=[]}return t.prototype.logout=function(){this.userService.logout()},t.prototype.toggleSidebar=function(){this.sidebarService.toggle()},t}();D.decorators=[{type:e.Component,args:[{selector:"app-header",styles:[""],template:'\x3c!-- Main Header --\x3e\n<header class="main-header">\n\t\x3c!-- Logo --\x3e\n\t<app-logo></app-logo>\n\t\x3c!-- Header Navbar --\x3e\n\t<nav class="navbar navbar-static-top" role="navigation">\n\t\t\x3c!-- Sidebar toggle button--\x3e\n\t\t<a class="sidebar-toggle" data-toggle="offcanvas" role="button">\n\t\t\t\x3c!-- ADMIN LTE 2.4.0 <a class="sidebar-toggle" data-toggle="push-menu" role="button"> --\x3e\n <span class="sr-only">Toggle navigation</span>\n\t\t</a>\n\t\t\x3c!-- Navbar Right Menu --\x3e\n\t\t<div class="navbar-custom-menu">\n\t\t\t<ul class="nav navbar-nav" >\n\t\t\t\t\x3c!-- Messages: style can be found in dropdown.less--\x3e\n\t\t\t\t<li class="dropdown messages-menu messagesBox" *ngIf="display_messages"></li>\n\t\t\t\t\x3c!-- Notifications Menu --\x3e\n\t\t\t\t<li class="dropdown notifications-menu notificationsBox" *ngIf="display_notifications"></li>\n\t\t\t\t\x3c!-- Tasks Menu --\x3e\n\t\t\t\t<li class="dropdown tasks-menu tasksBox" *ngIf="display_tasks"></li>\n\t\t\t\t\x3c!-- User Account Menu --\x3e\n <li class="dropdown user user-menu userBox" *ngIf="display_user"></li>\n <li *ngIf="display_logout">\n\t\t\t\t\t<button class="btn btn-primary btn-lg" (click)="logout()">\n\t\t\t\t\t\t<i class="fa fa-power-off"></i>\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t\x3c!-- Control Sidebar Toggle Button --\x3e\n\t\t\t\t<li>\n\t\t\t\t\t<a class="toggle-sidebar-right" role="button" *ngIf="display_control">\n\t\t\t\t\t\t<i class="fa fa-gears" (click)="toggleSidebar()"></i>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t\x3c!-- Additionnal components --\x3e\n\t\t\t\t<ng-container *ngFor="let widget of header_components">\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<app-component-loader [class_component]="widget.class" [data]="widget.data"></app-component-loader>\n\t\t\t\t\t</li>\n\t\t\t\t</ng-container>\n\t\t\t</ul>\n\t\t</div>\n\t</nav>\n</header>\n'}]}],D.ctorParameters=function(){return[{type:m},{type:k}]},D.propDecorators={display_messages:[{type:e.Input}],display_notifications:[{type:e.Input}],display_tasks:[{type:e.Input}],display_user:[{type:e.Input}],display_control:[{type:e.Input}],display_logout:[{type:e.Input}],header_components:[{type:e.Input}]};var A=function(){function t(t){this.logoServ=t,this.hide=""}return t.prototype.ngOnInit=function(){var e=this;this.logoServ.getCurrent().subscribe(function(t){e.logo=t})},t}();A.decorators=[{type:e.Component,args:[{selector:"app-logo",template:'\x3c!-- Logo --\x3e\n<a href="#" routerLink="/" class="logo"> \x3c!-- mini logo for sidebar mini 50x50 pixels --\x3e\n\t<ng-container *ngIf="hide !== \'mini\'">\n\t\t<ng-container *ngIf="logo?.html_mini; else oldsyntaxmini">\n\t\t\t<span class="logo-mini" [innerHtml]="logo?.html_mini | safeHtml"></span>\n\t\t</ng-container>\n\t\t<ng-template #oldsyntaxmini>\n\t\t\t<span class="logo-mini"><b>{{logo.small.bold}}</b>{{logo.small.normal}}</span> \x3c!-- logo for regular state and mobile devices --\x3e\n\t\t</ng-template>\n\t</ng-container>\n\t<ng-container *ngIf="hide !== \'lg\'">\n\t\t<ng-container *ngIf="logo?.html_lg; else oldsyntaxlg">\n\t\t\t<span class="logo-lg" [innerHtml]="logo?.html_lg | safeHtml"></span>\n\t\t</ng-container>\n\t\t<ng-template #oldsyntaxlg>\n\t\t\t<span class="logo-lg" ><b>{{logo.big.bold}}</b>{{logo.big.normal}}</span>\n\t\t</ng-template>\n\t</ng-container>\n</a>\n'}]}],A.ctorParameters=function(){return[{type:C}]},A.propDecorators={hide:[{type:e.Input}]};var M=function(t){var e=this;this.footerServ=t,this.footer={},this.footerServ.getCurrent().subscribe(function(t){return e.footer=t})};M.decorators=[{type:e.Component,args:[{selector:"app-footer",styles:[""],template:'\x3c!-- Main Footer --\x3e\n<footer class="main-footer">\n\t\x3c!-- To the right --\x3e\n\t<div class="pull-right hidden-xs" [innerHTML]="footer?.right_part | safeHtml"></div>\n\t\x3c!-- Default to the left --\x3e\n\t<div [innerHtml]="footer?.left_part | safeHtml"></div>\n</footer>\n'}]}],M.ctorParameters=function(){return[{type:O}]};var P=function(){function t(t,e){var n=this;this.userServ=t,this.router=e,this.currentUser=new h,this.links=[],this.display_menu_user=!0,this.display_menu_search=!0,this.router.events.subscribe(function(t){return n.currentUrl=t.url}),this.userServ.getCurrent().subscribe(function(t){return n.currentUser=t})}return t.prototype.ngOnInit=function(){},t}();P.decorators=[{type:e.Component,args:[{selector:"app-menu-aside",styles:[""],template:'\x3c!-- Left side column. contains the logo and sidebar --\x3e\n<aside class="main-sidebar">\n\t\x3c!-- sidebar: style can be found in sidebar.less --\x3e\n\t<section class="sidebar" >\n\t\t\x3c!-- Sidebar user panel (optional) --\x3e\n\t\t<div *ngIf="display_menu_user" class="user-panel">\n\t\t\t<div class="pull-left image" *ngIf="currentUser?.avatarUrl" >\n\t\t\t\t<img [src]="currentUser?.avatarUrl" class="img-circle"\n\t\t\t\t\t[alt]="currentUser?.getName()">\n\t\t\t</div>\n\t\t\t<div class="pull-left info">\n\t\t\t\t<p>{{currentUser?.getName()}}</p>\n\t\t\t\t\x3c!-- Status --\x3e\n\t\t\t\t<a href="#"><i class="fa fa-circle text-success"></i> Online</a>\n\t\t\t</div>\n\t\t</div>\n\t\t\x3c!-- search form (Optional) --\x3e\n\t\t<form *ngIf="display_menu_search" action="#" method="get" class="sidebar-form">\n\t\t\t<div class="input-group">\n\t\t\t\t<input type="text" name="q" class="form-control"\n\t\t\t\t\tplaceholder="Search..."> <span class="input-group-btn">\n\t\t\t\t\t<button type="submit" name="search" id="search-btn"\n\t\t\t\t\t\tclass="btn btn-flat">\n\t\t\t\t\t\t<i class="fa fa-search"></i>\n\t\t\t\t\t</button>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</form>\n\t\t\x3c!-- /.search form --\x3e\n\t\t\x3c!-- Sidebar Menu --\x3e\n\t\t<ul class="sidebar-menu" data-widget="tree">\n\t\t\t<ng-container *ngFor="let item of links">\n\t\t\t\t\x3c!-- HEADER --\x3e\n\t\t\t\t<ng-container *ngIf="item.header">\n\t\t\t\t\t<li class="header">{{item.header}}</li>\n\t\t\t\t</ng-container>\n\t\t\t\t\x3c!-- COMPONENT --\x3e\n\t\t\t\t<ng-container *ngIf="item.class">\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<app-component-loader [class_component]="item.class" [data]="item.data"></app-component-loader>\n\t\t\t\t\t</li>\n\t\t\t\t</ng-container>\n\t\t\t\t\x3c!-- LINK --\x3e\n\t\t\t\t<ng-container *ngIf="item.link">\n\t\t\t\t\t<li [class.active]="item.link[0] === currentUrl">\n\t\t\t\t\t\t<a *ngIf="!item.external" [routerLink]="item.link">\n\t\t\t\t\t\t\t<i class="fa fa-{{item.icon}}"></i>\n\t\t\t\t\t\t\t<span>{{item.title}}</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<a *ngIf="item.external" [href]="item.link" [target]="item.target">\n\t\t\t\t\t\t\t<i class="fa fa-{{item.icon}}"></i>\n\t\t\t\t\t\t\t<span>{{item.title}}</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t</ng-container>\n\t\t\t\t\x3c!-- LINK WITH SUBLINKS --\x3e\n\t\t\t\t<ng-container *ngIf="item.sublinks">\n\t\t\t\t\t<li class="treeview">\n\t\t\t\t\t\t<a href="#">\n\t\t\t\t\t\t\t<i *ngIf="item.icon" class="fa fa-{{item.icon}}"></i>\n\t\t\t\t\t\t\t<span>{{item.title}}</span>\n\t\t\t\t\t\t\t<span class="pull-right-container">\n\t\t\t\t\t\t\t\t<i class="fa fa-angle-left pull-right"></i>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\x3c!--i class="fa fa-angle-left pull-right"></i--\x3e\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<ul class="treeview-menu">\n\t\t\t\t\t\t\t<ng-container *ngFor="let subitem of item.sublinks">\n\t\t\t\t\t\t\t\t<li [class.active]="subitem.link[0] === currentUrl">\n\t\t\t\t\t\t\t\t\t<a *ngIf="!subitem.external" [routerLink]="subitem.link">\n\t\t\t\t\t\t\t\t\t\t<i *ngIf="subitem.icon" class="fa fa-{{subitem.icon}}"></i>\n\t\t\t\t\t\t\t\t\t\t<span>{{subitem.title}}</span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<a *ngIf="subitem.external" [href]="subitem.link" [target]="subitem.target">\n\t\t\t\t\t\t\t\t\t\t<i *ngIf="subitem.icon" class="fa fa-{{subitem.icon}}"></i>\n\t\t\t\t\t\t\t\t\t\t<span>{{subitem.title}}</span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</li>\n\t\t\t\t</ng-container>\n\t\t\t</ng-container>\n\t\t</ul>\n\t\t\x3c!-- /.sidebar-menu --\x3e\n\t</section>\n\t\x3c!-- /.sidebar --\x3e\n</aside>\n'}]}],P.ctorParameters=function(){return[{type:m},{type:r.Router}]},P.propDecorators={links:[{type:e.Input}],display_menu_user:[{type:e.Input}],display_menu_search:[{type:e.Input}]};var B=function(){function t(t){this._sidebar=t}return t.prototype.ngOnInit=function(){var e=this,t=this._sidebar.getItems().subscribe(function(t){e.items=t});this.subs=[],this.subs.push(t)},t.prototype.ngOnDestroy=function(){this.subs.forEach(function(t){return t.unsubscribe()}),this.subs=null,this.items=null},t}();B.decorators=[{type:e.Component,args:[{selector:"app-control-sidebar",styles:[""],template:'\x3c!-- Control Sidebar --\x3e\n<aside [ngClass]="{\n\t\'control-sidebar\': true,\n\t\'control-sidebar-dark\': true,\n\t\'control-sidebar-open\': _sidebar.getState() | async\n}">\n \x3c!-- Create the tabs --\x3e\n <ul class="nav nav-tabs nav-justified control-sidebar-tabs">\n <ng-container *ngFor="let item of items">\n <li [ngClass]="{\'active\': item.active}">\n <a href="{{ item.id }}" data-toggle="tab"><i class="fa fa-{{ item.icon }}"></i></a>\n </li>\n </ng-container>\n </ul>\n \x3c!-- Tab panes --\x3e\n <div class="tab-content">\n <ng-container *ngFor="let item of items">\n \x3c!-- Home tab content --\x3e\n <div [ngClass]="{\'active\': item.active, \'tab-pane\': true}" id="{{ item.id }}">\n <ng-container *ngFor="let subitem of item.items">\n \x3c!-- COMPONENT --\x3e\n <ng-container *ngIf="subitem.class">\n <li>\n <app-component-loader [class_component]="subitem.class" [data]="subitem.data"></app-component-loader>\n </li>\n </ng-container>\n <ng-container *ngIf="subitem.html">\n {{ subitem.html | safeHtml }}\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </div>\n</aside>\n\x3c!-- /.control-sidebar --\x3e\n\x3c!-- Add the sidebar\'s background. This div must be placed\n immediately after the control sidebar --\x3e\n<div class="control-sidebar-bg"></div>'}]}],B.ctorParameters=function(){return[{type:k}]};var F=function(){function t(t,e){this.msgServ=t,this.logger=e,this.msgLength={0:0},this.messages=[]}return t.prototype.ngOnInit=function(){var e=this;this.msgServ.messages.subscribe(function(t){e.logger.log("MsgBox",null,"RECEIVED.MESSAGE",null),e.messages=t,e.msgLength={0:e.messages.length}})},t}();F.decorators=[{type:e.Component,args:[{selector:".messagesBox",styles:[""],template:'\x3c!-- Menu toggle button --\x3e\n<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <i\n\tclass="fa fa-envelope-o"></i> <span class="label label-success"\n\t[innerHTML]="messages.length"></span>\n</a>\n<ul class="dropdown-menu">\n\t<li class="header">{{ \'MSGBOX.COUNT\' | translate:msgLength }}</li>\n\t<li>\n\t\t\x3c!-- inner menu: contains the messages --\x3e\n\t\t<ul class="menu">\n\t\t\t<li *ngFor="let msg of messages; let i = index">\n\t\t\t\t\x3c!-- start message --\x3e <a href="#">\n\t\t\t\t\t<div class="pull-left">\n\t\t\t\t\t\t\x3c!-- User Image --\x3e\n\t\t\t\t\t\t<img src="{{msg.author.avatarUrl}}" class="img-circle"\n\t\t\t\t\t\t\talt="{{ msg.author.getName() }}">\n\t\t\t\t\t</div> \x3c!-- Message title and timestamp --\x3e\n\t\t\t\t\t<h4>\n\t\t\t\t\t\t{{msg.title}} <small><i class="fa fa-clock-o"></i>\n\t\t\t\t\t\t\t{{msg.date | date:\'yMd\' }}</small>\n\t\t\t\t\t</h4> \x3c!-- The message --\x3e\n\t\t\t\t\t<p>{{msg.content}}</p>\n\t\t\t</a>\n\t\t\t</li>\n\t\t\t\x3c!-- end message --\x3e\n\t\t</ul> \x3c!-- /.menu --\x3e\n\t</li>\n\t<li class="footer">\n <a href="#">{{ \'MSGBOX.FOOTER\' | translate }}</a>\n </li>\n</ul>\n'}]}],F.ctorParameters=function(){return[{type:_},{type:x}]};var H=function(){function t(t,e){this.notifServ=t,this.logger=e,this.notifLength={0:0},this.notifications=[]}return t.prototype.ngOnInit=function(){var e=this;this.notifServ.notifications.subscribe(function(t){e.logger.log("NotificationBox",null,"RECEIVED.NOTIFICATION",null),e.notifications=t,e.notifLength={0:e.notifications.length}})},t}();H.decorators=[{type:e.Component,args:[{selector:".notificationsBox",styles:[""],template:'\x3c!-- Menu toggle button --\x3e\n<a href="#" class="dropdown-toggle" data-toggle="dropdown">\n\t<i class="fa fa-bell-o"></i>\n\t<span class="label label-warning">{{ notifications.length }}</span>\n</a>\n<ul class="dropdown-menu">\n\t<li class="header">{{ \'NOTIFBOX.COUNT\' | translate:notifLength }}</li>\n\t<li>\n\t\t\x3c!-- Inner Menu: contains the notifications --\x3e\n\t\t<ul class="menu">\n\t\t\t<li *ngFor="let notif of notifications.reverse(); let i = index">\n\t\t\t\t<a routerLink="{{notif.link}}">\n\t\t\t\t\t<i class="{{notif.class}}"></i> {{notif.content}}\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t\t\x3c!-- end notification --\x3e\n\t\t</ul>\n\t</li>\n\t<li class="footer">\n\t\t<a href="#">\n\t\t\t{{ \'NOTIFBOX.FOOTER\' | translate }}\n\t\t</a>\n\t</li>\n</ul>\n'}]}],H.ctorParameters=function(){return[{type:S},{type:x}]};var G=function(){function t(){this.tasksLength={0:0}}return t.prototype.ngOnInit=function(){},t}();G.decorators=[{type:e.Component,args:[{selector:".tasksBox",styles:[""],template:'\x3c!-- Menu Toggle Button --\x3e\n<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <i\n\tclass="fa fa-flag-o"></i> <span class="label label-danger">9</span>\n</a>\n<ul class="dropdown-menu">\n\t<li class="header">{{ \'TASKBOX.COUNT\' | translate:tasksLength }}</li>\n\t<li>\n\t\t\x3c!-- Inner menu: contains the tasks --\x3e\n\t\t<ul class="menu">\n\t\t\t<li>\n\t\t\t\t\x3c!-- Task item --\x3e <a href="#"> \x3c!-- Task title and progress text --\x3e\n\t\t\t\t\t<h3>\n\t\t\t\t\t\tDesign some buttons <small class="pull-right">20%</small>\n\t\t\t\t\t</h3> \x3c!-- The progress bar --\x3e\n\t\t\t\t\t<div class="progress xs">\n\t\t\t\t\t\t\x3c!-- Change the css width attribute to simulate progress --\x3e\n\t\t\t\t\t\t<div class="progress-bar progress-bar-aqua" style="width: 20%"\n\t\t\t\t\t\t\trole="progressbar" aria-valuenow="20" aria-valuemin="0"\n\t\t\t\t\t\t\taria-valuemax="100">\n\t\t\t\t\t\t\t<span class="sr-only">20% Complete</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t</a>\n\t\t\t</li>\n\t\t\t\x3c!-- end task item --\x3e\n\t\t</ul>\n\t</li>\n\t<li class="footer"><a href="#">{{ \'TASKBOX.FOOTER\' | translate\n\t\t\t}}</a></li>\n</ul>\n'}]}],G.ctorParameters=function(){return[]},G.propDecorators={user:[{type:e.Input}]};var q=function(){function t(t,e){var n=this;this.userServ=t,this.router=e,this.currentUser=new h({avatarUrl:"assets/img/user2-160x160.jpg",email:"weber.antoine@outlook.com",firstname:"WEBER",lastname:"Antoine"}),this.logout=function(){n.userServ.logout()},this.userServ.getCurrent().subscribe(function(t){return n.currentUser=t})}return t.prototype.ngOnInit=function(){},t}();q.decorators=[{type:e.Component,args:[{selector:".userBox",styles:[""],template:'\x3c!-- Menu Toggle Button --\x3e\n<a href="#" class="dropdown-toggle" data-toggle="dropdown">\n \x3c!-- The user image in the navbar--\x3e\n <img *ngIf="currentUser.avatarUrl != \'\'" [src]="currentUser.avatarUrl" class="user-image" [alt]="currentUser.getName()">\n \x3c!-- hidden-xs hides the username on small devices so only the image appears. --\x3e\n <span class="hidden-xs">{{currentUser.getName()}}</span>\n</a>\n<ul class="dropdown-menu">\n \x3c!-- The user image in the menu --\x3e\n <li class="user-header">\n <img *ngIf="currentUser.avatarUrl != \'\'" [src]="currentUser.avatarUrl" class="img-circle" [alt]="currentUser.getName()">\n <p>\n {{currentUser.getName()}} - Web Developer\n <small>{{ \'USERBOX.MEMBERSINCE\' | translate }} {{currentUser.creationDate}}</small>\n </p>\n </li>\n \x3c!-- Menu Body --\x3e\n <li class="user-body">\n <div class="col-xs-4 text-center">\n <a href="#">Followers</a>\n </div>\n <div class="col-xs-4 text-center">\n <a href="#">Sales</a>\n </div>\n <div class="col-xs-4 text-center">\n <a href="#">Friends</a>\n </div>\n </li>\n \x3c!-- Menu Footer--\x3e\n <li class="user-footer">\n <div class="pull-left">\n <a href="#" class="btn btn-default btn-flat">{{ \'USERBOX.PROFILE\' | translate }}</a>\n </div>\n <div class="pull-right">\n <a (click)="logout()" class="btn btn-default btn-flat">{{ \'USERBOX.SIGNOUT\' | translate }}</a>\n </div>\n </li>\n</ul>\n'}]}],q.ctorParameters=function(){return[{type:m},{type:r.Router}]};var X=function(t){var e=this;this.breadServ=t,this.display=!1,this.header="",this.description="",this.levels=[],this.breadServ.getCurrent().subscribe(function(t){e.display=t.display,e.header=t.header,e.description=t.description,e.levels=t.levels})};X.decorators=[{type:e.Component,args:[{selector:"app-breadcrumb",template:'<section class="content-header" *ngIf="display">\n <h1>\n {{ header }}\n <small>{{ description }}</small>\n </h1>\n <ol class="breadcrumb">\n <ng-container *ngFor="let item of levels">\n <li [class.active]="item.active">\n <a [routerLink]="item.link">\n <i *ngIf="item.icon !=null" class="fa fa-{{item.icon}}"></i> {{ item.title }}\n </a>\n </li>\n </ng-container>\n </ol>\n</section>\n'}]}],X.ctorParameters=function(){return[{type:g}]};var z=function(){function t(t){this._factoryResolver=t,this.class_component=null,this.data=null,this.componentRef=null}return t.prototype.ngOnInit=function(){var t=this._factoryResolver.resolveComponentFactory(this.class_component);this.componentRef=this.viewContainerRef.createComponent(t),this.setComponentData(this.data)},t.prototype.ngOnChanges=function(t){this.setComponentData(t)},t.prototype.setComponentData=function(t){this.componentRef&&(Object.assign(this.componentRef.instance,t),this.componentRef.instance.ngOnChanges(t))},t.prototype.ngOnDestroy=function(){this.componentRef&&this.componentRef.destroy()},t}();function W(t){return new p.TranslateHttpLoader(t,"assets/i18n/",".json")}z.decorators=[{type:e.Component,args:[{selector:"app-component-loader",encapsulation:e.ViewEncapsulation.None,template:"<ng-container #destination ></ng-container>"}]}],z.ctorParameters=function(){return[{type:e.ComponentFactoryResolver}]},z.propDecorators={class_component:[{type:e.Input}],data:[{type:e.Input}],viewContainerRef:[{type:e.ViewChild,args:["destination",{read:e.ViewContainerRef}]}]};var V=W,J=function(){};J.decorators=[{type:e.NgModule,args:[{declarations:[j,X,D,A,M,P,B,F,H,G,q,z,L,E,N],imports:[u.BrowserModule,i.HttpModule,r.RouterModule,c.ToasterModule,d.HttpClientModule,a.TranslateModule.forRoot({loader:{provide:a.TranslateLoader,useFactory:V,deps:[d.HttpClient]}})],exports:[j],providers:[m,w,C,O,g,_,f,S,v,x,k,c.ToasterService]}]}],J.ctorParameters=function(){return[]},t.NgxAdminLteModule=J,t.BreadcrumbService=g,t.CanActivateGuard=f,t.LoggerService=x,t.MessagesService=_,t.NotificationsService=S,t.RestService=I,t.TranslateService=v,t.UserService=m,t.MenuService=w,t.LogoService=C,t.FooterService=O,t.ControlSidebarService=k,t.LayoutAuthComponent=L,t.LayoutLoginComponent=E,t.LayoutRegisterComponent=N,t.Message=U,t.Preference=T,t.User=h,t.Notification=R,t.ɵa=W,t.ɵb=j,t.ɵf=M,t.ɵd=D,t.ɵc=X,t.ɵm=z,t.ɵh=B,t.ɵe=A,t.ɵg=P,t.ɵi=F,t.ɵj=H,t.ɵk=G,t.ɵl=q,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=ngx-admin-lte.umd.min.js.map