@egjs/ngx-infinitegrid 4.10.0-beta.1 → 4.10.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/esm2020/egjs-ngx-infinitegrid.mjs +5 -0
- package/esm2020/lib/grids/ngx-frame-infinitegrid.component.mjs +25 -0
- package/esm2020/lib/grids/ngx-justified-infinitegrid.component.mjs +29 -0
- package/esm2020/lib/grids/ngx-masonry-infinitegrid.component.mjs +31 -0
- package/esm2020/lib/grids/ngx-packing-infinitegrid.component.mjs +27 -0
- package/esm2020/lib/ngx-infinitegrid.component.mjs +232 -0
- package/esm2020/lib/ngx-infinitegrid.module.mjs +44 -0
- package/{esm2015/lib/types.js → esm2020/lib/types.mjs} +1 -1
- package/fesm2015/egjs-ngx-infinitegrid.mjs +388 -0
- package/fesm2015/egjs-ngx-infinitegrid.mjs.map +1 -0
- package/fesm2020/egjs-ngx-infinitegrid.mjs +398 -0
- package/fesm2020/egjs-ngx-infinitegrid.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/grids/ngx-frame-infinitegrid.component.d.ts +3 -0
- package/lib/grids/ngx-justified-infinitegrid.component.d.ts +3 -0
- package/lib/grids/ngx-masonry-infinitegrid.component.d.ts +3 -0
- package/lib/grids/ngx-packing-infinitegrid.component.d.ts +3 -0
- package/lib/ngx-infinitegrid.component.d.ts +4 -0
- package/lib/ngx-infinitegrid.module.d.ts +10 -0
- package/lib/types.d.ts +1 -0
- package/package.json +22 -10
- package/bundles/egjs-ngx-infinitegrid.umd.js +0 -664
- package/bundles/egjs-ngx-infinitegrid.umd.js.map +0 -1
- package/bundles/egjs-ngx-infinitegrid.umd.min.js +0 -2
- package/bundles/egjs-ngx-infinitegrid.umd.min.js.map +0 -1
- package/egjs-ngx-infinitegrid.d.ts +0 -6
- package/egjs-ngx-infinitegrid.metadata.json +0 -1
- package/esm2015/egjs-ngx-infinitegrid.js +0 -7
- package/esm2015/lib/grids/ngx-frame-infinitegrid.component.js +0 -19
- package/esm2015/lib/grids/ngx-justified-infinitegrid.component.js +0 -21
- package/esm2015/lib/grids/ngx-masonry-infinitegrid.component.js +0 -22
- package/esm2015/lib/grids/ngx-packing-infinitegrid.component.js +0 -20
- package/esm2015/lib/ngx-infinitegrid.component.js +0 -187
- package/esm2015/lib/ngx-infinitegrid.module.js +0 -31
- package/fesm2015/egjs-ngx-infinitegrid.js +0 -318
- package/fesm2015/egjs-ngx-infinitegrid.js.map +0 -1
- /package/{esm2015/lib/consts.js → esm2020/lib/consts.mjs} +0 -0
- /package/{esm2015/lib/ngx-infinitegrid.interface.js → esm2020/lib/ngx-infinitegrid.interface.mjs} +0 -0
- /package/{esm2015/private_export.js → esm2020/private_export.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, PLATFORM_ID, Component, Inject, Input, Output, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { isPlatformServer, CommonModule } from '@angular/common';
|
|
5
|
+
import { Subject, fromEvent } from 'rxjs';
|
|
6
|
+
import { takeUntil } from 'rxjs/operators';
|
|
7
|
+
import { withInfiniteGridMethods, Renderer, INFINITEGRID_EVENTS, mountRenderingItems, getRenderingItems, MasonryInfiniteGrid, JustifiedInfiniteGrid, FrameInfiniteGrid, PackingInfiniteGrid } from '@egjs/infinitegrid';
|
|
8
|
+
import { __decorate } from 'tslib';
|
|
9
|
+
|
|
10
|
+
class NgxInfiniteGridInterface {
|
|
11
|
+
}
|
|
12
|
+
__decorate([
|
|
13
|
+
withInfiniteGridMethods
|
|
14
|
+
], NgxInfiniteGridInterface.prototype, "vanillaGrid", void 0);
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* egjs-infinitegrid
|
|
18
|
+
* Copyright (c) 2021-present NAVER Corp.
|
|
19
|
+
* MIT license
|
|
20
|
+
*/
|
|
21
|
+
class NgxInfiniteGridComponent extends NgxInfiniteGridInterface {
|
|
22
|
+
constructor(elementRef, _platformId, _ngZone) {
|
|
23
|
+
super();
|
|
24
|
+
this.elementRef = elementRef;
|
|
25
|
+
this._platformId = _platformId;
|
|
26
|
+
this._ngZone = _ngZone;
|
|
27
|
+
this.items = [];
|
|
28
|
+
this.trackBy = ((_, item) => item.key);
|
|
29
|
+
this.groupBy = ((_, item) => item.groupKey);
|
|
30
|
+
this.infoBy = () => ({});
|
|
31
|
+
this.visibleItems = [];
|
|
32
|
+
this._renderer = new Renderer();
|
|
33
|
+
this._isChange = false;
|
|
34
|
+
this._destroy$ = new Subject();
|
|
35
|
+
for (const name in INFINITEGRID_EVENTS) {
|
|
36
|
+
const eventName = INFINITEGRID_EVENTS[name];
|
|
37
|
+
this[eventName] = new EventEmitter();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
this._updateVisibleChildren();
|
|
42
|
+
}
|
|
43
|
+
ngOnChanges() {
|
|
44
|
+
this._isChange = true;
|
|
45
|
+
this._updateVisibleChildren();
|
|
46
|
+
}
|
|
47
|
+
ngAfterViewInit() {
|
|
48
|
+
if (isPlatformServer(this._platformId)) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const GridClass = this.constructor.GridClass;
|
|
52
|
+
const defaultOptions = GridClass.defaultOptions;
|
|
53
|
+
const options = {};
|
|
54
|
+
for (const name in defaultOptions) {
|
|
55
|
+
if (name in this && typeof this[name] !== "undefined") {
|
|
56
|
+
options[name] = this[name];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
options.renderer = this._renderer;
|
|
60
|
+
// The `InfiniteGrid` set ups `scroll` and `resize` events through `ScrollManager`
|
|
61
|
+
// and `ResizeWatcher`. These events force Angular to run change detection whenever
|
|
62
|
+
// dispatched; this happens too often.
|
|
63
|
+
const grid = this._ngZone.runOutsideAngular(() => new GridClass(this.elementRef.nativeElement, options));
|
|
64
|
+
for (const name in INFINITEGRID_EVENTS) {
|
|
65
|
+
const eventName = INFINITEGRID_EVENTS[name];
|
|
66
|
+
fromEvent(grid, eventName)
|
|
67
|
+
.pipe(takeUntil(this._destroy$))
|
|
68
|
+
.subscribe((event) => {
|
|
69
|
+
const emitter = this[eventName];
|
|
70
|
+
if (emitter && emitter.observers.length > 0) {
|
|
71
|
+
this._ngZone.run(() => emitter.emit(event));
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
this.vanillaGrid = grid;
|
|
76
|
+
fromEvent(this._renderer, 'requestUpdate')
|
|
77
|
+
.pipe(takeUntil(this._destroy$))
|
|
78
|
+
.subscribe(() => {
|
|
79
|
+
this._ngZone.run(() => {
|
|
80
|
+
this._isChange = true;
|
|
81
|
+
this._updateVisibleChildren();
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
mountRenderingItems(this._getItemInfos(), {
|
|
85
|
+
grid,
|
|
86
|
+
useFirstRender: this.useFirstRender,
|
|
87
|
+
useLoading: this.useLoading,
|
|
88
|
+
usePlaceholder: this.usePlaceholder,
|
|
89
|
+
horizontal: this.horizontal,
|
|
90
|
+
status: this.status,
|
|
91
|
+
});
|
|
92
|
+
this._renderer.updated();
|
|
93
|
+
}
|
|
94
|
+
ngAfterViewChecked() {
|
|
95
|
+
if (!this._isChange || !this.vanillaGrid) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const children = [].slice.call(this.getContainerElement().children);
|
|
99
|
+
if (this.visibleItems.length !== children.length) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
this._isChange = false;
|
|
103
|
+
const GridClass = this.constructor.GridClass;
|
|
104
|
+
const propertyTypes = GridClass.propertyTypes;
|
|
105
|
+
const grid = this.vanillaGrid;
|
|
106
|
+
for (const name in propertyTypes) {
|
|
107
|
+
if (name in this) {
|
|
108
|
+
grid[name] = this[name];
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
this._renderer.updated(children);
|
|
112
|
+
}
|
|
113
|
+
ngOnDestroy() {
|
|
114
|
+
this._destroy$.next();
|
|
115
|
+
this.vanillaGrid?.destroy();
|
|
116
|
+
}
|
|
117
|
+
_getItemInfos() {
|
|
118
|
+
const items = this.items;
|
|
119
|
+
const trackBy = this.trackBy;
|
|
120
|
+
const groupBy = this.groupBy;
|
|
121
|
+
const infoBy = this.infoBy;
|
|
122
|
+
return items.map((item, i) => {
|
|
123
|
+
const { data, ...rest } = infoBy(i, item);
|
|
124
|
+
return {
|
|
125
|
+
groupKey: groupBy(i, item),
|
|
126
|
+
key: trackBy(i, item),
|
|
127
|
+
...rest,
|
|
128
|
+
data: {
|
|
129
|
+
...data,
|
|
130
|
+
...item,
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
_updateVisibleChildren() {
|
|
136
|
+
this.visibleItems = getRenderingItems(this._getItemInfos(), {
|
|
137
|
+
grid: this.vanillaGrid,
|
|
138
|
+
useFirstRender: this.useFirstRender,
|
|
139
|
+
useLoading: this.useLoading,
|
|
140
|
+
usePlaceholder: this.usePlaceholder,
|
|
141
|
+
horizontal: this.horizontal,
|
|
142
|
+
status: this.status,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
NgxInfiniteGridComponent.GridClass = null;
|
|
147
|
+
NgxInfiniteGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxInfiniteGridComponent, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
148
|
+
NgxInfiniteGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: NgxInfiniteGridComponent, selector: "ngx-infinite-grid, [NgxInfiniteGrid]", inputs: { gridConstructor: "gridConstructor", renderer: "renderer", container: "container", containerTag: "containerTag", threshold: "threshold", useRecycle: "useRecycle", horizontal: "horizontal", percentage: "percentage", isEqualSize: "isEqualSize", isConstantSize: "isConstantSize", gap: "gap", attributePrefix: "attributePrefix", resizeDebounce: "resizeDebounce", maxResizeDebounce: "maxResizeDebounce", autoResize: "autoResize", useFit: "useFit", useTransform: "useTransform", renderOnPropertyChange: "renderOnPropertyChange", preserveUIOnDestroy: "preserveUIOnDestroy", defaultDirection: "defaultDirection", externalItemRenderer: "externalItemRenderer", externalContainerManager: "externalContainerManager", outlineLength: "outlineLength", outlineSize: "outlineSize", useRoundedSize: "useRoundedSize", useResizeObserver: "useResizeObserver", observeChildren: "observeChildren", scrollContainer: "scrollContainer", appliedItemChecker: "appliedItemChecker", usePlaceholder: "usePlaceholder", useLoading: "useLoading", status: "status", useFirstRender: "useFirstRender", items: "items", trackBy: "trackBy", groupBy: "groupBy", infoBy: "infoBy" }, outputs: { renderComplete: "renderComplete", contentError: "contentError", changeScroll: "changeScroll", requestAppend: "requestAppend", requestPrepend: "requestPrepend" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<slot></slot>', isInline: true, styles: [":host{display:block}\n"] });
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxInfiniteGridComponent, decorators: [{
|
|
150
|
+
type: Component,
|
|
151
|
+
args: [{ selector: 'ngx-infinite-grid, [NgxInfiniteGrid]', template: '<slot></slot>', styles: [":host{display:block}\n"] }]
|
|
152
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
153
|
+
type: Inject,
|
|
154
|
+
args: [PLATFORM_ID]
|
|
155
|
+
}] }, { type: i0.NgZone }]; }, propDecorators: { gridConstructor: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], renderer: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], container: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], containerTag: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], threshold: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], useRecycle: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], horizontal: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], percentage: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], isEqualSize: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], isConstantSize: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], gap: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], attributePrefix: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], resizeDebounce: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], maxResizeDebounce: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], autoResize: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], useFit: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], useTransform: [{
|
|
188
|
+
type: Input
|
|
189
|
+
}], renderOnPropertyChange: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], preserveUIOnDestroy: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}], defaultDirection: [{
|
|
194
|
+
type: Input
|
|
195
|
+
}], externalItemRenderer: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], externalContainerManager: [{
|
|
198
|
+
type: Input
|
|
199
|
+
}], outlineLength: [{
|
|
200
|
+
type: Input
|
|
201
|
+
}], outlineSize: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], useRoundedSize: [{
|
|
204
|
+
type: Input
|
|
205
|
+
}], useResizeObserver: [{
|
|
206
|
+
type: Input
|
|
207
|
+
}], observeChildren: [{
|
|
208
|
+
type: Input
|
|
209
|
+
}], scrollContainer: [{
|
|
210
|
+
type: Input
|
|
211
|
+
}], appliedItemChecker: [{
|
|
212
|
+
type: Input
|
|
213
|
+
}], usePlaceholder: [{
|
|
214
|
+
type: Input
|
|
215
|
+
}], useLoading: [{
|
|
216
|
+
type: Input
|
|
217
|
+
}], status: [{
|
|
218
|
+
type: Input
|
|
219
|
+
}], useFirstRender: [{
|
|
220
|
+
type: Input
|
|
221
|
+
}], items: [{
|
|
222
|
+
type: Input
|
|
223
|
+
}], trackBy: [{
|
|
224
|
+
type: Input
|
|
225
|
+
}], groupBy: [{
|
|
226
|
+
type: Input
|
|
227
|
+
}], infoBy: [{
|
|
228
|
+
type: Input
|
|
229
|
+
}], renderComplete: [{
|
|
230
|
+
type: Output
|
|
231
|
+
}], contentError: [{
|
|
232
|
+
type: Output
|
|
233
|
+
}], changeScroll: [{
|
|
234
|
+
type: Output
|
|
235
|
+
}], requestAppend: [{
|
|
236
|
+
type: Output
|
|
237
|
+
}], requestPrepend: [{
|
|
238
|
+
type: Output
|
|
239
|
+
}] } });
|
|
240
|
+
|
|
241
|
+
const TEMPLATE = `
|
|
242
|
+
<ng-template #content><ng-content></ng-content></ng-template>
|
|
243
|
+
|
|
244
|
+
<ng-template #viewer>
|
|
245
|
+
<div *ngIf="container === true; else noContainer" #containerRef>
|
|
246
|
+
<ng-template [ngTemplateOutlet]="content"></ng-template>
|
|
247
|
+
</div>
|
|
248
|
+
|
|
249
|
+
<ng-template #noContainer>
|
|
250
|
+
<ng-template [ngTemplateOutlet]="content"></ng-template>
|
|
251
|
+
</ng-template>
|
|
252
|
+
</ng-template>
|
|
253
|
+
|
|
254
|
+
<div *ngIf="elementRef.nativeElement.tagName.indexOf('NGX-') === 0; else noWrapper" #wrapperRef>
|
|
255
|
+
<ng-template [ngTemplateOutlet]="viewer"></ng-template>
|
|
256
|
+
</div>
|
|
257
|
+
|
|
258
|
+
<ng-template #noWrapper>
|
|
259
|
+
<ng-template [ngTemplateOutlet]="viewer"></ng-template>
|
|
260
|
+
</ng-template>
|
|
261
|
+
`;
|
|
262
|
+
|
|
263
|
+
class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComponent {
|
|
264
|
+
}
|
|
265
|
+
NgxMasonryInfiniteGridComponent.GridClass = MasonryInfiniteGrid;
|
|
266
|
+
NgxMasonryInfiniteGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxMasonryInfiniteGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
267
|
+
NgxMasonryInfiniteGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: NgxMasonryInfiniteGridComponent, selector: "ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]", inputs: { column: "column", columnSize: "columnSize", columnSizeRatio: "columnSizeRatio", align: "align", columnCalculationThreshold: "columnCalculationThreshold", maxStretchColumnSize: "maxStretchColumnSize" }, usesInheritance: true, ngImport: i0, template: "\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <div *ngIf=\"container === true; else noContainer\" #containerRef>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </div>\n\n <ng-template #noContainer>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-template>\n</ng-template>\n\n<div *ngIf=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0; else noWrapper\" #wrapperRef>\n <ng-template [ngTemplateOutlet]=\"viewer\"></ng-template>\n</div>\n\n<ng-template #noWrapper>\n <ng-template [ngTemplateOutlet]=\"viewer\"></ng-template>\n</ng-template>\n", isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxMasonryInfiniteGridComponent, decorators: [{
|
|
269
|
+
type: Component,
|
|
270
|
+
args: [{
|
|
271
|
+
selector: 'ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]',
|
|
272
|
+
template: TEMPLATE,
|
|
273
|
+
}]
|
|
274
|
+
}], propDecorators: { column: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], columnSize: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], columnSizeRatio: [{
|
|
279
|
+
type: Input
|
|
280
|
+
}], align: [{
|
|
281
|
+
type: Input
|
|
282
|
+
}], columnCalculationThreshold: [{
|
|
283
|
+
type: Input
|
|
284
|
+
}], maxStretchColumnSize: [{
|
|
285
|
+
type: Input
|
|
286
|
+
}] } });
|
|
287
|
+
|
|
288
|
+
class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent {
|
|
289
|
+
}
|
|
290
|
+
NgxJustifiedInfiniteGridComponent.GridClass = JustifiedInfiniteGrid;
|
|
291
|
+
NgxJustifiedInfiniteGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxJustifiedInfiniteGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
292
|
+
NgxJustifiedInfiniteGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: NgxJustifiedInfiniteGridComponent, selector: "ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]", inputs: { columnRange: "columnRange", rowRange: "rowRange", sizeRange: "sizeRange", displayedRow: "displayedRow", isCroppedSize: "isCroppedSize" }, usesInheritance: true, ngImport: i0, template: "\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <div *ngIf=\"container === true; else noContainer\" #containerRef>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </div>\n\n <ng-template #noContainer>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-template>\n</ng-template>\n\n<div *ngIf=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0; else noWrapper\" #wrapperRef>\n <ng-template [ngTemplateOutlet]=\"viewer\"></ng-template>\n</div>\n\n<ng-template #noWrapper>\n <ng-template [ngTemplateOutlet]=\"viewer\"></ng-template>\n</ng-template>\n", isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
293
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxJustifiedInfiniteGridComponent, decorators: [{
|
|
294
|
+
type: Component,
|
|
295
|
+
args: [{
|
|
296
|
+
selector: 'ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]',
|
|
297
|
+
template: TEMPLATE,
|
|
298
|
+
}]
|
|
299
|
+
}], propDecorators: { columnRange: [{
|
|
300
|
+
type: Input
|
|
301
|
+
}], rowRange: [{
|
|
302
|
+
type: Input
|
|
303
|
+
}], sizeRange: [{
|
|
304
|
+
type: Input
|
|
305
|
+
}], displayedRow: [{
|
|
306
|
+
type: Input
|
|
307
|
+
}], isCroppedSize: [{
|
|
308
|
+
type: Input
|
|
309
|
+
}] } });
|
|
310
|
+
|
|
311
|
+
class NgxFrameInfiniteGridComponent extends NgxInfiniteGridComponent {
|
|
312
|
+
}
|
|
313
|
+
NgxFrameInfiniteGridComponent.GridClass = FrameInfiniteGrid;
|
|
314
|
+
NgxFrameInfiniteGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxFrameInfiniteGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
315
|
+
NgxFrameInfiniteGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: NgxFrameInfiniteGridComponent, selector: "ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]", inputs: { frame: "frame", useFrameFill: "useFrameFill", rectSize: "rectSize" }, usesInheritance: true, ngImport: i0, template: "\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <div *ngIf=\"container === true; else noContainer\" #containerRef>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </div>\n\n <ng-template #noContainer>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-template>\n</ng-template>\n\n<div *ngIf=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0; else noWrapper\" #wrapperRef>\n <ng-template [ngTemplateOutlet]=\"viewer\"></ng-template>\n</div>\n\n<ng-template #noWrapper>\n <ng-template [ngTemplateOutlet]=\"viewer\"></ng-template>\n</ng-template>\n", isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
316
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxFrameInfiniteGridComponent, decorators: [{
|
|
317
|
+
type: Component,
|
|
318
|
+
args: [{
|
|
319
|
+
selector: 'ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]',
|
|
320
|
+
template: TEMPLATE,
|
|
321
|
+
}]
|
|
322
|
+
}], propDecorators: { frame: [{
|
|
323
|
+
type: Input
|
|
324
|
+
}], useFrameFill: [{
|
|
325
|
+
type: Input
|
|
326
|
+
}], rectSize: [{
|
|
327
|
+
type: Input
|
|
328
|
+
}] } });
|
|
329
|
+
|
|
330
|
+
class NgxPackingInfiniteGridComponent extends NgxInfiniteGridComponent {
|
|
331
|
+
}
|
|
332
|
+
NgxPackingInfiniteGridComponent.GridClass = PackingInfiniteGrid;
|
|
333
|
+
NgxPackingInfiniteGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxPackingInfiniteGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
334
|
+
NgxPackingInfiniteGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: NgxPackingInfiniteGridComponent, selector: "ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]", inputs: { aspectRatio: "aspectRatio", sizeWeight: "sizeWeight", ratioWeight: "ratioWeight", weightPriority: "weightPriority" }, usesInheritance: true, ngImport: i0, template: "\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <div *ngIf=\"container === true; else noContainer\" #containerRef>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </div>\n\n <ng-template #noContainer>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-template>\n</ng-template>\n\n<div *ngIf=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0; else noWrapper\" #wrapperRef>\n <ng-template [ngTemplateOutlet]=\"viewer\"></ng-template>\n</div>\n\n<ng-template #noWrapper>\n <ng-template [ngTemplateOutlet]=\"viewer\"></ng-template>\n</ng-template>\n", isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxPackingInfiniteGridComponent, decorators: [{
|
|
336
|
+
type: Component,
|
|
337
|
+
args: [{
|
|
338
|
+
selector: 'ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]',
|
|
339
|
+
template: TEMPLATE,
|
|
340
|
+
}]
|
|
341
|
+
}], propDecorators: { aspectRatio: [{
|
|
342
|
+
type: Input
|
|
343
|
+
}], sizeWeight: [{
|
|
344
|
+
type: Input
|
|
345
|
+
}], ratioWeight: [{
|
|
346
|
+
type: Input
|
|
347
|
+
}], weightPriority: [{
|
|
348
|
+
type: Input
|
|
349
|
+
}] } });
|
|
350
|
+
|
|
351
|
+
class NgxInfiniteGridModule {
|
|
352
|
+
}
|
|
353
|
+
NgxInfiniteGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxInfiniteGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
354
|
+
NgxInfiniteGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: NgxInfiniteGridModule, declarations: [NgxInfiniteGridComponent,
|
|
355
|
+
NgxMasonryInfiniteGridComponent,
|
|
356
|
+
NgxJustifiedInfiniteGridComponent,
|
|
357
|
+
NgxFrameInfiniteGridComponent,
|
|
358
|
+
NgxPackingInfiniteGridComponent], imports: [CommonModule], exports: [NgxInfiniteGridComponent,
|
|
359
|
+
NgxMasonryInfiniteGridComponent,
|
|
360
|
+
NgxJustifiedInfiniteGridComponent,
|
|
361
|
+
NgxFrameInfiniteGridComponent,
|
|
362
|
+
NgxPackingInfiniteGridComponent] });
|
|
363
|
+
NgxInfiniteGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxInfiniteGridModule, imports: [CommonModule] });
|
|
364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxInfiniteGridModule, decorators: [{
|
|
365
|
+
type: NgModule,
|
|
366
|
+
args: [{
|
|
367
|
+
declarations: [
|
|
368
|
+
NgxInfiniteGridComponent,
|
|
369
|
+
NgxMasonryInfiniteGridComponent,
|
|
370
|
+
NgxJustifiedInfiniteGridComponent,
|
|
371
|
+
NgxFrameInfiniteGridComponent,
|
|
372
|
+
NgxPackingInfiniteGridComponent,
|
|
373
|
+
],
|
|
374
|
+
imports: [
|
|
375
|
+
CommonModule,
|
|
376
|
+
],
|
|
377
|
+
exports: [
|
|
378
|
+
NgxInfiniteGridComponent,
|
|
379
|
+
NgxMasonryInfiniteGridComponent,
|
|
380
|
+
NgxJustifiedInfiniteGridComponent,
|
|
381
|
+
NgxFrameInfiniteGridComponent,
|
|
382
|
+
NgxPackingInfiniteGridComponent,
|
|
383
|
+
],
|
|
384
|
+
}]
|
|
385
|
+
}] });
|
|
386
|
+
|
|
387
|
+
/** This shouldn't be used outside of the library, required for the Ivy compilation. */
|
|
388
|
+
|
|
389
|
+
/*
|
|
390
|
+
* Public API Surface of ngx-infinitegrid
|
|
391
|
+
*/
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* Generated bundle index. Do not edit.
|
|
395
|
+
*/
|
|
396
|
+
|
|
397
|
+
export { NgxInfiniteGridComponent, NgxInfiniteGridModule, NgxMasonryInfiniteGridComponent, NgxFrameInfiniteGridComponent as ɵNgxFrameInfiniteGridComponent, NgxJustifiedInfiniteGridComponent as ɵNgxJustifiedInfiniteGridComponent, NgxPackingInfiniteGridComponent as ɵNgxPackingInfiniteGridComponent };
|
|
398
|
+
//# sourceMappingURL=egjs-ngx-infinitegrid.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"egjs-ngx-infinitegrid.mjs","sources":["../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.interface.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/consts.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-masonry-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-justified-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-frame-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/grids/ngx-packing-infinitegrid.component.ts","../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.module.ts","../../../projects/ngx-infinitegrid/src/private_export.ts","../../../projects/ngx-infinitegrid/src/public-api.ts","../../../projects/ngx-infinitegrid/src/egjs-ngx-infinitegrid.ts"],"sourcesContent":["/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport VanillaInfiniteGrid, { InfiniteGridMethods, withInfiniteGridMethods } from '@egjs/infinitegrid';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\n\nexport class NgxInfiniteGridInterface {\n @withInfiniteGridMethods\n protected vanillaGrid!: VanillaInfiniteGrid;\n}\nexport interface NgxInfiniteGridInterface extends InfiniteGridMethods<NgxInfiniteGridComponent> { }\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\n import {\n AfterViewChecked,\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n PLATFORM_ID,\n Inject,\n NgZone\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n getRenderingItems,\n InfiniteGridFunction,\n InfiniteGridItem,\n InfiniteGridItemInfo,\n InfiniteGridOptions,\n INFINITEGRID_EVENTS,\n mountRenderingItems,\n OnContentError,\n OnRenderComplete,\n OnRequestAppend,\n OnRequestPrepend,\n OnChangeScroll,\n Renderer,\n} from '@egjs/infinitegrid';\nimport { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';\nimport { NgxInfiniteGridProps } from './types';\nimport Grid, { GridOptions } from '@egjs/grid';\n\n@Component({\n selector: 'ngx-infinite-grid, [NgxInfiniteGrid]',\n template: '<slot></slot>',\n styles: [\n ':host { display: block }',\n ],\n})\nexport class NgxInfiniteGridComponent\n extends NgxInfiniteGridInterface\n implements Required<InfiniteGridOptions>,\n NgxInfiniteGridProps,\n AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {\n public static GridClass: InfiniteGridFunction | null = null;\n @Input() gridConstructor!: NgxInfiniteGridProps['gridConstructor'];\n @Input() renderer!: NgxInfiniteGridProps['renderer'];\n @Input() container!: NgxInfiniteGridProps['container'];\n @Input() containerTag!: NgxInfiniteGridProps['containerTag'];\n @Input() threshold!: NgxInfiniteGridProps['threshold'];\n @Input() useRecycle!: NgxInfiniteGridProps['useRecycle'];\n @Input() horizontal!: NgxInfiniteGridProps['horizontal'];\n @Input() percentage!: NgxInfiniteGridProps['percentage'];\n @Input() isEqualSize!: NgxInfiniteGridProps['isEqualSize'];\n @Input() isConstantSize!: NgxInfiniteGridProps['isConstantSize'];\n @Input() gap!: NgxInfiniteGridProps['gap'];\n @Input() attributePrefix!: NgxInfiniteGridProps['attributePrefix'];\n @Input() resizeDebounce!: NgxInfiniteGridProps['resizeDebounce'];\n @Input() maxResizeDebounce!: NgxInfiniteGridProps['maxResizeDebounce'];\n @Input() autoResize!: NgxInfiniteGridProps['autoResize'];\n @Input() useFit!: NgxInfiniteGridProps['useFit'];\n @Input() useTransform!: NgxInfiniteGridProps['useTransform'];\n @Input() renderOnPropertyChange!: NgxInfiniteGridProps['renderOnPropertyChange'];\n @Input() preserveUIOnDestroy!: NgxInfiniteGridProps['preserveUIOnDestroy'];\n @Input() defaultDirection!: NgxInfiniteGridProps['defaultDirection'];\n @Input() externalItemRenderer!: NgxInfiniteGridProps['externalItemRenderer'];\n @Input() externalContainerManager!: NgxInfiniteGridProps['externalContainerManager'];\n @Input() outlineLength!: NgxInfiniteGridProps['outlineLength'];\n @Input() outlineSize!: NgxInfiniteGridProps['outlineSize'];\n @Input() useRoundedSize!: NgxInfiniteGridProps['useRoundedSize'];\n @Input() useResizeObserver!: NgxInfiniteGridProps['useResizeObserver'];\n @Input() observeChildren!: NgxInfiniteGridProps['observeChildren'];\n @Input() scrollContainer!: NgxInfiniteGridProps['scrollContainer'];\n @Input() appliedItemChecker!: NgxInfiniteGridProps['appliedItemChecker'];\n\n @Input() usePlaceholder!: NgxInfiniteGridProps['useFirstRender'];\n @Input() useLoading!: NgxInfiniteGridProps['useLoading'];\n @Input() status!: NgxInfiniteGridProps['status'];\n @Input() useFirstRender!: NgxInfiniteGridProps['useFirstRender'];\n @Input() items: NgxInfiniteGridProps['items'] = [];\n @Input() trackBy: NgxInfiniteGridProps['trackBy'] = ((_, item) => item.key);\n @Input() groupBy: NgxInfiniteGridProps['groupBy'] = ((_, item) => item.groupKey);\n @Input() infoBy: NgxInfiniteGridProps['infoBy'] = () => ({});\n @Output() renderComplete!: EventEmitter<OnRenderComplete>;\n @Output() contentError!: EventEmitter<OnContentError>;\n @Output() changeScroll!: EventEmitter<OnChangeScroll>;\n @Output() requestAppend!: EventEmitter<OnRequestAppend>;\n @Output() requestPrepend!: EventEmitter<OnRequestPrepend>;\n public visibleItems: InfiniteGridItem[] = [];\n\n private _renderer = new Renderer();\n private _isChange = false;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n public elementRef: ElementRef<HTMLElement>,\n @Inject(PLATFORM_ID) private _platformId: string,\n private _ngZone: NgZone\n ) {\n super();\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n (this as any)[eventName] = new EventEmitter();\n }\n }\n\n ngOnInit() {\n this._updateVisibleChildren();\n }\n\n ngOnChanges() {\n this._isChange = true;\n this._updateVisibleChildren();\n }\n\n ngAfterViewInit(): void {\n if (isPlatformServer(this._platformId)) {\n return;\n }\n\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const defaultOptions = GridClass!.defaultOptions;\n const options: Partial<InfiniteGridOptions> = {};\n\n for (const name in defaultOptions) {\n if (name in this && typeof (this as any)[name] !== \"undefined\") {\n (options as any)[name] = (this as any)[name];\n }\n }\n\n options.renderer = this._renderer;\n\n // The `InfiniteGrid` set ups `scroll` and `resize` events through `ScrollManager`\n // and `ResizeWatcher`. These events force Angular to run change detection whenever\n // dispatched; this happens too often.\n const grid = this._ngZone.runOutsideAngular(\n () => new GridClass!(this.elementRef.nativeElement, options)\n );\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n\n fromEvent(grid, eventName)\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n const emitter = (this as any)[eventName];\n if (emitter && emitter.observers.length > 0) {\n this._ngZone.run(() => emitter.emit(event));\n }\n });\n }\n\n this.vanillaGrid = grid;\n\n fromEvent(this._renderer, 'requestUpdate')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n this._ngZone.run(() => {\n this._isChange = true;\n this._updateVisibleChildren();\n });\n });\n\n mountRenderingItems(this._getItemInfos(), {\n grid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n this._renderer.updated();\n }\n\n ngAfterViewChecked() {\n if (!this._isChange || !this.vanillaGrid) {\n return;\n }\n const children = [].slice.call(this.getContainerElement().children);\n\n if (this.visibleItems.length !== children.length) {\n return;\n }\n this._isChange = false;\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const propertyTypes = GridClass!.propertyTypes;\n const grid = this.vanillaGrid;\n\n for (const name in propertyTypes) {\n if (name in this) {\n (grid as any)[name] = (this as any)[name];\n }\n }\n\n this._renderer.updated(children);\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n this.vanillaGrid?.destroy();\n }\n\n private _getItemInfos(): InfiniteGridItemInfo[] {\n const items = this.items;\n const trackBy = this.trackBy;\n const groupBy = this.groupBy;\n const infoBy = this.infoBy;\n\n return items.map((item, i) => {\n const {\n data,\n ...rest\n } = infoBy(i, item);\n return {\n groupKey: groupBy(i, item),\n key: trackBy(i, item),\n ...rest,\n data: {\n ...data,\n ...item,\n },\n };\n });\n }\n\n private _updateVisibleChildren() {\n this.visibleItems = getRenderingItems(this._getItemInfos(), {\n grid: this.vanillaGrid,\n useFirstRender: this.useFirstRender,\n useLoading: this.useLoading,\n usePlaceholder: this.usePlaceholder,\n horizontal: this.horizontal,\n status: this.status,\n });\n }\n}\n","export const TEMPLATE = `\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <div *ngIf=\"container === true; else noContainer\" #containerRef>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </div>\n\n <ng-template #noContainer>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-template>\n</ng-template>\n\n<div *ngIf=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0; else noWrapper\" #wrapperRef>\n <ng-template [ngTemplateOutlet]=\"viewer\"></ng-template>\n</div>\n\n<ng-template #noWrapper>\n <ng-template [ngTemplateOutlet]=\"viewer\"></ng-template>\n</ng-template>\n`;\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n MasonryInfiniteGrid as VanillaMasonryInfiniteGrid,\n MasonryInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]',\n template: TEMPLATE,\n})\nexport class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<MasonryInfiniteGridOptions> {\n public static GridClass = VanillaMasonryInfiniteGrid;\n @Input() column!: Required<MasonryInfiniteGridOptions>['column'];\n @Input() columnSize!: Required<MasonryInfiniteGridOptions>['columnSize'];\n @Input() columnSizeRatio!: Required<MasonryInfiniteGridOptions>['columnSizeRatio'];\n @Input() align!: Required<MasonryInfiniteGridOptions>['align'];\n @Input() columnCalculationThreshold!: Required<MasonryInfiniteGridOptions>['columnCalculationThreshold'];\n @Input() maxStretchColumnSize!: Required<MasonryInfiniteGridOptions>['maxStretchColumnSize'];\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n JustifiedInfiniteGrid as VanillaJustifiedInfiniteGrid,\n JustifiedInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]',\n template: TEMPLATE,\n})\nexport class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<JustifiedInfiniteGridOptions> {\n @Input() columnRange!: Required<JustifiedInfiniteGridOptions>['columnRange'];\n @Input() rowRange!: Required<JustifiedInfiniteGridOptions>['rowRange'];\n @Input() sizeRange!: Required<JustifiedInfiniteGridOptions>['sizeRange'];\n @Input() displayedRow!: Required<JustifiedInfiniteGridOptions>['displayedRow'];\n @Input() isCroppedSize!: Required<JustifiedInfiniteGridOptions>['isCroppedSize'];\n public static GridClass = VanillaJustifiedInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n FrameInfiniteGrid as VanillaFrameInfiniteGrid,\n FrameInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n@Component({\n selector: 'ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]',\n template: TEMPLATE,\n})\nexport class NgxFrameInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<FrameInfiniteGridOptions> {\n @Input() frame!: Required<FrameInfiniteGridOptions>['frame'];\n @Input() useFrameFill!: Required<FrameInfiniteGridOptions>['useFrameFill'];\n @Input() rectSize!: Required<FrameInfiniteGridOptions>['rectSize'];\n public static GridClass = VanillaFrameInfiniteGrid;\n}\n","import {\n NgxInfiniteGridComponent,\n} from '../ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport {\n PackingInfiniteGrid as VanillaPackingInfiniteGrid,\n PackingInfiniteGridOptions,\n} from \"@egjs/infinitegrid\";\nimport { TEMPLATE } from '../consts';\n\n\n@Component({\n selector: 'ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]',\n template: TEMPLATE,\n})\nexport class NgxPackingInfiniteGridComponent extends NgxInfiniteGridComponent\n implements Required<PackingInfiniteGridOptions> {\n @Input() aspectRatio!: Required<PackingInfiniteGridOptions>['aspectRatio'];\n @Input() sizeWeight!: Required<PackingInfiniteGridOptions>['sizeWeight'];\n @Input() ratioWeight!: Required<PackingInfiniteGridOptions>['ratioWeight'];\n @Input() weightPriority!: Required<PackingInfiniteGridOptions>['weightPriority'];\n public static GridClass = VanillaPackingInfiniteGrid;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\nimport { NgxMasonryInfiniteGridComponent } from './grids/ngx-masonry-infinitegrid.component';\nimport { NgxJustifiedInfiniteGridComponent } from './grids/ngx-justified-infinitegrid.component';\nimport { NgxFrameInfiniteGridComponent } from './grids/ngx-frame-infinitegrid.component';\nimport { NgxPackingInfiniteGridComponent } from './grids/ngx-packing-infinitegrid.component';\n\n\n\n\n@NgModule({\n declarations: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n NgxInfiniteGridComponent,\n NgxMasonryInfiniteGridComponent,\n NgxJustifiedInfiniteGridComponent,\n NgxFrameInfiniteGridComponent,\n NgxPackingInfiniteGridComponent,\n ],\n})\nexport class NgxInfiniteGridModule { }\n","/** This shouldn't be used outside of the library, required for the Ivy compilation. */\nexport { NgxJustifiedInfiniteGridComponent as ɵNgxJustifiedInfiniteGridComponent } from './lib/grids/ngx-justified-infinitegrid.component';\nexport { NgxFrameInfiniteGridComponent as ɵNgxFrameInfiniteGridComponent } from './lib/grids/ngx-frame-infinitegrid.component';\nexport { NgxPackingInfiniteGridComponent as ɵNgxPackingInfiniteGridComponent } from './lib/grids/ngx-packing-infinitegrid.component';\n","/*\n * Public API Surface of ngx-infinitegrid\n */\n\nexport * from './lib/grids/ngx-masonry-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.module';\n\nexport * from './private_export';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["VanillaMasonryInfiniteGrid","VanillaJustifiedInfiniteGrid","VanillaFrameInfiniteGrid","VanillaPackingInfiniteGrid"],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { NgxInfiniteGridComponent } from '../ngx-infinitegrid.component';
|
|
2
2
|
import { FrameInfiniteGrid as VanillaFrameInfiniteGrid, FrameInfiniteGridOptions } from "@egjs/infinitegrid";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class NgxFrameInfiniteGridComponent extends NgxInfiniteGridComponent implements Required<FrameInfiniteGridOptions> {
|
|
4
5
|
frame: Required<FrameInfiniteGridOptions>['frame'];
|
|
5
6
|
useFrameFill: Required<FrameInfiniteGridOptions>['useFrameFill'];
|
|
6
7
|
rectSize: Required<FrameInfiniteGridOptions>['rectSize'];
|
|
7
8
|
static GridClass: typeof VanillaFrameInfiniteGrid;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxFrameInfiniteGridComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxFrameInfiniteGridComponent, "ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]", never, { "frame": "frame"; "useFrameFill": "useFrameFill"; "rectSize": "rectSize"; }, {}, never, ["*"], false, never>;
|
|
8
11
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NgxInfiniteGridComponent } from '../ngx-infinitegrid.component';
|
|
2
2
|
import { JustifiedInfiniteGrid as VanillaJustifiedInfiniteGrid, JustifiedInfiniteGridOptions } from "@egjs/infinitegrid";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent implements Required<JustifiedInfiniteGridOptions> {
|
|
4
5
|
columnRange: Required<JustifiedInfiniteGridOptions>['columnRange'];
|
|
5
6
|
rowRange: Required<JustifiedInfiniteGridOptions>['rowRange'];
|
|
@@ -7,4 +8,6 @@ export declare class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridCo
|
|
|
7
8
|
displayedRow: Required<JustifiedInfiniteGridOptions>['displayedRow'];
|
|
8
9
|
isCroppedSize: Required<JustifiedInfiniteGridOptions>['isCroppedSize'];
|
|
9
10
|
static GridClass: typeof VanillaJustifiedInfiniteGrid;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxJustifiedInfiniteGridComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxJustifiedInfiniteGridComponent, "ngx-justified-infinite-grid, [NgxJustifiedInfiniteGrid]", never, { "columnRange": "columnRange"; "rowRange": "rowRange"; "sizeRange": "sizeRange"; "displayedRow": "displayedRow"; "isCroppedSize": "isCroppedSize"; }, {}, never, ["*"], false, never>;
|
|
10
13
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NgxInfiniteGridComponent } from '../ngx-infinitegrid.component';
|
|
2
2
|
import { MasonryInfiniteGrid as VanillaMasonryInfiniteGrid, MasonryInfiniteGridOptions } from "@egjs/infinitegrid";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComponent implements Required<MasonryInfiniteGridOptions> {
|
|
4
5
|
static GridClass: typeof VanillaMasonryInfiniteGrid;
|
|
5
6
|
column: Required<MasonryInfiniteGridOptions>['column'];
|
|
@@ -8,4 +9,6 @@ export declare class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComp
|
|
|
8
9
|
align: Required<MasonryInfiniteGridOptions>['align'];
|
|
9
10
|
columnCalculationThreshold: Required<MasonryInfiniteGridOptions>['columnCalculationThreshold'];
|
|
10
11
|
maxStretchColumnSize: Required<MasonryInfiniteGridOptions>['maxStretchColumnSize'];
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxMasonryInfiniteGridComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxMasonryInfiniteGridComponent, "ngx-masonry-infinite-grid, [NgxMasonryInfiniteGrid]", never, { "column": "column"; "columnSize": "columnSize"; "columnSizeRatio": "columnSizeRatio"; "align": "align"; "columnCalculationThreshold": "columnCalculationThreshold"; "maxStretchColumnSize": "maxStretchColumnSize"; }, {}, never, ["*"], false, never>;
|
|
11
14
|
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { NgxInfiniteGridComponent } from '../ngx-infinitegrid.component';
|
|
2
2
|
import { PackingInfiniteGrid as VanillaPackingInfiniteGrid, PackingInfiniteGridOptions } from "@egjs/infinitegrid";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class NgxPackingInfiniteGridComponent extends NgxInfiniteGridComponent implements Required<PackingInfiniteGridOptions> {
|
|
4
5
|
aspectRatio: Required<PackingInfiniteGridOptions>['aspectRatio'];
|
|
5
6
|
sizeWeight: Required<PackingInfiniteGridOptions>['sizeWeight'];
|
|
6
7
|
ratioWeight: Required<PackingInfiniteGridOptions>['ratioWeight'];
|
|
7
8
|
weightPriority: Required<PackingInfiniteGridOptions>['weightPriority'];
|
|
8
9
|
static GridClass: typeof VanillaPackingInfiniteGrid;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxPackingInfiniteGridComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxPackingInfiniteGridComponent, "ngx-packing-infinite-grid, [NgxPackingInfiniteGrid]", never, { "aspectRatio": "aspectRatio"; "sizeWeight": "sizeWeight"; "ratioWeight": "ratioWeight"; "weightPriority": "weightPriority"; }, {}, never, ["*"], false, never>;
|
|
9
12
|
}
|
|
@@ -7,6 +7,7 @@ import { AfterViewChecked, AfterViewInit, ElementRef, EventEmitter, OnChanges, O
|
|
|
7
7
|
import { InfiniteGridFunction, InfiniteGridItem, InfiniteGridOptions, OnContentError, OnRenderComplete, OnRequestAppend, OnRequestPrepend, OnChangeScroll } from '@egjs/infinitegrid';
|
|
8
8
|
import { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';
|
|
9
9
|
import { NgxInfiniteGridProps } from './types';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
10
11
|
export declare class NgxInfiniteGridComponent extends NgxInfiniteGridInterface implements Required<InfiniteGridOptions>, NgxInfiniteGridProps, AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {
|
|
11
12
|
elementRef: ElementRef<HTMLElement>;
|
|
12
13
|
private _platformId;
|
|
@@ -48,6 +49,7 @@ export declare class NgxInfiniteGridComponent extends NgxInfiniteGridInterface i
|
|
|
48
49
|
items: NgxInfiniteGridProps['items'];
|
|
49
50
|
trackBy: NgxInfiniteGridProps['trackBy'];
|
|
50
51
|
groupBy: NgxInfiniteGridProps['groupBy'];
|
|
52
|
+
infoBy: NgxInfiniteGridProps['infoBy'];
|
|
51
53
|
renderComplete: EventEmitter<OnRenderComplete>;
|
|
52
54
|
contentError: EventEmitter<OnContentError>;
|
|
53
55
|
changeScroll: EventEmitter<OnChangeScroll>;
|
|
@@ -65,4 +67,6 @@ export declare class NgxInfiniteGridComponent extends NgxInfiniteGridInterface i
|
|
|
65
67
|
ngOnDestroy(): void;
|
|
66
68
|
private _getItemInfos;
|
|
67
69
|
private _updateVisibleChildren;
|
|
70
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxInfiniteGridComponent, never>;
|
|
71
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxInfiniteGridComponent, "ngx-infinite-grid, [NgxInfiniteGrid]", never, { "gridConstructor": "gridConstructor"; "renderer": "renderer"; "container": "container"; "containerTag": "containerTag"; "threshold": "threshold"; "useRecycle": "useRecycle"; "horizontal": "horizontal"; "percentage": "percentage"; "isEqualSize": "isEqualSize"; "isConstantSize": "isConstantSize"; "gap": "gap"; "attributePrefix": "attributePrefix"; "resizeDebounce": "resizeDebounce"; "maxResizeDebounce": "maxResizeDebounce"; "autoResize": "autoResize"; "useFit": "useFit"; "useTransform": "useTransform"; "renderOnPropertyChange": "renderOnPropertyChange"; "preserveUIOnDestroy": "preserveUIOnDestroy"; "defaultDirection": "defaultDirection"; "externalItemRenderer": "externalItemRenderer"; "externalContainerManager": "externalContainerManager"; "outlineLength": "outlineLength"; "outlineSize": "outlineSize"; "useRoundedSize": "useRoundedSize"; "useResizeObserver": "useResizeObserver"; "observeChildren": "observeChildren"; "scrollContainer": "scrollContainer"; "appliedItemChecker": "appliedItemChecker"; "usePlaceholder": "usePlaceholder"; "useLoading": "useLoading"; "status": "status"; "useFirstRender": "useFirstRender"; "items": "items"; "trackBy": "trackBy"; "groupBy": "groupBy"; "infoBy": "infoBy"; }, { "renderComplete": "renderComplete"; "contentError": "contentError"; "changeScroll": "changeScroll"; "requestAppend": "requestAppend"; "requestPrepend": "requestPrepend"; }, never, never, false, never>;
|
|
68
72
|
}
|
|
@@ -1,2 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./ngx-infinitegrid.component";
|
|
3
|
+
import * as i2 from "./grids/ngx-masonry-infinitegrid.component";
|
|
4
|
+
import * as i3 from "./grids/ngx-justified-infinitegrid.component";
|
|
5
|
+
import * as i4 from "./grids/ngx-frame-infinitegrid.component";
|
|
6
|
+
import * as i5 from "./grids/ngx-packing-infinitegrid.component";
|
|
7
|
+
import * as i6 from "@angular/common";
|
|
1
8
|
export declare class NgxInfiniteGridModule {
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxInfiniteGridModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxInfiniteGridModule, [typeof i1.NgxInfiniteGridComponent, typeof i2.NgxMasonryInfiniteGridComponent, typeof i3.NgxJustifiedInfiniteGridComponent, typeof i4.NgxFrameInfiniteGridComponent, typeof i5.NgxPackingInfiniteGridComponent], [typeof i6.CommonModule], [typeof i1.NgxInfiniteGridComponent, typeof i2.NgxMasonryInfiniteGridComponent, typeof i3.NgxJustifiedInfiniteGridComponent, typeof i4.NgxFrameInfiniteGridComponent, typeof i5.NgxPackingInfiniteGridComponent]>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NgxInfiniteGridModule>;
|
|
2
12
|
}
|
package/lib/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@egjs/ngx-infinitegrid",
|
|
3
|
-
"version": "4.10.0
|
|
3
|
+
"version": "4.10.0",
|
|
4
4
|
"description": "An Angular component that can arrange items infinitely according to the type of grids",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,15 +18,27 @@
|
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@egjs/infinitegrid": "~4.
|
|
22
|
-
"tslib": "^2.
|
|
21
|
+
"@egjs/infinitegrid": "~4.10.0",
|
|
22
|
+
"tslib": "^2.3.0"
|
|
23
|
+
},
|
|
24
|
+
"module": "fesm2015/egjs-ngx-infinitegrid.mjs",
|
|
25
|
+
"es2020": "fesm2020/egjs-ngx-infinitegrid.mjs",
|
|
26
|
+
"esm2020": "esm2020/egjs-ngx-infinitegrid.mjs",
|
|
27
|
+
"fesm2020": "fesm2020/egjs-ngx-infinitegrid.mjs",
|
|
28
|
+
"fesm2015": "fesm2015/egjs-ngx-infinitegrid.mjs",
|
|
29
|
+
"typings": "index.d.ts",
|
|
30
|
+
"exports": {
|
|
31
|
+
"./package.json": {
|
|
32
|
+
"default": "./package.json"
|
|
33
|
+
},
|
|
34
|
+
".": {
|
|
35
|
+
"types": "./index.d.ts",
|
|
36
|
+
"esm2020": "./esm2020/egjs-ngx-infinitegrid.mjs",
|
|
37
|
+
"es2020": "./fesm2020/egjs-ngx-infinitegrid.mjs",
|
|
38
|
+
"es2015": "./fesm2015/egjs-ngx-infinitegrid.mjs",
|
|
39
|
+
"node": "./fesm2015/egjs-ngx-infinitegrid.mjs",
|
|
40
|
+
"default": "./fesm2020/egjs-ngx-infinitegrid.mjs"
|
|
41
|
+
}
|
|
23
42
|
},
|
|
24
|
-
"main": "bundles/egjs-ngx-infinitegrid.umd.js",
|
|
25
|
-
"module": "fesm2015/egjs-ngx-infinitegrid.js",
|
|
26
|
-
"es2015": "fesm2015/egjs-ngx-infinitegrid.js",
|
|
27
|
-
"esm2015": "esm2015/egjs-ngx-infinitegrid.js",
|
|
28
|
-
"fesm2015": "fesm2015/egjs-ngx-infinitegrid.js",
|
|
29
|
-
"typings": "egjs-ngx-infinitegrid.d.ts",
|
|
30
|
-
"metadata": "egjs-ngx-infinitegrid.metadata.json",
|
|
31
43
|
"sideEffects": false
|
|
32
44
|
}
|