@taiga-ui/kit
Version:
Taiga UI Angular main components kit
77 lines • 9.16 kB
JavaScript
import { __decorate } from "tslib";
import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChildren, } from '@angular/core';
import { ALWAYS_FALSE_HANDLER, EMPTY_QUERY, isNativeFocused, isPresent, TUI_DEFAULT_STRINGIFY, tuiDefaultProp, } from '@taiga-ui/cdk';
import { TUI_DATA_LIST_ACCESSOR, TuiOptionComponent, } from '@taiga-ui/core';
var TuiDataListWrapperComponent = /** @class */ (function () {
function TuiDataListWrapperComponent() {
this.items = [];
this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
this.emptyContent = '';
this.itemContent = function (_a) {
var $implicit = _a.$implicit;
return TUI_DEFAULT_STRINGIFY($implicit);
};
this.size = 'm';
this.options = EMPTY_QUERY;
}
TuiDataListWrapperComponent_1 = TuiDataListWrapperComponent;
TuiDataListWrapperComponent.prototype.getContext = function ($implicit, _a) {
var nativeElement = _a.nativeElement;
return { $implicit: $implicit, active: isNativeFocused(nativeElement) };
};
TuiDataListWrapperComponent.prototype.getOptions = function (includeDisabled) {
if (includeDisabled === void 0) { includeDisabled = false; }
return this.options
.toArray()
.filter(function (_a) {
var disabled = _a.disabled;
return includeDisabled || !disabled;
})
.map(function (_a) {
var value = _a.value;
return value;
})
.filter(isPresent);
};
var TuiDataListWrapperComponent_1;
__decorate([
Input(),
tuiDefaultProp()
], TuiDataListWrapperComponent.prototype, "items", void 0);
__decorate([
Input(),
tuiDefaultProp()
], TuiDataListWrapperComponent.prototype, "disabledItemHandler", void 0);
__decorate([
Input(),
tuiDefaultProp()
], TuiDataListWrapperComponent.prototype, "emptyContent", void 0);
__decorate([
Input(),
tuiDefaultProp()
], TuiDataListWrapperComponent.prototype, "itemContent", void 0);
__decorate([
Input(),
tuiDefaultProp()
], TuiDataListWrapperComponent.prototype, "size", void 0);
__decorate([
ViewChildren(forwardRef(function () { return TuiOptionComponent; }))
], TuiDataListWrapperComponent.prototype, "options", void 0);
TuiDataListWrapperComponent = TuiDataListWrapperComponent_1 = __decorate([
Component({
selector: 'tui-data-list-wrapper:not([labels])',
template: "<tui-data-list *ngIf=\"items else loading\" [emptyContent]=\"emptyContent\">\n <button\n *ngFor=\"let item of items\"\n #elementRef=\"elementRef\"\n tuiElement\n tuiOption\n automation-id=\"tui-data-list-wrapper__option\"\n [size]=\"size\"\n [value]=\"item\"\n [disabled]=\"disabledItemHandler(item)\"\n >\n <span\n polymorpheus-outlet\n class=\"content\"\n [content]=\"itemContent\"\n [context]=\"getContext(item, elementRef)\"\n ></span>\n </button>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader\n class=\"tui-space_vertical-3\"\n automation-id=\"tui-data-list-wrapper__loader\"\n ></tui-loader>\n</ng-template>\n",
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [
{
provide: TUI_DATA_LIST_ACCESSOR,
useExisting: forwardRef(function () { return TuiDataListWrapperComponent_1; }),
},
],
styles: [":host{display:block}.content{flex:1}"]
})
], TuiDataListWrapperComponent);
return TuiDataListWrapperComponent;
}());
export { TuiDataListWrapperComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RhdGEtbGlzdC13cmFwcGVyLyIsInNvdXJjZXMiOlsiZGF0YS1saXN0LXdyYXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxlQUFlLEVBQ2YsU0FBUyxFQUNULHFCQUFxQixFQUVyQixjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIsa0JBQWtCLEdBSXJCLE1BQU0sZ0JBQWdCLENBQUM7QUFleEI7SUFBQTtRQUdJLFVBQUssR0FBOEQsRUFBRSxDQUFDO1FBSXRFLHdCQUFtQixHQUF5QixvQkFBb0IsQ0FBQztRQUlqRSxpQkFBWSxHQUF3QixFQUFFLENBQUM7UUFJdkMsZ0JBQVcsR0FBbUQsVUFBQyxFQUFXO2dCQUFWLHdCQUFTO1lBQ3JFLE9BQUEscUJBQXFCLENBQUMsU0FBUyxDQUFDO1FBQWhDLENBQWdDLENBQUM7UUFJckMsU0FBSSxHQUF5QixHQUFHLENBQUM7UUFHaEIsWUFBTyxHQUFxQyxXQUFXLENBQUM7SUFnQjdFLENBQUM7b0NBdkNZLDJCQUEyQjtJQXlCcEMsZ0RBQVUsR0FBVixVQUNJLFNBQVksRUFDWixFQUF3QztZQUF2QyxnQ0FBYTtRQUVkLE9BQU8sRUFBQyxTQUFTLFdBQUEsRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxFQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGdEQUFVLEdBQVYsVUFBVyxlQUFnQztRQUFoQyxnQ0FBQSxFQUFBLHVCQUFnQztRQUN2QyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2QsT0FBTyxFQUFFO2FBQ1QsTUFBTSxDQUFDLFVBQUMsRUFBVTtnQkFBVCxzQkFBUTtZQUFNLE9BQUEsZUFBZSxJQUFJLENBQUMsUUFBUTtRQUE1QixDQUE0QixDQUFDO2FBQ3BELEdBQUcsQ0FBQyxVQUFDLEVBQU87Z0JBQU4sZ0JBQUs7WUFBTSxPQUFBLEtBQUs7UUFBTCxDQUFLLENBQUM7YUFDdkIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7O0lBbkNEO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzhEQUNxRDtJQUl0RTtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTs0RUFDZ0Q7SUFJakU7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7cUVBQ3NCO0lBSXZDO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO29FQUVvQjtJQUlyQztRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTs2REFDZ0I7SUFHakM7UUFEQyxZQUFZLENBQUMsVUFBVSxDQUFDLGNBQU0sT0FBQSxrQkFBa0IsRUFBbEIsQ0FBa0IsQ0FBQyxDQUFDO2dFQUNzQjtJQXZCaEUsMkJBQTJCO1FBWnZDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxxQ0FBcUM7WUFDL0MsNHdCQUFnRDtZQUVoRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLHNCQUFzQjtvQkFDL0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsNkJBQTJCLEVBQTNCLENBQTJCLENBQUM7aUJBQzdEO2FBQ0o7O1NBQ0osQ0FBQztPQUNXLDJCQUEyQixDQXVDdkM7SUFBRCxrQ0FBQztDQUFBLEFBdkNELElBdUNDO1NBdkNZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIGlzUHJlc2VudCxcbiAgICBUVUlfREVGQVVMVF9TVFJJTkdJRlksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgdHVpRGVmYXVsdFByb3AsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFUQV9MSVNUX0FDQ0VTU09SLFxuICAgIFR1aURhdGFMaXN0QWNjZXNzb3IsXG4gICAgVHVpT3B0aW9uQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVYUyxcbiAgICBUdWlWYWx1ZUNvbnRlbnRDb250ZXh0LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWRhdGEtbGlzdC13cmFwcGVyOm5vdChbbGFiZWxzXSknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxpc3Qtd3JhcHBlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRhLWxpc3Qtd3JhcHBlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlEYXRhTGlzdFdyYXBwZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURhdGFMaXN0V3JhcHBlckNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIFR1aURhdGFMaXN0QWNjZXNzb3I8VD4ge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtczogUmVhZG9ubHlBcnJheTxSZWFkb25seUFycmF5PFQ+PiB8IFJlYWRvbmx5QXJyYXk8VD4gfCBudWxsID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VD4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBlbXB0eUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlWYWx1ZUNvbnRlbnRDb250ZXh0PFQ+PiA9ICh7JGltcGxpY2l0fSkgPT5cbiAgICAgICAgVFVJX0RFRkFVTFRfU1RSSU5HSUZZKCRpbXBsaWNpdCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVhTIHwgVHVpU2l6ZUwgPSAnbSc7XG5cbiAgICBAVmlld0NoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpT3B0aW9uQ29tcG9uZW50KSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFF1ZXJ5TGlzdDxUdWlPcHRpb25Db21wb25lbnQ8VD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBnZXRDb250ZXh0KFxuICAgICAgICAkaW1wbGljaXQ6IFQsXG4gICAgICAgIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgKTogVHVpVmFsdWVDb250ZW50Q29udGV4dDxUPiB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0LCBhY3RpdmU6IGlzTmF0aXZlRm9jdXNlZChuYXRpdmVFbGVtZW50KX07XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9ucyhpbmNsdWRlRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZSk6IFJlYWRvbmx5QXJyYXk8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zXG4gICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAuZmlsdGVyKCh7ZGlzYWJsZWR9KSA9PiBpbmNsdWRlRGlzYWJsZWQgfHwgIWRpc2FibGVkKVxuICAgICAgICAgICAgLm1hcCgoe3ZhbHVlfSkgPT4gdmFsdWUpXG4gICAgICAgICAgICAuZmlsdGVyKGlzUHJlc2VudCk7XG4gICAgfVxufVxuIl19