ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
158 lines • 11.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: src/cell/cell-fixed.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license
* Copyright Alibaba.com All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { ChangeDetectorRef, Directive, ElementRef, Input, Renderer2 } from '@angular/core';
import { Subject } from 'rxjs';
export class NzCellFixedDirective {
/**
* @param {?} cdr
* @param {?} renderer
* @param {?} elementRef
*/
constructor(cdr, renderer, elementRef) {
this.cdr = cdr;
this.renderer = renderer;
this.elementRef = elementRef;
this.nzRight = false;
this.nzLeft = false;
this.colspan = null;
this.changes$ = new Subject();
this.isFirstRight = false;
this.isLastLeft = false;
this.isAutoLeft = false;
this.isAutoRight = false;
this.isFixedLeft = false;
this.isFixedRight = false;
this.isFixed = false;
}
/**
* @param {?} isRightFirst
* @return {?}
*/
setIsFirstRight(isRightFirst) {
this.isFirstRight = isRightFirst;
this.cdr.markForCheck();
}
/**
* @param {?} isLeftLast
* @return {?}
*/
setIsLastLeft(isLeftLast) {
this.isLastLeft = isLeftLast;
this.cdr.markForCheck();
}
/**
* @param {?} autoLeft
* @return {?}
*/
setAutoLeftWidth(autoLeft) {
this.renderer.setStyle(this.elementRef.nativeElement, 'left', autoLeft);
}
/**
* @param {?} autoRight
* @return {?}
*/
setAutoRightWidth(autoRight) {
this.renderer.setStyle(this.elementRef.nativeElement, 'right', autoRight);
}
/**
* @return {?}
*/
ngOnChanges() {
this.isFirstRight = false;
this.isLastLeft = false;
this.isAutoLeft = this.nzLeft === '' || this.nzLeft === true;
this.isAutoRight = this.nzRight === '' || this.nzRight === true;
this.isFixedLeft = this.nzLeft !== false;
this.isFixedRight = this.nzRight !== false;
this.isFixed = this.isFixedLeft || this.isFixedRight;
/** @type {?} */
const validatePx = (/**
* @param {?} value
* @return {?}
*/
(value) => {
if (typeof value === 'string' && value !== '') {
return value;
}
else {
return null;
}
});
this.setAutoLeftWidth(validatePx(this.nzLeft));
this.setAutoRightWidth(validatePx(this.nzRight));
this.changes$.next();
}
}
NzCellFixedDirective.decorators = [
{ type: Directive, args: [{
selector: 'td[nzRight],th[nzRight],td[nzLeft],th[nzLeft]',
host: {
'[class.ant-table-cell-fix-right]': `isFixedRight`,
'[class.ant-table-cell-fix-left]': `isFixedLeft`,
'[class.ant-table-cell-fix-right-first]': `isFirstRight`,
'[class.ant-table-cell-fix-left-last]': `isLastLeft`,
'[style.position]': `isFixed? 'sticky' : null`
}
},] }
];
/** @nocollapse */
NzCellFixedDirective.ctorParameters = () => [
{ type: ChangeDetectorRef },
{ type: Renderer2 },
{ type: ElementRef }
];
NzCellFixedDirective.propDecorators = {
nzRight: [{ type: Input }],
nzLeft: [{ type: Input }],
colspan: [{ type: Input }]
};
if (false) {
/** @type {?} */
NzCellFixedDirective.prototype.nzRight;
/** @type {?} */
NzCellFixedDirective.prototype.nzLeft;
/** @type {?} */
NzCellFixedDirective.prototype.colspan;
/** @type {?} */
NzCellFixedDirective.prototype.changes$;
/** @type {?} */
NzCellFixedDirective.prototype.isFirstRight;
/** @type {?} */
NzCellFixedDirective.prototype.isLastLeft;
/** @type {?} */
NzCellFixedDirective.prototype.isAutoLeft;
/** @type {?} */
NzCellFixedDirective.prototype.isAutoRight;
/** @type {?} */
NzCellFixedDirective.prototype.isFixedLeft;
/** @type {?} */
NzCellFixedDirective.prototype.isFixedRight;
/** @type {?} */
NzCellFixedDirective.prototype.isFixed;
/**
* @type {?}
* @private
*/
NzCellFixedDirective.prototype.cdr;
/**
* @type {?}
* @private
*/
NzCellFixedDirective.prototype.renderer;
/**
* @type {?}
* @private
*/
NzCellFixedDirective.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1maXhlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkL3RhYmxlLyIsInNvdXJjZXMiOlsic3JjL2NlbGwvY2VsbC1maXhlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBWS9CLE1BQU0sT0FBTyxvQkFBb0I7Ozs7OztJQStCL0IsWUFBb0IsR0FBc0IsRUFBVSxRQUFtQixFQUFVLFVBQXNCO1FBQW5GLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUE5QjlGLFlBQU8sR0FBcUIsS0FBSyxDQUFDO1FBQ2xDLFdBQU0sR0FBcUIsS0FBSyxDQUFDO1FBQ2pDLFlBQU8sR0FBa0IsSUFBSSxDQUFDO1FBQ3ZDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBb0IwRixDQUFDOzs7OztJQWxCM0csZUFBZSxDQUFDLFlBQXFCO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Ozs7SUFFRCxhQUFhLENBQUMsVUFBbUI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLFFBQXVCO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxRSxDQUFDOzs7OztJQUVELGlCQUFpQixDQUFDLFNBQXdCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RSxDQUFDOzs7O0lBSUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7UUFDN0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQztRQUNoRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7O2NBQy9DLFVBQVU7Ozs7UUFBRyxDQUFDLEtBQXVCLEVBQWlCLEVBQUU7WUFDNUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtnQkFDN0MsT0FBTyxLQUFLLENBQUM7YUFDZDtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQzthQUNiO1FBQ0gsQ0FBQyxDQUFBO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7O1lBN0RGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsK0NBQStDO2dCQUN6RCxJQUFJLEVBQUU7b0JBQ0osa0NBQWtDLEVBQUUsY0FBYztvQkFDbEQsaUNBQWlDLEVBQUUsYUFBYTtvQkFDaEQsd0NBQXdDLEVBQUUsY0FBYztvQkFDeEQsc0NBQXNDLEVBQUUsWUFBWTtvQkFDcEQsa0JBQWtCLEVBQUUsMEJBQTBCO2lCQUMvQzthQUNGOzs7O1lBWlEsaUJBQWlCO1lBQTJDLFNBQVM7WUFBdkMsVUFBVTs7O3NCQWM5QyxLQUFLO3FCQUNMLEtBQUs7c0JBQ0wsS0FBSzs7OztJQUZOLHVDQUEyQzs7SUFDM0Msc0NBQTBDOztJQUMxQyx1Q0FBdUM7O0lBQ3ZDLHdDQUErQjs7SUFDL0IsNENBQXFCOztJQUNyQiwwQ0FBbUI7O0lBQ25CLDBDQUFtQjs7SUFDbkIsMkNBQW9COztJQUNwQiwyQ0FBb0I7O0lBQ3BCLDRDQUFxQjs7SUFDckIsdUNBQWdCOzs7OztJQW9CSixtQ0FBOEI7Ozs7O0lBQUUsd0NBQTJCOzs7OztJQUFFLDBDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbGliYWJhLmNvbSBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9ORy1aT1JSTy9uZy16b3Jyby1hbnRkL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAndGRbbnpSaWdodF0sdGhbbnpSaWdodF0sdGRbbnpMZWZ0XSx0aFtuekxlZnRdJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuYW50LXRhYmxlLWNlbGwtZml4LXJpZ2h0XSc6IGBpc0ZpeGVkUmlnaHRgLFxuICAgICdbY2xhc3MuYW50LXRhYmxlLWNlbGwtZml4LWxlZnRdJzogYGlzRml4ZWRMZWZ0YCxcbiAgICAnW2NsYXNzLmFudC10YWJsZS1jZWxsLWZpeC1yaWdodC1maXJzdF0nOiBgaXNGaXJzdFJpZ2h0YCxcbiAgICAnW2NsYXNzLmFudC10YWJsZS1jZWxsLWZpeC1sZWZ0LWxhc3RdJzogYGlzTGFzdExlZnRgLFxuICAgICdbc3R5bGUucG9zaXRpb25dJzogYGlzRml4ZWQ/ICdzdGlja3knIDogbnVsbGBcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBOekNlbGxGaXhlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIG56UmlnaHQ6IHN0cmluZyB8IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbnpMZWZ0OiBzdHJpbmcgfCBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbHNwYW46IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBjaGFuZ2VzJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGlzRmlyc3RSaWdodCA9IGZhbHNlO1xuICBpc0xhc3RMZWZ0ID0gZmFsc2U7XG4gIGlzQXV0b0xlZnQgPSBmYWxzZTtcbiAgaXNBdXRvUmlnaHQgPSBmYWxzZTtcbiAgaXNGaXhlZExlZnQgPSBmYWxzZTtcbiAgaXNGaXhlZFJpZ2h0ID0gZmFsc2U7XG4gIGlzRml4ZWQgPSBmYWxzZTtcblxuICBzZXRJc0ZpcnN0UmlnaHQoaXNSaWdodEZpcnN0OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0ZpcnN0UmlnaHQgPSBpc1JpZ2h0Rmlyc3Q7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBzZXRJc0xhc3RMZWZ0KGlzTGVmdExhc3Q6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzTGFzdExlZnQgPSBpc0xlZnRMYXN0O1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgc2V0QXV0b0xlZnRXaWR0aChhdXRvTGVmdDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYXV0b0xlZnQpO1xuICB9XG5cbiAgc2V0QXV0b1JpZ2h0V2lkdGgoYXV0b1JpZ2h0OiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3JpZ2h0JywgYXV0b1JpZ2h0KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5pc0ZpcnN0UmlnaHQgPSBmYWxzZTtcbiAgICB0aGlzLmlzTGFzdExlZnQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQXV0b0xlZnQgPSB0aGlzLm56TGVmdCA9PT0gJycgfHwgdGhpcy5uekxlZnQgPT09IHRydWU7XG4gICAgdGhpcy5pc0F1dG9SaWdodCA9IHRoaXMubnpSaWdodCA9PT0gJycgfHwgdGhpcy5uelJpZ2h0ID09PSB0cnVlO1xuICAgIHRoaXMuaXNGaXhlZExlZnQgPSB0aGlzLm56TGVmdCAhPT0gZmFsc2U7XG4gICAgdGhpcy5pc0ZpeGVkUmlnaHQgPSB0aGlzLm56UmlnaHQgIT09IGZhbHNlO1xuICAgIHRoaXMuaXNGaXhlZCA9IHRoaXMuaXNGaXhlZExlZnQgfHwgdGhpcy5pc0ZpeGVkUmlnaHQ7XG4gICAgY29uc3QgdmFsaWRhdGVQeCA9ICh2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbik6IHN0cmluZyB8IG51bGwgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUgIT09ICcnKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5zZXRBdXRvTGVmdFdpZHRoKHZhbGlkYXRlUHgodGhpcy5uekxlZnQpKTtcbiAgICB0aGlzLnNldEF1dG9SaWdodFdpZHRoKHZhbGlkYXRlUHgodGhpcy5uelJpZ2h0KSk7XG4gICAgdGhpcy5jaGFuZ2VzJC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==