UNPKG

@jaspero/ng-helpers

Version:

[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) [![CircleCI](https://circleci.com/gh/Jaspero/ng-helpers.svg?style=svg)](https://circleci.

30 lines 3.35 kB
import { Directive, Host, Inject, Input } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class TrackByFieldDirective { ngFor; defaultKey; ngForJpTrackByField; constructor(ngFor, defaultKey) { this.ngFor = ngFor; this.defaultKey = defaultKey; this.ngFor.ngForTrackBy = (index, item) => item[this.ngForJpTrackByField || this.defaultKey]; } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TrackByFieldDirective, deps: [{ token: i1.NgForOf, host: true }, { token: 'defaultKey' }], target: i0.ɵɵFactoryTarget.Directive }); /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TrackByFieldDirective, selector: "[ngForJpTrackByField]", inputs: { ngForJpTrackByField: "ngForJpTrackByField" }, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TrackByFieldDirective, decorators: [{ type: Directive, args: [{ // tslint:disable-next-line selector: '[ngForJpTrackByField]', }] }], ctorParameters: () => [{ type: i1.NgForOf, decorators: [{ type: Host }] }, { type: undefined, decorators: [{ type: Inject, args: ['defaultKey'] }] }], propDecorators: { ngForJpTrackByField: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2stYnktZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaGVscGVycy9zcmMvZGlyZWN0aXZlcy90cmFjay1ieS1maWVsZC90cmFjay1ieS1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVyxNQUFNLGVBQWUsQ0FBQzs7O0FBTXZFLE1BQU0sT0FBTyxxQkFBcUI7SUFNZDtJQUNjO0lBSnpCLG1CQUFtQixDQUFVO0lBRXBDLFlBQ2tCLEtBQWlCLEVBQ0gsVUFBZTtRQUQ3QixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ0gsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUU3QyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDLEtBQWEsRUFBRSxJQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFHLENBQUM7MkhBVlUscUJBQXFCLHFEQU90QixZQUFZOytHQVBYLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCwyQkFBMkI7b0JBQzNCLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ2xDOzswQkFPSSxJQUFJOzswQkFDSixNQUFNOzJCQUFDLFlBQVk7eUNBSmYsbUJBQW1CO3NCQUR6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtEaXJlY3RpdmUsIEhvc3QsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBzZWxlY3RvcjogJ1tuZ0ZvckpwVHJhY2tCeUZpZWxkXScsXG59KVxuZXhwb3J0IGNsYXNzIFRyYWNrQnlGaWVsZERpcmVjdGl2ZTxUPiB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG5nRm9ySnBUcmFja0J5RmllbGQ6IGtleW9mIFQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEhvc3QoKSBwcml2YXRlIG5nRm9yOiBOZ0Zvck9mPFQ+LFxuICAgIEBJbmplY3QoJ2RlZmF1bHRLZXknKSBwcml2YXRlIGRlZmF1bHRLZXk6IGFueVxuICApIHtcbiAgICB0aGlzLm5nRm9yLm5nRm9yVHJhY2tCeSA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBUKSA9PiBpdGVtW3RoaXMubmdGb3JKcFRyYWNrQnlGaWVsZCB8fCB0aGlzLmRlZmF1bHRLZXldO1xuICB9XG5cbn1cbiJdfQ==