UNPKG

ng-halfmoon

Version:

Angular Library to build upon the halfmoon-framework

49 lines 5.26 kB
import { Directive, ElementRef, Input, Renderer2 } from '@angular/core'; import { Applier } from '../../utils'; export class ButtonDirective extends Applier { constructor(el, renderer) { super(el, renderer, 'btn'); this.addClass('btn', this.el); } ngOnChanges(changes) { if (changes.appearance) { this.applyChange(changes.appearance, this.el); } if (changes.size) { this.applyChange(changes.size, this.el); } if (changes.shape) { this.applyChange(changes.shape, this.el); } if (changes.disabled) { this.applyDisabled(changes.disabled); this.applyAttribute(changes.disabled, 'disabled'); } } applyDisabled(change) { if (change.previousValue === change.currentValue) { return; } if (!change.currentValue) { this.removeClass('disabled', this.el); return; } this.addClass('disabled', this.el); } } ButtonDirective.decorators = [ { type: Directive, args: [{ selector: '[hmButton]' },] } ]; ButtonDirective.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; ButtonDirective.propDecorators = { appearance: [{ type: Input }], size: [{ type: Input }], shape: [{ type: Input }], disabled: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWhhbGZtb29uL3NyYy9saWIvYmFzaWNzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxTQUFTLEVBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE9BQU8sRUFBUyxNQUFNLGFBQWEsQ0FBQztBQWM1QyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxPQUFPO0lBTTFDLFlBQVksRUFBYyxFQUFFLFFBQW1CO1FBQzdDLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMxQztRQUNELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQW9CO1FBQ3hDLElBQUksTUFBTSxDQUFDLGFBQWEsS0FBSyxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ2hELE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQzs7O1lBekNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTthQUN2Qjs7O1lBcEJDLFVBQVU7WUFHVixTQUFTOzs7eUJBbUJSLEtBQUs7bUJBQ0wsS0FBSztvQkFDTCxLQUFLO3VCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlLFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcHBsaWVyLCBTaXppbmd9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgU2hhcGUgPSAncm91bmRlZCcgfCAnc3F1YXJlJyB8IHVuZGVmaW5lZDtcbmV4cG9ydCB0eXBlIEJ1dHRvbkFwcGVhcmFuY2UgPVxuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ3N1Y2Nlc3MnXG4gIHwgJ2RhbmdlcidcbiAgfCAnbGluaydcbiAgfCB1bmRlZmluZWQ7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tobUJ1dHRvbl0nXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkRpcmVjdGl2ZSBleHRlbmRzIEFwcGxpZXIgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBhcHBlYXJhbmNlOiBCdXR0b25BcHBlYXJhbmNlO1xuICBASW5wdXQoKSBzaXplOiBTaXppbmc7XG4gIEBJbnB1dCgpIHNoYXBlOiBTaGFwZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoZWw6IEVsZW1lbnRSZWYsIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICBzdXBlcihlbCwgcmVuZGVyZXIsICdidG4nKTtcbiAgICB0aGlzLmFkZENsYXNzKCdidG4nLCB0aGlzLmVsKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5hcHBlYXJhbmNlKSB7XG4gICAgICB0aGlzLmFwcGx5Q2hhbmdlKGNoYW5nZXMuYXBwZWFyYW5jZSwgdGhpcy5lbCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLnNpemUpIHtcbiAgICAgIHRoaXMuYXBwbHlDaGFuZ2UoY2hhbmdlcy5zaXplLCB0aGlzLmVsKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuc2hhcGUpIHtcbiAgICAgIHRoaXMuYXBwbHlDaGFuZ2UoY2hhbmdlcy5zaGFwZSwgdGhpcy5lbCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmFwcGx5RGlzYWJsZWQoY2hhbmdlcy5kaXNhYmxlZCk7XG4gICAgICB0aGlzLmFwcGx5QXR0cmlidXRlKGNoYW5nZXMuZGlzYWJsZWQsICdkaXNhYmxlZCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlEaXNhYmxlZChjaGFuZ2U6IFNpbXBsZUNoYW5nZSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2UucHJldmlvdXNWYWx1ZSA9PT0gY2hhbmdlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghY2hhbmdlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5yZW1vdmVDbGFzcygnZGlzYWJsZWQnLCB0aGlzLmVsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFkZENsYXNzKCdkaXNhYmxlZCcsIHRoaXMuZWwpO1xuICB9XG59XG4iXX0=