aurelia-materialize-bridge
Version:
Aurelia interface to http://materializecss.com/
49 lines (40 loc) • 1.26 kB
text/typescript
import * as au from "../aurelia";
.customElement("md-navbar")
.autoinject
export class MdNavbar {
constructor(private element: Element) { }
fixedAnchor: HTMLDivElement;
nav: HTMLElement;
.ato.bindable.booleanMd({ defaultBindingMode: au.bindingMode.oneTime })
extended: boolean;
.ato.bindable.booleanMd({ defaultBindingMode: au.bindingMode.oneTime })
fixed: boolean;
.ato.bindable.booleanMd({ defaultBindingMode: au.bindingMode.oneTime })
autoHeight: boolean;
fixedAttributeManager: au.AttributeManager;
navAttributeManager: au.AttributeManager;
attached() {
this.fixedAttributeManager = new au.AttributeManager(this.fixedAnchor);
this.navAttributeManager = new au.AttributeManager(this.nav);
if (this.fixed) {
this.fixedAttributeManager.addClasses("navbar-fixed");
}
if (this.autoHeight) {
this.navAttributeManager.addClasses("auto-height");
}
if (this.extended) {
this.navAttributeManager.addClasses("nav-extended");
}
}
detached() {
if (this.fixed) {
this.fixedAttributeManager.removeClasses("navbar-fixed");
}
if (this.autoHeight) {
this.navAttributeManager.removeClasses("auto-height");
}
if (this.extended) {
this.navAttributeManager.removeClasses("nav-extended");
}
}
}