ngx-materialize
Version:
An Angular wrap around Materialize library
125 lines (124 loc) • 9.13 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Directive, ElementRef, Input, Renderer, } from '@angular/core';
import { HandlePropChanges } from '../shared/index';
export class MzButtonDirective extends HandlePropChanges {
/**
* @param {?} elementRef
* @param {?} renderer
*/
constructor(elementRef, renderer) {
super();
this.elementRef = elementRef;
this.renderer = renderer;
}
/**
* @return {?}
*/
ngOnInit() {
this.initHandlers();
this.initMaterialize();
super.executePropHandlers();
}
/**
* @return {?}
*/
initHandlers() {
this.handlers = {
disabled: () => this.handleDisabled(),
flat: () => this.handleFlat(),
float: () => this.handleFloat(),
large: () => this.handleLarge(),
noWaves: () => this.handleNoWaves(),
};
}
/**
* @return {?}
*/
initMaterialize() {
this.renderer.setElementClass(this.elementRef.nativeElement, 'btn', true);
}
/**
* @return {?}
*/
handleDisabled() {
this.renderer.setElementClass(this.elementRef.nativeElement, 'disabled', this.disabled);
}
/**
* @return {?}
*/
handleFlat() {
this.renderer.setElementClass(this.elementRef.nativeElement, 'btn', !this.flat);
this.renderer.setElementClass(this.elementRef.nativeElement, 'btn-flat', this.flat);
}
/**
* @return {?}
*/
handleFloat() {
this.renderer.setElementClass(this.elementRef.nativeElement, 'btn-floating', this.float);
}
/**
* @return {?}
*/
handleLarge() {
this.renderer.setElementClass(this.elementRef.nativeElement, 'btn-large', this.large);
}
/**
* @return {?}
*/
handleNoWaves() {
this.renderer.setElementClass(this.elementRef.nativeElement, 'waves-effect', !this.noWaves);
if (!this.flat) {
this.renderer.setElementClass(this.elementRef.nativeElement, 'waves-light', !this.noWaves);
}
}
}
MzButtonDirective.decorators = [
{ type: Directive, args: [{
selector: `
a[mz-button],
a[mzButton],
button[mz-button],
button[mzButton]`,
},] },
];
/** @nocollapse */
MzButtonDirective.ctorParameters = () => [
{ type: ElementRef, },
{ type: Renderer, },
];
MzButtonDirective.propDecorators = {
"disabled": [{ type: Input },],
"flat": [{ type: Input },],
"float": [{ type: Input },],
"large": [{ type: Input },],
"noWaves": [{ type: Input },],
};
function MzButtonDirective_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
MzButtonDirective.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
MzButtonDirective.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
MzButtonDirective.propDecorators;
/** @type {?} */
MzButtonDirective.prototype.disabled;
/** @type {?} */
MzButtonDirective.prototype.flat;
/** @type {?} */
MzButtonDirective.prototype.float;
/** @type {?} */
MzButtonDirective.prototype.large;
/** @type {?} */
MzButtonDirective.prototype.noWaves;
/** @type {?} */
MzButtonDirective.prototype.elementRef;
/** @type {?} */
MzButtonDirective.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1tYXRlcmlhbGl6ZS8iLCJzb3VyY2VzIjpbInNyYy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVNwRCxNQUFNLHdCQUF5QixTQUFRLGlCQUFpQjs7Ozs7SUFPdEQsWUFBb0IsVUFBc0IsRUFBVSxRQUFrQjtRQUNwRSxLQUFLLEVBQUUsQ0FBQztRQURVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO0tBRXJFOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7S0FDN0I7Ozs7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdCLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQy9CLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1NBQ3BDLENBQUM7S0FDSDs7OztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDM0U7Ozs7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN6Rjs7OztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNyRjs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzFGOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDdkY7Ozs7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTVGLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDNUY7S0FDRjs7O1lBN0RGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUU7Ozs7cUJBSVM7YUFDcEI7Ozs7WUFkRyxVQUFVO1lBR1YsUUFBUTs7O3lCQWFULEtBQUs7cUJBQ0wsS0FBSztzQkFDTCxLQUFLO3NCQUNMLEtBQUs7d0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBSZW5kZXJlcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEhhbmRsZVByb3BDaGFuZ2VzIH0gZnJvbSAnLi4vc2hhcmVkL2luZGV4JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiBgXHJcbiAgICBhW216LWJ1dHRvbl0sXHJcbiAgICBhW216QnV0dG9uXSxcclxuICAgIGJ1dHRvblttei1idXR0b25dLFxyXG4gICAgYnV0dG9uW216QnV0dG9uXWAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNekJ1dHRvbkRpcmVjdGl2ZSBleHRlbmRzIEhhbmRsZVByb3BDaGFuZ2VzIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBmbGF0OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGZsb2F0OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGxhcmdlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIG5vV2F2ZXM6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdEhhbmRsZXJzKCk7XHJcbiAgICB0aGlzLmluaXRNYXRlcmlhbGl6ZSgpO1xyXG4gICAgc3VwZXIuZXhlY3V0ZVByb3BIYW5kbGVycygpO1xyXG4gIH1cclxuXHJcbiAgaW5pdEhhbmRsZXJzKCkge1xyXG4gICAgdGhpcy5oYW5kbGVycyA9IHtcclxuICAgICAgZGlzYWJsZWQ6ICgpID0+IHRoaXMuaGFuZGxlRGlzYWJsZWQoKSxcclxuICAgICAgZmxhdDogKCkgPT4gdGhpcy5oYW5kbGVGbGF0KCksXHJcbiAgICAgIGZsb2F0OiAoKSA9PiB0aGlzLmhhbmRsZUZsb2F0KCksXHJcbiAgICAgIGxhcmdlOiAoKSA9PiB0aGlzLmhhbmRsZUxhcmdlKCksXHJcbiAgICAgIG5vV2F2ZXM6ICgpID0+IHRoaXMuaGFuZGxlTm9XYXZlcygpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGluaXRNYXRlcmlhbGl6ZSgpIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0RWxlbWVudENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYnRuJywgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVEaXNhYmxlZCgpIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0RWxlbWVudENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCB0aGlzLmRpc2FibGVkKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZsYXQoKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldEVsZW1lbnRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2J0bicsICF0aGlzLmZsYXQpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRFbGVtZW50Q2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdidG4tZmxhdCcsIHRoaXMuZmxhdCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVGbG9hdCgpIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0RWxlbWVudENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYnRuLWZsb2F0aW5nJywgdGhpcy5mbG9hdCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVMYXJnZSgpIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0RWxlbWVudENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYnRuLWxhcmdlJywgdGhpcy5sYXJnZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVOb1dhdmVzKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRFbGVtZW50Q2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd3YXZlcy1lZmZlY3QnLCAhdGhpcy5ub1dhdmVzKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuZmxhdCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEVsZW1lbnRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3dhdmVzLWxpZ2h0JywgIXRoaXMubm9XYXZlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==