UNPKG

novo-elements

Version:

Bullhorn's NOVO Element Repository for Angular 2

83 lines 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // NG2 var core_1 = require("@angular/core"); // App var DrawerService_1 = require("./extras/drawer-service/DrawerService"); var drawerService = new DrawerService_1.DrawerService(); var NovoDrawerElement = (function () { function NovoDrawerElement(el) { this.el = el; this.onDrawerToggle = new core_1.EventEmitter(); } NovoDrawerElement.prototype.ngOnInit = function () { this.autoClose = this.autoClose || DrawerService_1.OUTSIDE_CLICK; this.position = this.position || DrawerService_1.POSITION_LEFT; }; Object.defineProperty(NovoDrawerElement.prototype, "drawer", { set: function (drawer) { // init drop down menu this.drawerEl = drawer.drawer.el; // add class name for the position this.drawerEl.nativeElement.classList.add(this.position); }, enumerable: true, configurable: true }); Object.defineProperty(NovoDrawerElement.prototype, "drawerToggle", { set: function (drawerToggle) { // init toggle element this.toggleEl = drawerToggle.el; }, enumerable: true, configurable: true }); NovoDrawerElement.prototype.toggle = function (open) { return this.isOpen = open ? !!open : !this.isOpen; }; Object.defineProperty(NovoDrawerElement.prototype, "isOpen", { get: function () { return this._isOpen; }, set: function (value) { this._isOpen = !!value; if (this.isOpen) { this.focusToggleElement(); drawerService.open(this); } else { drawerService.close(this); } this.onDrawerToggle.next(this.isOpen); }, enumerable: true, configurable: true }); NovoDrawerElement.prototype.focusToggleElement = function () { if (this.toggleEl) { this.toggleEl.nativeElement.focus(); } }; return NovoDrawerElement; }()); NovoDrawerElement.decorators = [ { type: core_1.Directive, args: [{ selector: '[drawer]', host: { '[class.drawer]': 'true', '[class.open]': 'isOpen' } },] }, ]; /** @nocollapse */ NovoDrawerElement.ctorParameters = function () { return [ { type: core_1.ElementRef, }, ]; }; NovoDrawerElement.propDecorators = { 'autoClose': [{ type: core_1.Input },], 'position': [{ type: core_1.Input },], 'onDrawerToggle': [{ type: core_1.Output },], 'isOpen': [{ type: core_1.Input },], }; exports.NovoDrawerElement = NovoDrawerElement; //# sourceMappingURL=Drawer.js.map