UNPKG

ng-halfmoon

Version:

Angular Library to build upon the halfmoon-framework

36 lines 4.71 kB
export class Applier { constructor(el, renderer, baseClass) { this.el = el; this.renderer = renderer; this.baseClass = baseClass; } applyChange(change, el) { if (Applier.hasValueChanged(change)) { return; } if (!change.isFirstChange()) { this.removeClass(`${this.baseClass}-${change.previousValue}`, el); } this.addClass(`${this.baseClass}-${change.currentValue}`, el); } static hasValueChanged(change) { return !change.currentValue || change.previousValue === change.currentValue; } addClass(cls, el) { this.renderer.addClass(el.nativeElement, cls); } removeClass(cls, el) { this.renderer.removeClass(el.nativeElement, cls); } applyAttribute(change, attribute) { if (change.previousValue === change.currentValue) { return; } if (!change.currentValue) { this.renderer.removeAttribute(this.el.nativeElement, attribute); return; } this.renderer.setAttribute(this.el.nativeElement, attribute, ''); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWhhbGZtb29uL3NyYy9saWIvdXRpbHMvYXBwbGllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sT0FBTztJQUNsQixZQUNZLEVBQWMsRUFDZCxRQUFtQixFQUNuQixTQUFpQjtRQUZqQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQzFCLENBQUM7SUFFTSxXQUFXLENBQUMsTUFBb0IsRUFBRSxFQUFjO1FBQ3hELElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNuRTtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRVMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFvQjtRQUNuRCxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDOUUsQ0FBQztJQUVTLFFBQVEsQ0FBQyxHQUFXLEVBQUUsRUFBYztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFUyxXQUFXLENBQUMsR0FBVyxFQUFFLEVBQWM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRVMsY0FBYyxDQUFDLE1BQW9CLEVBQUUsU0FBaUI7UUFDOUQsSUFBSSxNQUFNLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDaEQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDaEUsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWxlbWVudFJlZiwgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2V9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQXBwbGllciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlbDogRWxlbWVudFJlZixcbiAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcm90ZWN0ZWQgYmFzZUNsYXNzOiBzdHJpbmdcbiAgKSB7fVxuXG4gIHByb3RlY3RlZCBhcHBseUNoYW5nZShjaGFuZ2U6IFNpbXBsZUNoYW5nZSwgZWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBpZiAoQXBwbGllci5oYXNWYWx1ZUNoYW5nZWQoY2hhbmdlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghY2hhbmdlLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgdGhpcy5yZW1vdmVDbGFzcyhgJHt0aGlzLmJhc2VDbGFzc30tJHtjaGFuZ2UucHJldmlvdXNWYWx1ZX1gLCBlbCk7XG4gICAgfVxuICAgIHRoaXMuYWRkQ2xhc3MoYCR7dGhpcy5iYXNlQ2xhc3N9LSR7Y2hhbmdlLmN1cnJlbnRWYWx1ZX1gLCBlbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RhdGljIGhhc1ZhbHVlQ2hhbmdlZChjaGFuZ2U6IFNpbXBsZUNoYW5nZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhY2hhbmdlLmN1cnJlbnRWYWx1ZSB8fCBjaGFuZ2UucHJldmlvdXNWYWx1ZSA9PT0gY2hhbmdlLmN1cnJlbnRWYWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhZGRDbGFzcyhjbHM6IHN0cmluZywgZWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsLm5hdGl2ZUVsZW1lbnQsIGNscyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVtb3ZlQ2xhc3MoY2xzOiBzdHJpbmcsIGVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhlbC5uYXRpdmVFbGVtZW50LCBjbHMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFwcGx5QXR0cmlidXRlKGNoYW5nZTogU2ltcGxlQ2hhbmdlLCBhdHRyaWJ1dGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2UucHJldmlvdXNWYWx1ZSA9PT0gY2hhbmdlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghY2hhbmdlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCBhdHRyaWJ1dGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgYXR0cmlidXRlLCAnJyk7XG4gIH1cbn1cbiJdfQ==