UNPKG

@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>

1 lines 6.09 kB
{"version":3,"file":"ng-doc-ui-kit-components-data-list-group.mjs","sources":["../../../../libs/ui-kit/components/data-list-group/data-list-group.component.ts","../../../../libs/ui-kit/components/data-list-group/data-list-group.component.html","../../../../libs/ui-kit/components/data-list-group/ng-doc-ui-kit-components-data-list-group.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { NgDocDataListComponent } from '@ng-doc/ui-kit/components/data-list';\nimport { NgDocListComponent } from '@ng-doc/ui-kit/components/list';\nimport { NgDocOptionComponent } from '@ng-doc/ui-kit/components/option';\nimport {\n NgDocOptionGroupComponent,\n NgDocOptionGroupHeaderDirective,\n} from '@ng-doc/ui-kit/components/option-group';\nimport { NgDocTextComponent } from '@ng-doc/ui-kit/components/text';\nimport { NG_DOC_DEFAULT_STRINGIFY } from '@ng-doc/ui-kit/constants';\nimport { ngDocMakePure } from '@ng-doc/ui-kit/decorators';\nimport { NgDocContextWithImplicit } from '@ng-doc/ui-kit/interfaces';\nimport { NgDocContent, NgDocGroupFn } from '@ng-doc/ui-kit/types';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'ng-doc-data-list-group',\n templateUrl: './data-list-group.component.html',\n styleUrls: ['./data-list-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgDocListComponent,\n NgDocOptionGroupComponent,\n PolymorpheusModule,\n NgDocOptionGroupHeaderDirective,\n NgDocOptionComponent,\n NgDocTextComponent,\n ],\n})\nexport class NgDocDataListGroupComponent<T, G>\n extends NgDocDataListComponent<T>\n implements OnChanges\n{\n @Input()\n itemGroupFn?: NgDocGroupFn<T, G>;\n\n @Input()\n groupContent: NgDocContent<NgDocContextWithImplicit<G>> = ({\n $implicit,\n }: NgDocContextWithImplicit<G>) => NG_DOC_DEFAULT_STRINGIFY($implicit);\n\n groups: Map<G, T[]> = new Map();\n\n groupItems: G[] = [];\n\n @ngDocMakePure\n getGroupContext($implicit: G): NgDocContextWithImplicit<G> {\n return { $implicit };\n }\n\n ngOnChanges({ items, itemGroupFn }: SimpleChanges): void {\n if (items || itemGroupFn) {\n this.groups = new Map<G, T[]>();\n\n this.items?.forEach((item: T) => {\n if (this.itemGroupFn) {\n const itemGroup: G = this.itemGroupFn(item);\n const itemsList: T[] = this.groups.get(itemGroup) || [];\n itemsList.push(item);\n\n this.groups.set(this.itemGroupFn(item), itemsList);\n }\n });\n\n this.groupItems = Array.from(this.groups.keys());\n }\n }\n}\n","<ng-doc-list>\n @if (items && items.length) {\n @for (group of groupItems; track group) {\n <ng-doc-option-group>\n <span\n *polymorpheusOutlet=\"groupContent as groupText; context: getGroupContext(group)\"\n ngDocOptionGroupHeader>\n {{ groupText }}\n </span>\n @for (item of groups.get(group); 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 </ng-doc-option-group>\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}