@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.
71 lines (70 loc) • 4.51 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @abstract
*/
var /**
* @abstract
*/
BaseDirective = /** @class */ (function () {
function BaseDirective(elementRef, renderer) {
this.elementRef = elementRef;
this.renderer = renderer;
this.classNames = [];
}
/**
* @param {?} classNames
* @return {?}
*/
BaseDirective.prototype.setClassNames = /**
* @param {?} classNames
* @return {?}
*/
function (classNames) {
var _this = this;
classNames = classNames.filter(function (value, index, self) { return self.indexOf(value) === index; });
classNames.forEach(function (className) { return _this.addClassName(className); });
this.classNames
.filter(function (className) { return classNames.indexOf(className) < 0; })
.forEach(function (className) { return _this.removeClassName(className); });
this.classNames = classNames;
};
/**
* @param {?} className
* @return {?}
*/
BaseDirective.prototype.addClassName = /**
* @param {?} className
* @return {?}
*/
function (className) {
this.renderer.addClass(this.elementRef.nativeElement, className);
};
/**
* @param {?} className
* @return {?}
*/
BaseDirective.prototype.removeClassName = /**
* @param {?} className
* @return {?}
*/
function (className) {
this.renderer.removeClass(this.elementRef.nativeElement, className);
};
return BaseDirective;
}());
/**
* @abstract
*/
export { BaseDirective };
function BaseDirective_tsickle_Closure_declarations() {
/** @type {?} */
BaseDirective.prototype.classNames;
/** @type {?} */
BaseDirective.prototype.elementRef;
/** @type {?} */
BaseDirective.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdyZWctbWQvbmctZmxleC1jc3MtbGF5b3V0LyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7OztBQUFBO0lBR0UsdUJBQ1MsWUFDRyxRQUFtQjtRQUR0QixlQUFVLEdBQVYsVUFBVTtRQUNQLGFBQVEsR0FBUixRQUFRLENBQVc7MEJBSkEsRUFBRTtLQU1oQzs7Ozs7SUFFRCxxQ0FBYTs7OztJQUFiLFVBQWMsVUFBb0I7UUFBbEMsaUJBVUM7UUFUQyxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxJQUFLLE9BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEVBQTdCLENBQTZCLENBQUMsQ0FBQztRQUV0RixVQUFVLENBQUMsT0FBTyxDQUFDLFVBQUEsU0FBUyxJQUFJLE9BQUEsS0FBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBNUIsQ0FBNEIsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxVQUFVO2FBQ1osTUFBTSxDQUFDLFVBQUEsU0FBUyxJQUFJLE9BQUEsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQWpDLENBQWlDLENBQUM7YUFDdEQsT0FBTyxDQUFDLFVBQUEsU0FBUyxJQUFJLE9BQUEsS0FBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBL0IsQ0FBK0IsQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0tBQzlCOzs7OztJQUVELG9DQUFZOzs7O0lBQVosVUFBYSxTQUFpQjtRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztLQUNsRTs7Ozs7SUFFRCx1Q0FBZTs7OztJQUFmLFVBQWdCLFNBQWlCO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ3JFO3dCQTdCSDtJQThCQyxDQUFBOzs7O0FBNUJELHlCQTRCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZURpcmVjdGl2ZSB7XG4gIHByaXZhdGUgY2xhc3NOYW1lczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgKSB7XG4gIH1cblxuICBzZXRDbGFzc05hbWVzKGNsYXNzTmFtZXM6IHN0cmluZ1tdKSB7XG4gICAgY2xhc3NOYW1lcyA9IGNsYXNzTmFtZXMuZmlsdGVyKCh2YWx1ZSwgaW5kZXgsIHNlbGYpID0+IHNlbGYuaW5kZXhPZih2YWx1ZSkgPT09IGluZGV4KTtcblxuICAgIGNsYXNzTmFtZXMuZm9yRWFjaChjbGFzc05hbWUgPT4gdGhpcy5hZGRDbGFzc05hbWUoY2xhc3NOYW1lKSk7XG5cbiAgICB0aGlzLmNsYXNzTmFtZXNcbiAgICAgIC5maWx0ZXIoY2xhc3NOYW1lID0+IGNsYXNzTmFtZXMuaW5kZXhPZihjbGFzc05hbWUpIDwgMClcbiAgICAgIC5mb3JFYWNoKGNsYXNzTmFtZSA9PiB0aGlzLnJlbW92ZUNsYXNzTmFtZShjbGFzc05hbWUpKTtcblxuICAgIHRoaXMuY2xhc3NOYW1lcyA9IGNsYXNzTmFtZXM7XG4gIH1cblxuICBhZGRDbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xuICB9XG5cbiAgcmVtb3ZlQ2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgfVxufVxuIl19