UNPKG

@greg-md/ng-flex-css-layout

Version:

Flex-CSS-Layout is an alternative behaviour of Flex-Layout directives, that will still work with Angular Universal and App Shell.

54 lines (53 loc) 3.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /** * @abstract */ export class BaseDirective { /** * @param {?} elementRef * @param {?} renderer */ constructor(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; this.classNames = []; } /** * @param {?} classNames * @return {?} */ setClassNames(classNames) { classNames = classNames.filter((value, index, self) => self.indexOf(value) === index); classNames.forEach(className => this.addClassName(className)); this.classNames .filter(className => classNames.indexOf(className) < 0) .forEach(className => this.removeClassName(className)); this.classNames = classNames; } /** * @param {?} className * @return {?} */ addClassName(className) { this.renderer.addClass(this.elementRef.nativeElement, className); } /** * @param {?} className * @return {?} */ removeClassName(className) { this.renderer.removeClass(this.elementRef.nativeElement, className); } } function BaseDirective_tsickle_Closure_declarations() { /** @type {?} */ BaseDirective.prototype.classNames; /** @type {?} */ BaseDirective.prototype.elementRef; /** @type {?} */ BaseDirective.prototype.renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyZWctbWQvbmctZmxleC1jc3MtbGF5b3V0LyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEsTUFBTTs7Ozs7SUFHSixZQUNTLFlBQ0csUUFBbUI7UUFEdEIsZUFBVSxHQUFWLFVBQVU7UUFDUCxhQUFRLEdBQVIsUUFBUSxDQUFXOzBCQUpBLEVBQUU7S0FNaEM7Ozs7O0lBRUQsYUFBYSxDQUFDLFVBQW9CO1FBQ2hDLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7UUFFdEYsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsVUFBVTthQUNaLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3RELE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztLQUM5Qjs7Ozs7SUFFRCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7S0FDbEU7Ozs7O0lBRUQsZUFBZSxDQUFDLFNBQWlCO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ3JFO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VEaXJlY3RpdmUge1xuICBwcml2YXRlIGNsYXNzTmFtZXM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICkge1xuICB9XG5cbiAgc2V0Q2xhc3NOYW1lcyhjbGFzc05hbWVzOiBzdHJpbmdbXSkge1xuICAgIGNsYXNzTmFtZXMgPSBjbGFzc05hbWVzLmZpbHRlcigodmFsdWUsIGluZGV4LCBzZWxmKSA9PiBzZWxmLmluZGV4T2YodmFsdWUpID09PSBpbmRleCk7XG5cbiAgICBjbGFzc05hbWVzLmZvckVhY2goY2xhc3NOYW1lID0+IHRoaXMuYWRkQ2xhc3NOYW1lKGNsYXNzTmFtZSkpO1xuXG4gICAgdGhpcy5jbGFzc05hbWVzXG4gICAgICAuZmlsdGVyKGNsYXNzTmFtZSA9PiBjbGFzc05hbWVzLmluZGV4T2YoY2xhc3NOYW1lKSA8IDApXG4gICAgICAuZm9yRWFjaChjbGFzc05hbWUgPT4gdGhpcy5yZW1vdmVDbGFzc05hbWUoY2xhc3NOYW1lKSk7XG5cbiAgICB0aGlzLmNsYXNzTmFtZXMgPSBjbGFzc05hbWVzO1xuICB9XG5cbiAgYWRkQ2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgfVxuXG4gIHJlbW92ZUNsYXNzTmFtZShjbGFzc05hbWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gIH1cbn1cbiJdfQ==