UNPKG

fundamental-ngx

Version:

SAP Fundamentals, implemented in Angular

87 lines 6.29 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Input } from '@angular/core'; /* This abstract class allows the user to set their own custom styles on a Fundamental NGX directive, in addition to the styles the library needs to add itself. When library styles were added through the directive's host: {'[class]'} property, any styles the user added would be overwritten. By extending this class, we instead add library styles to the user's classList rather than replace them. */ /** * @hidden * @abstract */ export class AbstractFdNgxClass { /** * @hidden * @protected * @param {?} elementRef */ constructor(elementRef) { this._elementRef = elementRef; this._setProperties(); } /** * @hidden * @param {?} className * @return {?} */ _addClassToElement(className) { ((/** @type {?} */ (this._elementRef.nativeElement))).classList.add(...className.split(' ')); } /** * @hidden * @param {?} attribute * @param {?} value * @return {?} */ _addStyleToElement(attribute, value) { ((/** @type {?} */ (this._elementRef.nativeElement))).style[attribute] = value; } /** * @hidden * @return {?} */ ngOnChanges() { /** @type {?} */ const classList = ((/** @type {?} */ (this._elementRef.nativeElement))).classList; while (classList.length > 0) { classList.remove(classList.item(0)); } if (this.class) { this._addClassToElement(this.class); } this._setProperties(); } /** * @hidden * @return {?} */ ngOnInit() { this._setProperties(); } } AbstractFdNgxClass.propDecorators = { class: [{ type: Input }] }; if (false) { /** * @type {?} * @private */ AbstractFdNgxClass.prototype._elementRef; /** * @hidden * @type {?} */ AbstractFdNgxClass.prototype.class; /** * @hidden * @abstract * @return {?} */ AbstractFdNgxClass.prototype._setProperties = function () { }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZmQtbmd4LWNsYXNzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZnVuZGFtZW50YWwtbmd4LyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2Fic3RyYWN0LWZkLW5neC1jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFpQyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0FBVXJFLE1BQU0sT0FBZ0Isa0JBQWtCOzs7Ozs7SUF3QnBDLFlBQXNCLFVBQXNCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7Ozs7SUFiRCxrQkFBa0IsQ0FBQyxTQUFpQjtRQUNoQyxDQUFDLG1CQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7Ozs7Ozs7SUFHRCxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsS0FBSztRQUMvQixDQUFDLG1CQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzdFLENBQUM7Ozs7O0lBU0QsV0FBVzs7Y0FDRCxTQUFTLEdBQUcsQ0FBQyxtQkFBQSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsU0FBUztRQUMzRSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2QztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUdELFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7O29CQXhDQSxLQUFLOzs7Ozs7O0lBSE4seUNBQWdDOzs7OztJQUdoQyxtQ0FBZTs7Ozs7O0lBT2YsOERBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qXG4gVGhpcyBhYnN0cmFjdCBjbGFzcyBhbGxvd3MgdGhlIHVzZXIgdG8gc2V0IHRoZWlyIG93biBjdXN0b20gc3R5bGVzIG9uIGEgRnVuZGFtZW50YWwgTkdYIGRpcmVjdGl2ZSwgaW4gYWRkaXRpb24gdG8gdGhlXG4gc3R5bGVzIHRoZSBsaWJyYXJ5IG5lZWRzIHRvIGFkZCBpdHNlbGYuXG4gV2hlbiBsaWJyYXJ5IHN0eWxlcyB3ZXJlIGFkZGVkIHRocm91Z2ggdGhlIGRpcmVjdGl2ZSdzIGhvc3Q6IHsnW2NsYXNzXSd9IHByb3BlcnR5LCBhbnkgc3R5bGVzIHRoZSB1c2VyIGFkZGVkIHdvdWxkIGJlXG4gb3ZlcndyaXR0ZW4uICBCeSBleHRlbmRpbmcgdGhpcyBjbGFzcywgd2UgaW5zdGVhZCBhZGQgbGlicmFyeSBzdHlsZXMgdG8gdGhlIHVzZXIncyBjbGFzc0xpc3QgcmF0aGVyIHRoYW4gcmVwbGFjZSB0aGVtLlxuICovXG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGZE5neENsYXNzIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpIGNsYXNzOyAvLyB1c2VyJ3MgY3VzdG9tIGNsYXNzZXNcblxuICAgIC8qXG4gICAgIGVhY2ggZGlyZWN0aXZlIHRoYXQgZXh0ZW5kcyB0aGlzIGNsYXNzIHdpbGwgaW1wbGVtZW50IHRoaXMgZnVuY3Rpb24gYW5kIHBvcHVsYXRlIGl0IHdpdGggb25lIG9yIG1vcmUgY2FsbHMgdG9cbiAgICAgdGhlICdfYWRkQ2xhc3NUb0VsZW1lbnQnIGZ1bmN0aW9uLCBwYXNzaW5nIHRoZSBzdHlsZSBuYW1lcyB0byBiZSBhZGRlZCB3aXRoIGVhY2ggY2FsbFxuICAgICAqL1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWJzdHJhY3QgX3NldFByb3BlcnRpZXMoKTogdm9pZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2FkZENsYXNzVG9FbGVtZW50KGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgICAgICh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5hZGQoLi4uY2xhc3NOYW1lLnNwbGl0KCcgJykpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2FkZFN0eWxlVG9FbGVtZW50KGF0dHJpYnV0ZSwgdmFsdWUpIHtcbiAgICAgICAgKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGVbYXR0cmlidXRlXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgICAgIHRoaXMuX3NldFByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBjb25zdCBjbGFzc0xpc3QgPSAodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3Q7XG4gICAgICAgIHdoaWxlIChjbGFzc0xpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY2xhc3NMaXN0LnJlbW92ZShjbGFzc0xpc3QuaXRlbSgwKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuX2FkZENsYXNzVG9FbGVtZW50KHRoaXMuY2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldFByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLl9zZXRQcm9wZXJ0aWVzKCk7XG4gICAgfVxufVxuIl19