diff --git a/Angular2_Dev/app/layouts/full-layout.component.html b/Angular2_Dev/app/layouts/full-layout.component.html index dc900074fbef269eae531374ef809d8a709861a9..2ee8ba508aa425df4308a44e5c01498883a29051 100644 --- a/Angular2_Dev/app/layouts/full-layout.component.html +++ b/Angular2_Dev/app/layouts/full-layout.component.html @@ -1,6 +1,6 @@ <header class="navbar"> <div class="container-fluid"> - <button class="navbar-toggler hidden-lg-up" type="button">☰</button> + <button class="navbar-toggler hidden-lg-up" type="button" mobile-nav-toggle>☰</button> <a class="navbar-brand" href="#"></a> <ul class="nav navbar-nav hidden-md-down"> diff --git a/Angular2_Dev/app/shared/sidebar.directive.js b/Angular2_Dev/app/shared/sidebar.directive.js index 7ce16eb8d1d622430d3ff870998c0a5a93c21c05..236ccf44994b0e1ddf1d1c1a3eb48075961f1be4 100644 --- a/Angular2_Dev/app/shared/sidebar.directive.js +++ b/Angular2_Dev/app/shared/sidebar.directive.js @@ -62,6 +62,46 @@ var SidebarToggleDirective = (function () { return SidebarToggleDirective; }()); exports.SidebarToggleDirective = SidebarToggleDirective; +var MobileSidebarToggleDirective = (function () { + function MobileSidebarToggleDirective() { + } + //Check if element has class + MobileSidebarToggleDirective.prototype.hasClass = function (target, elementClassName) { + return new RegExp('(\\s|^)' + elementClassName + '(\\s|$)').test(target.className); + }; + //Toggle element class + MobileSidebarToggleDirective.prototype.toggleClass = function (elem, elementClassName) { + var newClass = ' ' + elem.className.replace(/[\t\r\n]/g, ' ') + ' '; + if (this.hasClass(elem, elementClassName)) { + while (newClass.indexOf(' ' + elementClassName + ' ') >= 0) { + newClass = newClass.replace(' ' + elementClassName + ' ', ' '); + } + elem.className = newClass.replace(/^\s+|\s+$/g, ''); + } + else { + elem.className += ' ' + elementClassName; + } + }; + MobileSidebarToggleDirective.prototype.toggleOpen = function ($event) { + $event.preventDefault(); + this.toggleClass(document.querySelector('body'), 'mobile-open'); + console.log('asdasdasd'); + }; + __decorate([ + core_1.HostListener('click', ['$event']), + __metadata('design:type', Function), + __metadata('design:paramtypes', [Object]), + __metadata('design:returntype', void 0) + ], MobileSidebarToggleDirective.prototype, "toggleOpen", null); + MobileSidebarToggleDirective = __decorate([ + core_1.Directive({ + selector: '[mobile-nav-toggle]', + }), + __metadata('design:paramtypes', []) + ], MobileSidebarToggleDirective); + return MobileSidebarToggleDirective; +}()); +exports.MobileSidebarToggleDirective = MobileSidebarToggleDirective; /** * Allows the off-canvas sidebar to be closed via click. */ @@ -106,5 +146,5 @@ var SidebarOffCanvasCloseDirective = (function () { return SidebarOffCanvasCloseDirective; }()); exports.SidebarOffCanvasCloseDirective = SidebarOffCanvasCloseDirective; -exports.SIDEBAR_TOGGLE_DIRECTIVES = [SidebarToggleDirective, SidebarOffCanvasCloseDirective]; +exports.SIDEBAR_TOGGLE_DIRECTIVES = [SidebarToggleDirective, SidebarOffCanvasCloseDirective, MobileSidebarToggleDirective]; //# sourceMappingURL=sidebar.directive.js.map \ No newline at end of file diff --git a/Angular2_Dev/app/shared/sidebar.directive.js.map b/Angular2_Dev/app/shared/sidebar.directive.js.map index 46659f21f1f182179306d6acf441cf028db0d763..c169e399de6ec41f3ed17fc00537a7906edf2446 100644 --- a/Angular2_Dev/app/shared/sidebar.directive.js.map +++ b/Angular2_Dev/app/shared/sidebar.directive.js.map @@ -1 +1 @@ -{"version":3,"file":"sidebar.directive.js","sourceRoot":"","sources":["sidebar.directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"sidebar.directive.js","sourceRoot":"","sources":["sidebar.directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Angular2_Dev/app/shared/sidebar.directive.ts b/Angular2_Dev/app/shared/sidebar.directive.ts index e4968499517f77162774012a966d56b79641777e..25186ae54e86722f13c012df4e22fae401675558 100644 --- a/Angular2_Dev/app/shared/sidebar.directive.ts +++ b/Angular2_Dev/app/shared/sidebar.directive.ts @@ -46,6 +46,40 @@ export class SidebarToggleDirective { } } +@Directive({ + selector: '[mobile-nav-toggle]', +}) +export class MobileSidebarToggleDirective { + constructor() { } + + //Check if element has class + private hasClass(target:any, elementClassName:string) { + return new RegExp('(\\s|^)' + elementClassName + '(\\s|$)').test(target.className); + } + + //Toggle element class + private toggleClass(elem:any, elementClassName:string) { + let newClass = ' ' + elem.className.replace( /[\t\r\n]/g, ' ' ) + ' '; + if (this.hasClass(elem, elementClassName)) { + while (newClass.indexOf(' ' + elementClassName + ' ') >= 0 ) { + newClass = newClass.replace( ' ' + elementClassName + ' ' , ' ' ); + } + elem.className = newClass.replace(/^\s+|\s+$/g, ''); + } else { + elem.className += ' ' + elementClassName; + } + } + + @HostListener('click', ['$event']) + toggleOpen($event:any) { + $event.preventDefault(); + + this.toggleClass(document.querySelector('body'), 'mobile-open'); + + console.log('asdasdasd'); + } +} + /** * Allows the off-canvas sidebar to be closed via click. */ @@ -83,4 +117,4 @@ export class SidebarOffCanvasCloseDirective { } } -export const SIDEBAR_TOGGLE_DIRECTIVES = [SidebarToggleDirective, SidebarOffCanvasCloseDirective]; +export const SIDEBAR_TOGGLE_DIRECTIVES = [SidebarToggleDirective, SidebarOffCanvasCloseDirective, MobileSidebarToggleDirective];