@angular-generic-table/core
Version:
A generic table component for Angular
73 lines (72 loc) • 4.23 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { ChangeDetectorRef, Directive, ElementRef, HostListener, Input } from '@angular/core';
export class GtColumnWidthDirective {
/**
* @param {?} hostElement
* @param {?} cdRef
*/
constructor(hostElement, cdRef) {
this.hostElement = hostElement;
this.cdRef = cdRef;
}
/**
* @param {?} $event
* @return {?}
*/
onResize($event) {
this.checkSize();
}
/**
* @return {?}
*/
ngOnInit() {
this.checkSize();
}
/**
* @return {?}
*/
checkSize() {
this.widths[this.objectKey] = window
.getComputedStyle(this.hostElement.nativeElement, null)
.getPropertyValue('width');
this.cdRef.detectChanges();
}
}
GtColumnWidthDirective.decorators = [
{ type: Directive, args: [{
selector: '[gtColumnWidth]'
},] },
];
/** @nocollapse */
GtColumnWidthDirective.ctorParameters = () => [
{ type: ElementRef, },
{ type: ChangeDetectorRef, },
];
GtColumnWidthDirective.propDecorators = {
"objectKey": [{ type: Input },],
"widths": [{ type: Input },],
"onResize": [{ type: HostListener, args: ['window:resize', ['$event'],] },],
};
function GtColumnWidthDirective_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
GtColumnWidthDirective.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
GtColumnWidthDirective.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
GtColumnWidthDirective.propDecorators;
/** @type {?} */
GtColumnWidthDirective.prototype.objectKey;
/** @type {?} */
GtColumnWidthDirective.prototype.widths;
/** @type {?} */
GtColumnWidthDirective.prototype.hostElement;
/** @type {?} */
GtColumnWidthDirective.prototype.cdRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtY29sdW1uLXdpZHRoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhbmd1bGFyLWdlbmVyaWMtdGFibGUvY29yZS8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvZ3QtY29sdW1uLXdpZHRoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNOLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxlQUFlLENBQUM7QUFLdkIsTUFBTTs7Ozs7SUFPTCxZQUNTLGFBQ0E7UUFEQSxnQkFBVyxHQUFYLFdBQVc7UUFDWCxVQUFLLEdBQUwsS0FBSztLQUNWOzs7OztJQU5HLFFBQVEsQ0FBQyxNQUFXO1FBQzFCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzs7Ozs7SUFNbEIsUUFBUTtRQUNQLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztLQUNqQjs7OztJQUVELFNBQVM7UUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNO2FBQ2xDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQzthQUN0RCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0tBQzNCOzs7WUF2QkQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxpQkFBaUI7YUFDM0I7Ozs7WUFSQSxVQUFVO1lBRlYsaUJBQWlCOzs7MEJBWWhCLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxZQUFZLFNBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0T25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbZ3RDb2x1bW5XaWR0aF0nXG59KVxuZXhwb3J0IGNsYXNzIEd0Q29sdW1uV2lkdGhEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXHRASW5wdXQoKSBvYmplY3RLZXk6IHN0cmluZztcblx0QElucHV0KCkgd2lkdGhzOiBPYmplY3Q7XG5cdEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuXHRwdWJsaWMgb25SZXNpemUoJGV2ZW50OiBhbnkpIHtcblx0XHR0aGlzLmNoZWNrU2l6ZSgpO1xuXHR9XG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG5cdFx0cHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcblx0KSB7fVxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLmNoZWNrU2l6ZSgpO1xuXHR9XG5cblx0Y2hlY2tTaXplKCkge1xuXHRcdHRoaXMud2lkdGhzW3RoaXMub2JqZWN0S2V5XSA9IHdpbmRvd1xuXHRcdFx0LmdldENvbXB1dGVkU3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCBudWxsKVxuXHRcdFx0LmdldFByb3BlcnR5VmFsdWUoJ3dpZHRoJyk7XG5cdFx0dGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdH1cbn1cbiJdfQ==