@jaspero/ng-helpers
Version:
[](https://github.com/semantic-release/semantic-release) [](https://circleci.
30 lines • 3.35 kB
JavaScript
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==