novo-elements
Version:
Bullhorn's NOVO Element Repository for Angular 2
83 lines • 2.8 kB
JavaScript
"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