ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
83 lines • 8.81 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 { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, Renderer2, ViewEncapsulation } from '@angular/core';
export class NzCascaderOptionComponent {
constructor(cdr, elementRef, renderer) {
this.cdr = cdr;
this.optionTemplate = null;
this.activated = false;
this.nzLabelProperty = 'label';
this.expandIcon = '';
this.dir = 'ltr';
renderer.addClass(elementRef.nativeElement, 'ant-cascader-menu-item');
this.nativeElement = elementRef.nativeElement;
}
ngOnInit() {
if (this.expandIcon === '' && this.dir === 'rtl') {
this.expandIcon = 'left';
}
else if (this.expandIcon === '') {
this.expandIcon = 'right';
}
}
get optionLabel() {
return this.option[this.nzLabelProperty];
}
markForCheck() {
this.cdr.markForCheck();
}
}
NzCascaderOptionComponent.decorators = [
{ type: Component, args: [{
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
selector: '[nz-cascader-option]',
exportAs: 'nzCascaderOption',
template: `
<ng-container *ngIf="optionTemplate; else defaultOptionTemplate">
<ng-template
[ngTemplateOutlet]="optionTemplate"
[ngTemplateOutletContext]="{ $implicit: option, index: columnIndex }"
></ng-template>
</ng-container>
<ng-template #defaultOptionTemplate>
<span [innerHTML]="optionLabel | nzHighlight: highlightText:'g':'ant-cascader-menu-item-keyword'"></span>
</ng-template>
<span
*ngIf="!option.isLeaf || option.children?.length || option.loading"
class="ant-cascader-menu-item-expand-icon"
>
<i *ngIf="option.loading; else icon" nz-icon nzType="loading"></i>
<ng-template #icon>
<ng-container *nzStringTemplateOutlet="expandIcon">
<i nz-icon [nzType]="$any(expandIcon)"></i>
</ng-container>
</ng-template>
</span>
`,
host: {
'[attr.title]': 'option.title || optionLabel',
'[class.ant-cascader-menu-item-active]': 'activated',
'[class.ant-cascader-menu-item-expand]': '!option.isLeaf',
'[class.ant-cascader-menu-item-disabled]': 'option.disabled'
}
},] }
];
NzCascaderOptionComponent.ctorParameters = () => [
{ type: ChangeDetectorRef },
{ type: ElementRef },
{ type: Renderer2 }
];
NzCascaderOptionComponent.propDecorators = {
optionTemplate: [{ type: Input }],
option: [{ type: Input }],
activated: [{ type: Input }],
highlightText: [{ type: Input }],
nzLabelProperty: [{ type: Input }],
columnIndex: [{ type: Input }],
expandIcon: [{ type: Input }],
dir: [{ type: Input }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZXItbGkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9jYXNjYWRlci9jYXNjYWRlci1saS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBR0gsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUVULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQXNDdkIsTUFBTSxPQUFPLHlCQUF5QjtJQVlwQyxZQUFvQixHQUFzQixFQUFFLFVBQXNCLEVBQUUsUUFBbUI7UUFBbkUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFYakMsbUJBQWMsR0FBeUMsSUFBSSxDQUFDO1FBRTVELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsb0JBQWUsR0FBRyxPQUFPLENBQUM7UUFFMUIsZUFBVSxHQUErQixFQUFFLENBQUM7UUFDNUMsUUFBRyxHQUFjLEtBQUssQ0FBQztRQUs5QixRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDaEQsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssS0FBSyxFQUFFO1lBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1NBQzFCO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7WUFoRUYsU0FBUyxTQUFDO2dCQUNULGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQ7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLGNBQWMsRUFBRSw2QkFBNkI7b0JBQzdDLHVDQUF1QyxFQUFFLFdBQVc7b0JBQ3BELHVDQUF1QyxFQUFFLGdCQUFnQjtvQkFDekQseUNBQXlDLEVBQUUsaUJBQWlCO2lCQUM3RDthQUNGOzs7WUE3Q0MsaUJBQWlCO1lBRWpCLFVBQVU7WUFHVixTQUFTOzs7NkJBMENSLEtBQUs7cUJBQ0wsS0FBSzt3QkFDTCxLQUFLOzRCQUNMLEtBQUs7OEJBQ0wsS0FBSzswQkFDTCxLQUFLO3lCQUNMLEtBQUs7a0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTnpDYXNjYWRlck9wdGlvbiB9IGZyb20gJy4vdHlwaW5ncyc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc2VsZWN0b3I6ICdbbnotY2FzY2FkZXItb3B0aW9uXScsXG4gIGV4cG9ydEFzOiAnbnpDYXNjYWRlck9wdGlvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvblRlbXBsYXRlOyBlbHNlIGRlZmF1bHRPcHRpb25UZW1wbGF0ZVwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBvcHRpb24sIGluZGV4OiBjb2x1bW5JbmRleCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvblRlbXBsYXRlPlxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJvcHRpb25MYWJlbCB8IG56SGlnaGxpZ2h0OiBoaWdobGlnaHRUZXh0OidnJzonYW50LWNhc2NhZGVyLW1lbnUtaXRlbS1rZXl3b3JkJ1wiPjwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cIiFvcHRpb24uaXNMZWFmIHx8IG9wdGlvbi5jaGlsZHJlbj8ubGVuZ3RoIHx8IG9wdGlvbi5sb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYW50LWNhc2NhZGVyLW1lbnUtaXRlbS1leHBhbmQtaWNvblwiXG4gICAgPlxuICAgICAgPGkgKm5nSWY9XCJvcHRpb24ubG9hZGluZzsgZWxzZSBpY29uXCIgbnotaWNvbiBuelR5cGU9XCJsb2FkaW5nXCI+PC9pPlxuICAgICAgPG5nLXRlbXBsYXRlICNpY29uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuelN0cmluZ1RlbXBsYXRlT3V0bGV0PVwiZXhwYW5kSWNvblwiPlxuICAgICAgICAgIDxpIG56LWljb24gW256VHlwZV09XCIkYW55KGV4cGFuZEljb24pXCI+PC9pPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuICBgLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLnRpdGxlXSc6ICdvcHRpb24udGl0bGUgfHwgb3B0aW9uTGFiZWwnLFxuICAgICdbY2xhc3MuYW50LWNhc2NhZGVyLW1lbnUtaXRlbS1hY3RpdmVdJzogJ2FjdGl2YXRlZCcsXG4gICAgJ1tjbGFzcy5hbnQtY2FzY2FkZXItbWVudS1pdGVtLWV4cGFuZF0nOiAnIW9wdGlvbi5pc0xlYWYnLFxuICAgICdbY2xhc3MuYW50LWNhc2NhZGVyLW1lbnUtaXRlbS1kaXNhYmxlZF0nOiAnb3B0aW9uLmRpc2FibGVkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE56Q2FzY2FkZXJPcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8TnpDYXNjYWRlck9wdGlvbj4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgb3B0aW9uITogTnpDYXNjYWRlck9wdGlvbjtcbiAgQElucHV0KCkgYWN0aXZhdGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZ2hsaWdodFRleHQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG56TGFiZWxQcm9wZXJ0eSA9ICdsYWJlbCc7XG4gIEBJbnB1dCgpIGNvbHVtbkluZGV4ITogbnVtYmVyO1xuICBASW5wdXQoKSBleHBhbmRJY29uOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPiA9ICcnO1xuICBASW5wdXQoKSBkaXI6IERpcmVjdGlvbiA9ICdsdHInO1xuXG4gIHJlYWRvbmx5IG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2FudC1jYXNjYWRlci1tZW51LWl0ZW0nKTtcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZXhwYW5kSWNvbiA9PT0gJycgJiYgdGhpcy5kaXIgPT09ICdydGwnKSB7XG4gICAgICB0aGlzLmV4cGFuZEljb24gPSAnbGVmdCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmV4cGFuZEljb24gPT09ICcnKSB7XG4gICAgICB0aGlzLmV4cGFuZEljb24gPSAncmlnaHQnO1xuICAgIH1cbiAgfVxuXG4gIGdldCBvcHRpb25MYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wdGlvblt0aGlzLm56TGFiZWxQcm9wZXJ0eV07XG4gIH1cblxuICBtYXJrRm9yQ2hlY2soKTogdm9pZCB7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiJdfQ==