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.31 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 { NgFor, NgIf } from '@angular/common';\nimport { 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 NgIf,\n NgFor,\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\t<ng-container *ngIf=\"items && items.length; else emptyTemplate\">\n\t\t<ng-doc-option-group *ngFor=\"let group of groupItems\">\n\t\t\t<span\n\t\t\t\t*polymorpheusOutlet=\"groupContent as groupText; context: getGroupContext(group)\"\n\t\t\t\tngDocOptionGroupHeader>\n\t\t\t\t{{ groupText }}\n\t\t\t</span>\n\t\t\t<ng-doc-option\n\t\t\t\t*ngFor=\"let item of groups.get(group); trackBy: trackByFn\"\n\t\t\t\t[value]=\"defineValueFn(item)\"\n\t\t\t\t[disabled]=\"itemDisabledFn(item)\">\n\t\t\t\t<ng-container *polymorpheusOutlet=\"itemContent as text; context: getContext(item)\">\n\t\t\t\t\t{{ text }}\n\t\t\t\t</ng-container>\n\t\t\t</ng-doc-option>\n\t\t</ng-doc-option-group>\n\t</ng-container>\n\n\t<ng-template #emptyTemplate>\n\t\t<div class=\"ng-doc-empty-message\" ng-doc-text>\n\t\t\t<ng-container *ngIf=\"emptyContent\">\n\t\t\t\t<ng-container *polymorpheusOutlet=\"emptyContent as text\"> {{ text }} </ng-container>\n\t\t\t</ng-container>\n\t\t</div>\n\t</ng-template>\n</ng-doc-list>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgCM,MAAO,2BACX,SAAQ,sBAAyB,CAAA;AAjBnC,IAAA,WAAA,GAAA;;AAwBE,QAAA,IAAA,CAAA,YAAY,GAA8C,CAAC,EACzD,SAAS,GACmB,KAAK,wBAAwB,CAAC,SAAS,CAAC;AAEtE,QAAA,IAAA,CAAA,MAAM,GAAgB,IAAI,GAAG,EAAE;QAE/B,IAAU,CAAA,UAAA,GAAQ,EAAE;AAwBrB;AArBC,IAAA,eAAe,CAAC,SAAY,EAAA;QAC1B,OAAO,EAAE,SAAS,EAAE;;AAGtB,IAAA,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAiB,EAAA;AAC/C,QAAA,IAAI,KAAK,IAAI,WAAW,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAU;YAE/B,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAO,KAAI;AAC9B,gBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,MAAM,SAAS,GAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AAC3C,oBAAA,MAAM,SAAS,GAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;AACvD,oBAAA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;AAEpB,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;;AAEtD,aAAC,CAAC;AAEF,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;;;8GAnCzC,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,oMChCxC,y/BA2BA,EAAA,MAAA,EAAA,CAAA,kSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDLI,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,IAAI,EACJ,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,KAAK,EACL,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,+DACzB,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,+BAA+B,EAC/B,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,oBAAoB,0DACpB,kBAAkB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;AAoBpB,UAAA,CAAA;IADC,aAAa;;;;AAGb,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,IAAA,CAAA;2FAnBU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAhBvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAGjB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,kBAAkB;wBAClB,IAAI;wBACJ,KAAK;wBACL,yBAAyB;wBACzB,kBAAkB;wBAClB,+BAA+B;wBAC/B,oBAAoB;wBACpB,kBAAkB;AACnB,qBAAA,EAAA,QAAA,EAAA,y/BAAA,EAAA,MAAA,EAAA,CAAA,kSAAA,CAAA,EAAA;8BAOD,WAAW,EAAA,CAAA;sBADV;gBAID,YAAY,EAAA,CAAA;sBADX;gBAUD,eAAe,EAAA,EAAA,EAAA,EAAA,CAAA;;AEjDjB;;AAEG;;;;"}