ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
42 lines • 4.43 kB
JavaScript
/**
* 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 { Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';
export class NzRowExpandButtonDirective {
constructor(elementRef) {
this.elementRef = elementRef;
this.expand = false;
this.spaceMode = false;
this.expandChange = new EventEmitter();
// TODO: move to host after View Engine deprecation
this.elementRef.nativeElement.classList.add('ant-table-row-expand-icon');
}
onHostClick() {
if (!this.spaceMode) {
this.expand = !this.expand;
this.expandChange.next(this.expand);
}
}
}
NzRowExpandButtonDirective.decorators = [
{ type: Directive, args: [{
selector: 'button[nz-row-expand-button]',
host: {
'[type]': `'button'`,
'[class.ant-table-row-expand-icon-expanded]': `!spaceMode && expand === true`,
'[class.ant-table-row-expand-icon-collapsed]': `!spaceMode && expand === false`,
'[class.ant-table-row-expand-icon-spaced]': 'spaceMode',
'(click)': 'onHostClick()'
}
},] }
];
NzRowExpandButtonDirective.ctorParameters = () => [
{ type: ElementRef }
];
NzRowExpandButtonDirective.propDecorators = {
expand: [{ type: Input }],
spaceMode: [{ type: Input }],
expandChange: [{ type: Output }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWV4cGFuZC1idXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3ZzdHMvd29yay8xL3MvY29tcG9uZW50cy90YWJsZS8iLCJzb3VyY2VzIjpbInNyYy9hZGRvbi9yb3ctZXhwYW5kLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFZbkYsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSmpDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ1IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR25ELG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDOzs7WUF6QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLElBQUksRUFBRTtvQkFDSixRQUFRLEVBQUUsVUFBVTtvQkFDcEIsNENBQTRDLEVBQUUsK0JBQStCO29CQUM3RSw2Q0FBNkMsRUFBRSxnQ0FBZ0M7b0JBQy9FLDBDQUEwQyxFQUFFLFdBQVc7b0JBQ3ZELFNBQVMsRUFBRSxlQUFlO2lCQUMzQjthQUNGOzs7WUFYbUIsVUFBVTs7O3FCQWEzQixLQUFLO3dCQUNMLEtBQUs7MkJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2J1dHRvbltuei1yb3ctZXhwYW5kLWJ1dHRvbl0nLFxuICBob3N0OiB7XG4gICAgJ1t0eXBlXSc6IGAnYnV0dG9uJ2AsXG4gICAgJ1tjbGFzcy5hbnQtdGFibGUtcm93LWV4cGFuZC1pY29uLWV4cGFuZGVkXSc6IGAhc3BhY2VNb2RlICYmIGV4cGFuZCA9PT0gdHJ1ZWAsXG4gICAgJ1tjbGFzcy5hbnQtdGFibGUtcm93LWV4cGFuZC1pY29uLWNvbGxhcHNlZF0nOiBgIXNwYWNlTW9kZSAmJiBleHBhbmQgPT09IGZhbHNlYCxcbiAgICAnW2NsYXNzLmFudC10YWJsZS1yb3ctZXhwYW5kLWljb24tc3BhY2VkXSc6ICdzcGFjZU1vZGUnLFxuICAgICcoY2xpY2spJzogJ29uSG9zdENsaWNrKCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTnpSb3dFeHBhbmRCdXR0b25EaXJlY3RpdmUge1xuICBASW5wdXQoKSBleHBhbmQgPSBmYWxzZTtcbiAgQElucHV0KCkgc3BhY2VNb2RlID0gZmFsc2U7XG4gIEBPdXRwdXQoKSByZWFkb25seSBleHBhbmRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgLy8gVE9ETzogbW92ZSB0byBob3N0IGFmdGVyIFZpZXcgRW5naW5lIGRlcHJlY2F0aW9uXG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnYW50LXRhYmxlLXJvdy1leHBhbmQtaWNvbicpO1xuICB9XG5cbiAgb25Ib3N0Q2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNwYWNlTW9kZSkge1xuICAgICAgdGhpcy5leHBhbmQgPSAhdGhpcy5leHBhbmQ7XG4gICAgICB0aGlzLmV4cGFuZENoYW5nZS5uZXh0KHRoaXMuZXhwYW5kKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==