ngx-repeat 1.0.5 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -11
- package/esm2022/lib/ngx-repeat.directive.mjs +54 -0
- package/{esm2020 → esm2022}/public-api.mjs +1 -2
- package/fesm2022/ngx-repeat.mjs +65 -0
- package/fesm2022/ngx-repeat.mjs.map +1 -0
- package/lib/ngx-repeat.directive.d.ts +1 -1
- package/package.json +5 -11
- package/public-api.d.ts +0 -1
- package/esm2020/lib/ngx-repeat.directive.mjs +0 -53
- package/esm2020/lib/ngx-repeat.module.mjs +0 -16
- package/fesm2015/ngx-repeat.mjs +0 -77
- package/fesm2015/ngx-repeat.mjs.map +0 -1
- package/fesm2020/ngx-repeat.mjs +0 -77
- package/fesm2020/ngx-repeat.mjs.map +0 -1
- package/lib/ngx-repeat.module.d.ts +0 -7
- /package/{esm2020 → esm2022}/ngx-repeat.mjs +0 -0
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](https://badge.fury.io/js/ngx-repeat)
|
|
7
7
|
[](https://www.npmjs.com/ngx-repeat)
|
|
8
8
|
[](https://www.npmjs.com/ngx-repeat)
|
|
9
|
-
[](https://snyk.io/advisor/npm-package/ngx-repeat)
|
|
10
10
|
[](https://codecov.io/gh/celtian/ngx-repeat/)
|
|
11
11
|
[](https://github.com/celtian/ngx-repeat/)
|
|
12
12
|
[](https://github.com/celtian/ngx-repeat/)
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
> Angular directive for repeating HTML element by count
|
|
16
16
|
|
|
17
|
-
> ✓ _Angular
|
|
17
|
+
> ✓ _Angular 17 compatible_
|
|
18
18
|
|
|
19
19
|
Here's the [demo](http://celtian.github.io/ngx-repeat/) or [stackblitz live preview](https://stackblitz.com/edit/ngx-repeat) or [codesandbox live preview](https://codesandbox.io/s/ngx-repeat-bew8f)
|
|
20
20
|
|
|
@@ -30,25 +30,38 @@ Here's the [demo](http://celtian.github.io/ngx-repeat/) or [stackblitz live prev
|
|
|
30
30
|
yarn add ngx-repeat
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
2. Add
|
|
33
|
+
2. Add NgxRepeatDirective into your component`
|
|
34
34
|
|
|
35
35
|
```typescript
|
|
36
|
-
|
|
36
|
+
import { NgxRepeatDirective } from 'ngx-repeat';
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
@Component({
|
|
39
|
+
standalone: true,
|
|
40
|
+
imports: [NgxRepeatDirective /*, ...*/],
|
|
39
41
|
// ...
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
})
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
or module
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
import { NgxRepeatDirective } from 'ngx-repeat';
|
|
49
|
+
|
|
50
|
+
@NgModule({
|
|
51
|
+
// ...
|
|
52
|
+
imports: [
|
|
53
|
+
// ...
|
|
54
|
+
NgxRepeatDirective
|
|
55
|
+
]
|
|
56
|
+
})
|
|
45
57
|
```
|
|
46
58
|
|
|
47
59
|
## Compatibility
|
|
48
60
|
|
|
49
61
|
| Angular | ngx-repeat | Install |
|
|
50
62
|
| --------- | ---------- | ----------------------- |
|
|
51
|
-
| >=
|
|
63
|
+
| >= 14 | 2.x | `yarn add ngx-repeat ` |
|
|
64
|
+
| >= 12 | 1.x | `yarn add ngx-repeat@1` |
|
|
52
65
|
| >= 5 < 13 | 0.x | `yarn add ngx-repeat@0` |
|
|
53
66
|
|
|
54
67
|
## Quick start
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @publicApi
|
|
5
|
+
*/
|
|
6
|
+
export class RepeatDirectiveContext {
|
|
7
|
+
constructor($implicit, count) {
|
|
8
|
+
this.$implicit = $implicit;
|
|
9
|
+
this.count = count;
|
|
10
|
+
}
|
|
11
|
+
get index() {
|
|
12
|
+
return this.$implicit;
|
|
13
|
+
}
|
|
14
|
+
get first() {
|
|
15
|
+
return this.$implicit === 0;
|
|
16
|
+
}
|
|
17
|
+
get last() {
|
|
18
|
+
return this.index === this.count - 1;
|
|
19
|
+
}
|
|
20
|
+
get even() {
|
|
21
|
+
return this.$implicit % 2 === 0;
|
|
22
|
+
}
|
|
23
|
+
get odd() {
|
|
24
|
+
return this.$implicit % 2 === 1;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export class NgxRepeatDirective {
|
|
28
|
+
set ngxRepeat(count) {
|
|
29
|
+
for (let i = this.viewContainer.length; i > count; i--)
|
|
30
|
+
this.viewContainer.remove(i - 1);
|
|
31
|
+
for (let i = this.viewContainer.length; i < count; i++)
|
|
32
|
+
this.viewContainer.createEmbeddedView(this.templateRef, new RepeatDirectiveContext(i, count));
|
|
33
|
+
for (let i = 0; i < this.viewContainer.length; i++) {
|
|
34
|
+
const viewRef = this.viewContainer.get(i);
|
|
35
|
+
viewRef.context.count = count;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
constructor(templateRef, viewContainer) {
|
|
39
|
+
this.templateRef = templateRef;
|
|
40
|
+
this.viewContainer = viewContainer;
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgxRepeatDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
43
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: NgxRepeatDirective, isStandalone: true, selector: "[ngxRepeat]", inputs: { ngxRepeat: "ngxRepeat" }, ngImport: i0 }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgxRepeatDirective, decorators: [{
|
|
46
|
+
type: Directive,
|
|
47
|
+
args: [{
|
|
48
|
+
selector: '[ngxRepeat]',
|
|
49
|
+
standalone: true
|
|
50
|
+
}]
|
|
51
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { ngxRepeat: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXJlcGVhdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVwZWF0L3NyYy9saWIvbmd4LXJlcGVhdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsS0FBSyxFQUFpQyxNQUFNLGVBQWUsQ0FBQzs7QUFFakc7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1MsU0FBaUIsRUFDakIsS0FBYTtRQURiLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNuQixDQUFDO0lBRUosSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLEdBQUc7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLElBQW9CLFNBQVMsQ0FBQyxLQUFhO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFekYsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVoRyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEQsTUFBTSxPQUFPLEdBQTRDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25GLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCxZQUNVLFdBQWdELEVBQ2hELGFBQStCO1FBRC9CLGdCQUFXLEdBQVgsV0FBVyxDQUFxQztRQUNoRCxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7SUFDdEMsQ0FBQzs4R0FoQk8sa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrR0FFcUIsU0FBUztzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXBlYXREaXJlY3RpdmVDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljICRpbXBsaWNpdDogbnVtYmVyLFxuICAgIHB1YmxpYyBjb3VudDogbnVtYmVyXG4gICkge31cblxuICBwdWJsaWMgZ2V0IGluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuJGltcGxpY2l0O1xuICB9XG5cbiAgcHVibGljIGdldCBmaXJzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4kaW1wbGljaXQgPT09IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IHRoaXMuY291bnQgLSAxO1xuICB9XG5cbiAgcHVibGljIGdldCBldmVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiRpbXBsaWNpdCAlIDIgPT09IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9kZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4kaW1wbGljaXQgJSAyID09PSAxO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3hSZXBlYXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hSZXBlYXREaXJlY3RpdmUge1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IG5neFJlcGVhdChjb3VudDogbnVtYmVyKSB7XG4gICAgZm9yIChsZXQgaSA9IHRoaXMudmlld0NvbnRhaW5lci5sZW5ndGg7IGkgPiBjb3VudDsgaS0tKSB0aGlzLnZpZXdDb250YWluZXIucmVtb3ZlKGkgLSAxKTtcblxuICAgIGZvciAobGV0IGkgPSB0aGlzLnZpZXdDb250YWluZXIubGVuZ3RoOyBpIDwgY291bnQ7IGkrKylcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgbmV3IFJlcGVhdERpcmVjdGl2ZUNvbnRleHQoaSwgY291bnQpKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy52aWV3Q29udGFpbmVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB2aWV3UmVmID0gPEVtYmVkZGVkVmlld1JlZjxSZXBlYXREaXJlY3RpdmVDb250ZXh0Pj50aGlzLnZpZXdDb250YWluZXIuZ2V0KGkpO1xuICAgICAgdmlld1JlZi5jb250ZXh0LmNvdW50ID0gY291bnQ7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8UmVwZWF0RGlyZWN0aXZlQ29udGV4dD4sXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cbn1cbiJdfQ==
|
|
@@ -2,5 +2,4 @@
|
|
|
2
2
|
* Public API Surface of ngx-repeat
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/ngx-repeat.directive';
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1yZXBlYXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1yZXBlYXRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtcmVwZWF0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtcmVwZWF0Lm1vZHVsZSc7XG4iXX0=
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1yZXBlYXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtcmVwZWF0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXJlcGVhdC5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Directive, Input } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @publicApi
|
|
6
|
+
*/
|
|
7
|
+
class RepeatDirectiveContext {
|
|
8
|
+
constructor($implicit, count) {
|
|
9
|
+
this.$implicit = $implicit;
|
|
10
|
+
this.count = count;
|
|
11
|
+
}
|
|
12
|
+
get index() {
|
|
13
|
+
return this.$implicit;
|
|
14
|
+
}
|
|
15
|
+
get first() {
|
|
16
|
+
return this.$implicit === 0;
|
|
17
|
+
}
|
|
18
|
+
get last() {
|
|
19
|
+
return this.index === this.count - 1;
|
|
20
|
+
}
|
|
21
|
+
get even() {
|
|
22
|
+
return this.$implicit % 2 === 0;
|
|
23
|
+
}
|
|
24
|
+
get odd() {
|
|
25
|
+
return this.$implicit % 2 === 1;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
class NgxRepeatDirective {
|
|
29
|
+
set ngxRepeat(count) {
|
|
30
|
+
for (let i = this.viewContainer.length; i > count; i--)
|
|
31
|
+
this.viewContainer.remove(i - 1);
|
|
32
|
+
for (let i = this.viewContainer.length; i < count; i++)
|
|
33
|
+
this.viewContainer.createEmbeddedView(this.templateRef, new RepeatDirectiveContext(i, count));
|
|
34
|
+
for (let i = 0; i < this.viewContainer.length; i++) {
|
|
35
|
+
const viewRef = this.viewContainer.get(i);
|
|
36
|
+
viewRef.context.count = count;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
constructor(templateRef, viewContainer) {
|
|
40
|
+
this.templateRef = templateRef;
|
|
41
|
+
this.viewContainer = viewContainer;
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgxRepeatDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
44
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: NgxRepeatDirective, isStandalone: true, selector: "[ngxRepeat]", inputs: { ngxRepeat: "ngxRepeat" }, ngImport: i0 }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NgxRepeatDirective, decorators: [{
|
|
47
|
+
type: Directive,
|
|
48
|
+
args: [{
|
|
49
|
+
selector: '[ngxRepeat]',
|
|
50
|
+
standalone: true
|
|
51
|
+
}]
|
|
52
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { ngxRepeat: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}] } });
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
* Public API Surface of ngx-repeat
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Generated bundle index. Do not edit.
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
export { NgxRepeatDirective, RepeatDirectiveContext };
|
|
65
|
+
//# sourceMappingURL=ngx-repeat.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-repeat.mjs","sources":["../../../projects/ngx-repeat/src/lib/ngx-repeat.directive.ts","../../../projects/ngx-repeat/src/public-api.ts","../../../projects/ngx-repeat/src/ngx-repeat.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n/**\n * @publicApi\n */\nexport class RepeatDirectiveContext {\n constructor(\n public $implicit: number,\n public count: number\n ) {}\n\n public get index(): number {\n return this.$implicit;\n }\n\n public get first(): boolean {\n return this.$implicit === 0;\n }\n\n public get last(): boolean {\n return this.index === this.count - 1;\n }\n\n public get even(): boolean {\n return this.$implicit % 2 === 0;\n }\n\n public get odd(): boolean {\n return this.$implicit % 2 === 1;\n }\n}\n\n@Directive({\n selector: '[ngxRepeat]',\n standalone: true\n})\nexport class NgxRepeatDirective {\n @Input() public set ngxRepeat(count: number) {\n for (let i = this.viewContainer.length; i > count; i--) this.viewContainer.remove(i - 1);\n\n for (let i = this.viewContainer.length; i < count; i++)\n this.viewContainer.createEmbeddedView(this.templateRef, new RepeatDirectiveContext(i, count));\n\n for (let i = 0; i < this.viewContainer.length; i++) {\n const viewRef = <EmbeddedViewRef<RepeatDirectiveContext>>this.viewContainer.get(i);\n viewRef.context.count = count;\n }\n }\n\n constructor(\n private templateRef: TemplateRef<RepeatDirectiveContext>,\n private viewContainer: ViewContainerRef\n ) {}\n}\n","/*\n * Public API Surface of ngx-repeat\n */\n\nexport * from './lib/ngx-repeat.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;;AAEG;MACU,sBAAsB,CAAA;IACjC,WACS,CAAA,SAAiB,EACjB,KAAa,EAAA;QADb,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;QACjB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;KAClB;AAEJ,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAED,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;KAC7B;AAED,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;KACtC;AAED,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;KACjC;AAED,IAAA,IAAW,GAAG,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;KACjC;AACF,CAAA;MAMY,kBAAkB,CAAA;IAC7B,IAAoB,SAAS,CAAC,KAAa,EAAA;AACzC,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzF,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;AACpD,YAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAEhG,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,OAAO,GAA4C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnF,YAAA,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/B,SAAA;KACF;IAED,WACU,CAAA,WAAgD,EAChD,aAA+B,EAAA;QAD/B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAqC;QAChD,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;KACrC;8GAhBO,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;+GAEqB,SAAS,EAAA,CAAA;sBAA5B,KAAK;;;ACrCR;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -19,5 +19,5 @@ export declare class NgxRepeatDirective {
|
|
|
19
19
|
set ngxRepeat(count: number);
|
|
20
20
|
constructor(templateRef: TemplateRef<RepeatDirectiveContext>, viewContainer: ViewContainerRef);
|
|
21
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxRepeatDirective, never>;
|
|
22
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxRepeatDirective, "[ngxRepeat]", never, { "ngxRepeat": "ngxRepeat"; }, {}, never, never,
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxRepeatDirective, "[ngxRepeat]", never, { "ngxRepeat": { "alias": "ngxRepeat"; "required": false; }; }, {}, never, never, true, never>;
|
|
23
23
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-repeat",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Dominik Hladík",
|
|
6
6
|
"email": "dominik.hladik@seznam.cz",
|
|
@@ -33,11 +33,7 @@
|
|
|
33
33
|
"engines": {
|
|
34
34
|
"node": ">=12"
|
|
35
35
|
},
|
|
36
|
-
"module": "
|
|
37
|
-
"es2020": "fesm2020/ngx-repeat.mjs",
|
|
38
|
-
"esm2020": "esm2020/ngx-repeat.mjs",
|
|
39
|
-
"fesm2020": "fesm2020/ngx-repeat.mjs",
|
|
40
|
-
"fesm2015": "fesm2015/ngx-repeat.mjs",
|
|
36
|
+
"module": "fesm2022/ngx-repeat.mjs",
|
|
41
37
|
"typings": "index.d.ts",
|
|
42
38
|
"exports": {
|
|
43
39
|
"./package.json": {
|
|
@@ -45,11 +41,9 @@
|
|
|
45
41
|
},
|
|
46
42
|
".": {
|
|
47
43
|
"types": "./index.d.ts",
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"node": "./fesm2015/ngx-repeat.mjs",
|
|
52
|
-
"default": "./fesm2020/ngx-repeat.mjs"
|
|
44
|
+
"esm2022": "./esm2022/ngx-repeat.mjs",
|
|
45
|
+
"esm": "./esm2022/ngx-repeat.mjs",
|
|
46
|
+
"default": "./fesm2022/ngx-repeat.mjs"
|
|
53
47
|
}
|
|
54
48
|
},
|
|
55
49
|
"sideEffects": false,
|
package/public-api.d.ts
CHANGED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* @publicApi
|
|
5
|
-
*/
|
|
6
|
-
export class RepeatDirectiveContext {
|
|
7
|
-
constructor($implicit, count) {
|
|
8
|
-
this.$implicit = $implicit;
|
|
9
|
-
this.count = count;
|
|
10
|
-
}
|
|
11
|
-
get index() {
|
|
12
|
-
return this.$implicit;
|
|
13
|
-
}
|
|
14
|
-
get first() {
|
|
15
|
-
return this.$implicit === 0;
|
|
16
|
-
}
|
|
17
|
-
get last() {
|
|
18
|
-
return this.index === this.count - 1;
|
|
19
|
-
}
|
|
20
|
-
get even() {
|
|
21
|
-
return this.$implicit % 2 === 0;
|
|
22
|
-
}
|
|
23
|
-
get odd() {
|
|
24
|
-
return this.$implicit % 2 === 1;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export class NgxRepeatDirective {
|
|
28
|
-
set ngxRepeat(count) {
|
|
29
|
-
for (let i = this.viewContainer.length; i > count; i--)
|
|
30
|
-
this.viewContainer.remove(i - 1);
|
|
31
|
-
for (let i = this.viewContainer.length; i < count; i++)
|
|
32
|
-
this.viewContainer.createEmbeddedView(this.templateRef, new RepeatDirectiveContext(i, count));
|
|
33
|
-
for (let i = 0; i < this.viewContainer.length; i++) {
|
|
34
|
-
const viewRef = this.viewContainer.get(i);
|
|
35
|
-
viewRef.context.count = count;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
constructor(templateRef, viewContainer) {
|
|
39
|
-
this.templateRef = templateRef;
|
|
40
|
-
this.viewContainer = viewContainer;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
NgxRepeatDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
44
|
-
NgxRepeatDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: NgxRepeatDirective, selector: "[ngxRepeat]", inputs: { ngxRepeat: "ngxRepeat" }, ngImport: i0 });
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatDirective, decorators: [{
|
|
46
|
-
type: Directive,
|
|
47
|
-
args: [{
|
|
48
|
-
selector: '[ngxRepeat]'
|
|
49
|
-
}]
|
|
50
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { ngxRepeat: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXJlcGVhdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVwZWF0L3NyYy9saWIvbmd4LXJlcGVhdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsS0FBSyxFQUFpQyxNQUFNLGVBQWUsQ0FBQzs7QUFFakc7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW1CLFNBQWlCLEVBQVMsS0FBYTtRQUF2QyxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUFHLENBQUM7SUFFOUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLEdBQUc7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFLRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLElBQW9CLFNBQVMsQ0FBQyxLQUFhO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFekYsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVoRyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEQsTUFBTSxPQUFPLEdBQTRDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25GLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCxZQUFvQixXQUFnRCxFQUFVLGFBQStCO1FBQXpGLGdCQUFXLEdBQVgsV0FBVyxDQUFxQztRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtJQUFHLENBQUM7OytHQWJ0RyxrQkFBa0I7bUdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUg5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO2lCQUN4QjtpSUFFcUIsU0FBUztzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXBlYXREaXJlY3RpdmVDb250ZXh0IHtcbiAgY29uc3RydWN0b3IocHVibGljICRpbXBsaWNpdDogbnVtYmVyLCBwdWJsaWMgY291bnQ6IG51bWJlcikge31cblxuICBwdWJsaWMgZ2V0IGluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuJGltcGxpY2l0O1xuICB9XG5cbiAgcHVibGljIGdldCBmaXJzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4kaW1wbGljaXQgPT09IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IHRoaXMuY291bnQgLSAxO1xuICB9XG5cbiAgcHVibGljIGdldCBldmVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiRpbXBsaWNpdCAlIDIgPT09IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9kZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4kaW1wbGljaXQgJSAyID09PSAxO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3hSZXBlYXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hSZXBlYXREaXJlY3RpdmUge1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IG5neFJlcGVhdChjb3VudDogbnVtYmVyKSB7XG4gICAgZm9yIChsZXQgaSA9IHRoaXMudmlld0NvbnRhaW5lci5sZW5ndGg7IGkgPiBjb3VudDsgaS0tKSB0aGlzLnZpZXdDb250YWluZXIucmVtb3ZlKGkgLSAxKTtcblxuICAgIGZvciAobGV0IGkgPSB0aGlzLnZpZXdDb250YWluZXIubGVuZ3RoOyBpIDwgY291bnQ7IGkrKylcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgbmV3IFJlcGVhdERpcmVjdGl2ZUNvbnRleHQoaSwgY291bnQpKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy52aWV3Q29udGFpbmVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB2aWV3UmVmID0gPEVtYmVkZGVkVmlld1JlZjxSZXBlYXREaXJlY3RpdmVDb250ZXh0Pj50aGlzLnZpZXdDb250YWluZXIuZ2V0KGkpO1xuICAgICAgdmlld1JlZi5jb250ZXh0LmNvdW50ID0gY291bnQ7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8UmVwZWF0RGlyZWN0aXZlQ29udGV4dD4sIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge31cbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { NgxRepeatDirective } from './ngx-repeat.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NgxRepeatModule {
|
|
5
|
-
}
|
|
6
|
-
NgxRepeatModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
-
NgxRepeatModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule, declarations: [NgxRepeatDirective], exports: [NgxRepeatDirective] });
|
|
8
|
-
NgxRepeatModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule });
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
declarations: [NgxRepeatDirective],
|
|
13
|
-
exports: [NgxRepeatDirective]
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXJlcGVhdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVwZWF0L3NyYy9saWIvbmd4LXJlcGVhdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFIWCxrQkFBa0IsYUFDdkIsa0JBQWtCOzZHQUVqQixlQUFlOzJGQUFmLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hSZXBlYXREaXJlY3RpdmUgfSBmcm9tICcuL25neC1yZXBlYXQuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmd4UmVwZWF0RGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW05neFJlcGVhdERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgTmd4UmVwZWF0TW9kdWxlIHt9XG4iXX0=
|
package/fesm2015/ngx-repeat.mjs
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Input, NgModule } from '@angular/core';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @publicApi
|
|
6
|
-
*/
|
|
7
|
-
class RepeatDirectiveContext {
|
|
8
|
-
constructor($implicit, count) {
|
|
9
|
-
this.$implicit = $implicit;
|
|
10
|
-
this.count = count;
|
|
11
|
-
}
|
|
12
|
-
get index() {
|
|
13
|
-
return this.$implicit;
|
|
14
|
-
}
|
|
15
|
-
get first() {
|
|
16
|
-
return this.$implicit === 0;
|
|
17
|
-
}
|
|
18
|
-
get last() {
|
|
19
|
-
return this.index === this.count - 1;
|
|
20
|
-
}
|
|
21
|
-
get even() {
|
|
22
|
-
return this.$implicit % 2 === 0;
|
|
23
|
-
}
|
|
24
|
-
get odd() {
|
|
25
|
-
return this.$implicit % 2 === 1;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
class NgxRepeatDirective {
|
|
29
|
-
set ngxRepeat(count) {
|
|
30
|
-
for (let i = this.viewContainer.length; i > count; i--)
|
|
31
|
-
this.viewContainer.remove(i - 1);
|
|
32
|
-
for (let i = this.viewContainer.length; i < count; i++)
|
|
33
|
-
this.viewContainer.createEmbeddedView(this.templateRef, new RepeatDirectiveContext(i, count));
|
|
34
|
-
for (let i = 0; i < this.viewContainer.length; i++) {
|
|
35
|
-
const viewRef = this.viewContainer.get(i);
|
|
36
|
-
viewRef.context.count = count;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
constructor(templateRef, viewContainer) {
|
|
40
|
-
this.templateRef = templateRef;
|
|
41
|
-
this.viewContainer = viewContainer;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
NgxRepeatDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
45
|
-
NgxRepeatDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: NgxRepeatDirective, selector: "[ngxRepeat]", inputs: { ngxRepeat: "ngxRepeat" }, ngImport: i0 });
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatDirective, decorators: [{
|
|
47
|
-
type: Directive,
|
|
48
|
-
args: [{
|
|
49
|
-
selector: '[ngxRepeat]'
|
|
50
|
-
}]
|
|
51
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { ngxRepeat: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}] } });
|
|
54
|
-
|
|
55
|
-
class NgxRepeatModule {
|
|
56
|
-
}
|
|
57
|
-
NgxRepeatModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
58
|
-
NgxRepeatModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule, declarations: [NgxRepeatDirective], exports: [NgxRepeatDirective] });
|
|
59
|
-
NgxRepeatModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule });
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule, decorators: [{
|
|
61
|
-
type: NgModule,
|
|
62
|
-
args: [{
|
|
63
|
-
declarations: [NgxRepeatDirective],
|
|
64
|
-
exports: [NgxRepeatDirective]
|
|
65
|
-
}]
|
|
66
|
-
}] });
|
|
67
|
-
|
|
68
|
-
/*
|
|
69
|
-
* Public API Surface of ngx-repeat
|
|
70
|
-
*/
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Generated bundle index. Do not edit.
|
|
74
|
-
*/
|
|
75
|
-
|
|
76
|
-
export { NgxRepeatDirective, NgxRepeatModule, RepeatDirectiveContext };
|
|
77
|
-
//# sourceMappingURL=ngx-repeat.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-repeat.mjs","sources":["../../../projects/ngx-repeat/src/lib/ngx-repeat.directive.ts","../../../projects/ngx-repeat/src/lib/ngx-repeat.module.ts","../../../projects/ngx-repeat/src/public-api.ts","../../../projects/ngx-repeat/src/ngx-repeat.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n/**\n * @publicApi\n */\nexport class RepeatDirectiveContext {\n constructor(public $implicit: number, public count: number) {}\n\n public get index(): number {\n return this.$implicit;\n }\n\n public get first(): boolean {\n return this.$implicit === 0;\n }\n\n public get last(): boolean {\n return this.index === this.count - 1;\n }\n\n public get even(): boolean {\n return this.$implicit % 2 === 0;\n }\n\n public get odd(): boolean {\n return this.$implicit % 2 === 1;\n }\n}\n\n@Directive({\n selector: '[ngxRepeat]'\n})\nexport class NgxRepeatDirective {\n @Input() public set ngxRepeat(count: number) {\n for (let i = this.viewContainer.length; i > count; i--) this.viewContainer.remove(i - 1);\n\n for (let i = this.viewContainer.length; i < count; i++)\n this.viewContainer.createEmbeddedView(this.templateRef, new RepeatDirectiveContext(i, count));\n\n for (let i = 0; i < this.viewContainer.length; i++) {\n const viewRef = <EmbeddedViewRef<RepeatDirectiveContext>>this.viewContainer.get(i);\n viewRef.context.count = count;\n }\n }\n\n constructor(private templateRef: TemplateRef<RepeatDirectiveContext>, private viewContainer: ViewContainerRef) {}\n}\n","import { NgModule } from '@angular/core';\nimport { NgxRepeatDirective } from './ngx-repeat.directive';\n\n@NgModule({\n declarations: [NgxRepeatDirective],\n exports: [NgxRepeatDirective]\n})\nexport class NgxRepeatModule {}\n","/*\n * Public API Surface of ngx-repeat\n */\n\nexport * from './lib/ngx-repeat.directive';\nexport * from './lib/ngx-repeat.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;;AAEG;MACU,sBAAsB,CAAA;IACjC,WAAmB,CAAA,SAAiB,EAAS,KAAa,EAAA;AAAvC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;AAAS,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;KAAI;AAE9D,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAED,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;KAC7B;AAED,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;KACtC;AAED,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;KACjC;AAED,IAAA,IAAW,GAAG,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;KACjC;AACF,CAAA;MAKY,kBAAkB,CAAA;IAC7B,IAAoB,SAAS,CAAC,KAAa,EAAA;AACzC,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzF,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;AACpD,YAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAEhG,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,OAAO,GAA4C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnF,YAAA,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/B,SAAA;KACF;IAED,WAAoB,CAAA,WAAgD,EAAU,aAA+B,EAAA;AAAzF,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAqC;AAAU,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;KAAI;;+GAbtG,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;iBACxB,CAAA;iIAEqB,SAAS,EAAA,CAAA;sBAA5B,KAAK;;;MC1BK,eAAe,CAAA;;4GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6GAAf,eAAe,EAAA,YAAA,EAAA,CAHX,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,kBAAkB,CAAA,EAAA,CAAA,CAAA;6GAEjB,eAAe,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;iBAC9B,CAAA;;;ACND;;AAEG;;ACFH;;AAEG;;;;"}
|
package/fesm2020/ngx-repeat.mjs
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Input, NgModule } from '@angular/core';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @publicApi
|
|
6
|
-
*/
|
|
7
|
-
class RepeatDirectiveContext {
|
|
8
|
-
constructor($implicit, count) {
|
|
9
|
-
this.$implicit = $implicit;
|
|
10
|
-
this.count = count;
|
|
11
|
-
}
|
|
12
|
-
get index() {
|
|
13
|
-
return this.$implicit;
|
|
14
|
-
}
|
|
15
|
-
get first() {
|
|
16
|
-
return this.$implicit === 0;
|
|
17
|
-
}
|
|
18
|
-
get last() {
|
|
19
|
-
return this.index === this.count - 1;
|
|
20
|
-
}
|
|
21
|
-
get even() {
|
|
22
|
-
return this.$implicit % 2 === 0;
|
|
23
|
-
}
|
|
24
|
-
get odd() {
|
|
25
|
-
return this.$implicit % 2 === 1;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
class NgxRepeatDirective {
|
|
29
|
-
set ngxRepeat(count) {
|
|
30
|
-
for (let i = this.viewContainer.length; i > count; i--)
|
|
31
|
-
this.viewContainer.remove(i - 1);
|
|
32
|
-
for (let i = this.viewContainer.length; i < count; i++)
|
|
33
|
-
this.viewContainer.createEmbeddedView(this.templateRef, new RepeatDirectiveContext(i, count));
|
|
34
|
-
for (let i = 0; i < this.viewContainer.length; i++) {
|
|
35
|
-
const viewRef = this.viewContainer.get(i);
|
|
36
|
-
viewRef.context.count = count;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
constructor(templateRef, viewContainer) {
|
|
40
|
-
this.templateRef = templateRef;
|
|
41
|
-
this.viewContainer = viewContainer;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
NgxRepeatDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
45
|
-
NgxRepeatDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: NgxRepeatDirective, selector: "[ngxRepeat]", inputs: { ngxRepeat: "ngxRepeat" }, ngImport: i0 });
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatDirective, decorators: [{
|
|
47
|
-
type: Directive,
|
|
48
|
-
args: [{
|
|
49
|
-
selector: '[ngxRepeat]'
|
|
50
|
-
}]
|
|
51
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { ngxRepeat: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}] } });
|
|
54
|
-
|
|
55
|
-
class NgxRepeatModule {
|
|
56
|
-
}
|
|
57
|
-
NgxRepeatModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
58
|
-
NgxRepeatModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule, declarations: [NgxRepeatDirective], exports: [NgxRepeatDirective] });
|
|
59
|
-
NgxRepeatModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule });
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NgxRepeatModule, decorators: [{
|
|
61
|
-
type: NgModule,
|
|
62
|
-
args: [{
|
|
63
|
-
declarations: [NgxRepeatDirective],
|
|
64
|
-
exports: [NgxRepeatDirective]
|
|
65
|
-
}]
|
|
66
|
-
}] });
|
|
67
|
-
|
|
68
|
-
/*
|
|
69
|
-
* Public API Surface of ngx-repeat
|
|
70
|
-
*/
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Generated bundle index. Do not edit.
|
|
74
|
-
*/
|
|
75
|
-
|
|
76
|
-
export { NgxRepeatDirective, NgxRepeatModule, RepeatDirectiveContext };
|
|
77
|
-
//# sourceMappingURL=ngx-repeat.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-repeat.mjs","sources":["../../../projects/ngx-repeat/src/lib/ngx-repeat.directive.ts","../../../projects/ngx-repeat/src/lib/ngx-repeat.module.ts","../../../projects/ngx-repeat/src/public-api.ts","../../../projects/ngx-repeat/src/ngx-repeat.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n/**\n * @publicApi\n */\nexport class RepeatDirectiveContext {\n constructor(public $implicit: number, public count: number) {}\n\n public get index(): number {\n return this.$implicit;\n }\n\n public get first(): boolean {\n return this.$implicit === 0;\n }\n\n public get last(): boolean {\n return this.index === this.count - 1;\n }\n\n public get even(): boolean {\n return this.$implicit % 2 === 0;\n }\n\n public get odd(): boolean {\n return this.$implicit % 2 === 1;\n }\n}\n\n@Directive({\n selector: '[ngxRepeat]'\n})\nexport class NgxRepeatDirective {\n @Input() public set ngxRepeat(count: number) {\n for (let i = this.viewContainer.length; i > count; i--) this.viewContainer.remove(i - 1);\n\n for (let i = this.viewContainer.length; i < count; i++)\n this.viewContainer.createEmbeddedView(this.templateRef, new RepeatDirectiveContext(i, count));\n\n for (let i = 0; i < this.viewContainer.length; i++) {\n const viewRef = <EmbeddedViewRef<RepeatDirectiveContext>>this.viewContainer.get(i);\n viewRef.context.count = count;\n }\n }\n\n constructor(private templateRef: TemplateRef<RepeatDirectiveContext>, private viewContainer: ViewContainerRef) {}\n}\n","import { NgModule } from '@angular/core';\nimport { NgxRepeatDirective } from './ngx-repeat.directive';\n\n@NgModule({\n declarations: [NgxRepeatDirective],\n exports: [NgxRepeatDirective]\n})\nexport class NgxRepeatModule {}\n","/*\n * Public API Surface of ngx-repeat\n */\n\nexport * from './lib/ngx-repeat.directive';\nexport * from './lib/ngx-repeat.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./ngx-repeat.directive";
|
|
3
|
-
export declare class NgxRepeatModule {
|
|
4
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgxRepeatModule, never>;
|
|
5
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxRepeatModule, [typeof i1.NgxRepeatDirective], never, [typeof i1.NgxRepeatDirective]>;
|
|
6
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<NgxRepeatModule>;
|
|
7
|
-
}
|
|
File without changes
|