@taiga-ui/kit
Version:
Taiga UI Angular main components kit
120 lines (114 loc) • 5.96 kB
JavaScript
import { __decorate } from 'tslib';
import { Input, ViewChildren, forwardRef, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
import { ALWAYS_FALSE_HANDLER, TUI_DEFAULT_STRINGIFY, EMPTY_QUERY, isNativeFocused, isPresent, tuiDefaultProp, TuiElementModule } from '@taiga-ui/cdk';
import { TuiOptionComponent, TUI_DATA_LIST_ACCESSOR, TuiDataListModule, TuiLoaderModule } from '@taiga-ui/core';
import { CommonModule } from '@angular/common';
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
var TuiDataListWrapperComponent_1;
let TuiDataListWrapperComponent = TuiDataListWrapperComponent_1 = class TuiDataListWrapperComponent {
constructor() {
this.items = [];
this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
this.emptyContent = '';
this.itemContent = ({ $implicit }) => TUI_DEFAULT_STRINGIFY($implicit);
this.size = 'm';
this.options = EMPTY_QUERY;
}
getContext($implicit, { nativeElement }) {
return { $implicit, active: isNativeFocused(nativeElement) };
}
getOptions(includeDisabled = false) {
return this.options
.toArray()
.filter(({ disabled }) => includeDisabled || !disabled)
.map(({ value }) => value)
.filter(isPresent);
}
};
__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(() => 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(() => TuiDataListWrapperComponent_1),
},
],
styles: [":host{display:block}.content{flex:1}"]
})
], TuiDataListWrapperComponent);
var TuiDataListGroupWrapperComponent_1;
let TuiDataListGroupWrapperComponent = TuiDataListGroupWrapperComponent_1 = class TuiDataListGroupWrapperComponent extends TuiDataListWrapperComponent {
constructor() {
super(...arguments);
this.items = [];
this.labels = [];
}
};
__decorate([
Input(),
tuiDefaultProp()
], TuiDataListGroupWrapperComponent.prototype, "items", void 0);
__decorate([
Input(),
tuiDefaultProp()
], TuiDataListGroupWrapperComponent.prototype, "labels", void 0);
TuiDataListGroupWrapperComponent = TuiDataListGroupWrapperComponent_1 = __decorate([
Component({
selector: 'tui-data-list-wrapper[labels]',
template: "<tui-data-list *ngIf=\"items else loading\" [emptyContent]=\"emptyContent\">\n <tui-opt-group\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n >\n <button\n *ngFor=\"let item of group\"\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-opt-group>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader class=\"tui-space_vertical-3\"></tui-loader>\n</ng-template>\n",
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [
{
provide: TUI_DATA_LIST_ACCESSOR,
useExisting: forwardRef(() => TuiDataListGroupWrapperComponent_1),
},
],
styles: [":host{display:block}.content{flex:1}"]
})
], TuiDataListGroupWrapperComponent);
let TuiDataListWrapperModule = class TuiDataListWrapperModule {
};
TuiDataListWrapperModule = __decorate([
NgModule({
imports: [
CommonModule,
PolymorpheusModule,
TuiElementModule,
TuiDataListModule,
TuiLoaderModule,
],
declarations: [TuiDataListWrapperComponent, TuiDataListGroupWrapperComponent],
exports: [TuiDataListWrapperComponent, TuiDataListGroupWrapperComponent],
})
], TuiDataListWrapperModule);
/**
* Generated bundle index. Do not edit.
*/
export { TuiDataListGroupWrapperComponent, TuiDataListWrapperComponent, TuiDataListWrapperModule };
//# sourceMappingURL=taiga-ui-kit-components-data-list-wrapper.js.map