@ng-doc/ui-kit
Version:
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>
63 lines (59 loc) • 5.36 kB
JavaScript
import { __decorate, __metadata } from 'tslib';
import * as i0 from '@angular/core';
import { Input, ChangeDetectionStrategy, Component } from '@angular/core';
import { asArray } from '@ng-doc/core/helpers/as-array';
import { NgDocListComponent } from '@ng-doc/ui-kit/components/list';
import { NgDocOptionComponent } from '@ng-doc/ui-kit/components/option';
import { NgDocTextComponent } from '@ng-doc/ui-kit/components/text';
import { NG_DOC_DEFAULT_STRINGIFY, NG_DOC_ALWAYS_FALSE_HANDLER, NG_DOC_DEFAULT_HANDLER } from '@ng-doc/ui-kit/constants';
import { ngDocMakePure } from '@ng-doc/ui-kit/decorators';
import * as i1 from '@tinkoff/ng-polymorpheus';
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
class NgDocDataListComponent {
constructor() {
this.autofocus = true;
this.items = [];
this.itemContent = ({ $implicit, }) => NG_DOC_DEFAULT_STRINGIFY($implicit);
this.emptyContent = '';
this.itemDisabledFn = NG_DOC_ALWAYS_FALSE_HANDLER;
this.defineValueFn = NG_DOC_DEFAULT_HANDLER;
this.trackByFn = (_index, item) => item;
}
getContext($implicit) {
return { $implicit };
}
getItems() {
return asArray(this.items);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: NgDocDataListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: NgDocDataListComponent, isStandalone: true, selector: "ng-doc-data-list", inputs: { autofocus: "autofocus", items: "items", itemContent: "itemContent", emptyContent: "emptyContent", itemDisabledFn: "itemDisabledFn", defineValueFn: "defineValueFn", trackByFn: "trackByFn" }, ngImport: i0, template: "<ng-doc-list>\n @if (items && items.length) {\n @for (item of items; track trackByFn($index, item)) {\n <ng-doc-option [value]=\"defineValueFn(item)\" [disabled]=\"itemDisabledFn(item)\">\n <ng-container *polymorpheusOutlet=\"itemContent as text; context: getContext(item)\">\n {{ text }}\n </ng-container>\n </ng-doc-option>\n }\n } @else {\n <div class=\"ng-doc-empty-message\" ng-doc-text>\n @if (emptyContent) {\n <ng-container *polymorpheusOutlet=\"emptyContent as text\"> {{ text }} </ng-container>\n }\n </div>\n }\n</ng-doc-list>\n", styles: [":host{display:block;height:100%;overflow:auto;max-height:var(--ng-doc-list-size)}.ng-doc-empty-message{padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);--ng-doc-font-size: 14px;--ng-doc-line-height: 22px}ng-doc-checkbox{pointer-events:none}\n"], dependencies: [{ kind: "component", type: NgDocListComponent, selector: "ng-doc-list" }, { kind: "component", type: NgDocOptionComponent, selector: "ng-doc-option" }, { kind: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
__decorate([
ngDocMakePure,
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", Object)
], NgDocDataListComponent.prototype, "getContext", null);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: NgDocDataListComponent, decorators: [{
type: Component,
args: [{ selector: 'ng-doc-data-list', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgDocListComponent, NgDocOptionComponent, PolymorpheusModule, NgDocTextComponent], template: "<ng-doc-list>\n @if (items && items.length) {\n @for (item of items; track trackByFn($index, item)) {\n <ng-doc-option [value]=\"defineValueFn(item)\" [disabled]=\"itemDisabledFn(item)\">\n <ng-container *polymorpheusOutlet=\"itemContent as text; context: getContext(item)\">\n {{ text }}\n </ng-container>\n </ng-doc-option>\n }\n } @else {\n <div class=\"ng-doc-empty-message\" ng-doc-text>\n @if (emptyContent) {\n <ng-container *polymorpheusOutlet=\"emptyContent as text\"> {{ text }} </ng-container>\n }\n </div>\n }\n</ng-doc-list>\n", styles: [":host{display:block;height:100%;overflow:auto;max-height:var(--ng-doc-list-size)}.ng-doc-empty-message{padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);--ng-doc-font-size: 14px;--ng-doc-line-height: 22px}ng-doc-checkbox{pointer-events:none}\n"] }]
}], propDecorators: { autofocus: [{
type: Input
}], items: [{
type: Input
}], itemContent: [{
type: Input
}], emptyContent: [{
type: Input
}], itemDisabledFn: [{
type: Input
}], defineValueFn: [{
type: Input
}], trackByFn: [{
type: Input
}], getContext: [] } });
/**
* Generated bundle index. Do not edit.
*/
export { NgDocDataListComponent };
//# sourceMappingURL=ng-doc-ui-kit-components-data-list.mjs.map