@egjs/ngx-infinitegrid 3.2.5 → 4.1.2-beta.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.
Files changed (57) hide show
  1. package/README.md +111 -178
  2. package/bundles/egjs-ngx-infinitegrid.umd.js +587 -751
  3. package/bundles/egjs-ngx-infinitegrid.umd.js.map +1 -1
  4. package/bundles/egjs-ngx-infinitegrid.umd.min.js +12 -12
  5. package/bundles/egjs-ngx-infinitegrid.umd.min.js.map +1 -1
  6. package/egjs-ngx-infinitegrid.d.ts +5 -1
  7. package/egjs-ngx-infinitegrid.metadata.json +1 -1
  8. package/esm2015/egjs-ngx-infinitegrid.js +7 -7
  9. package/esm2015/lib/consts.js +20 -23
  10. package/esm2015/lib/grids/ngx-frame-infinitegrid.component.js +19 -0
  11. package/esm2015/lib/grids/ngx-justified-infinitegrid.component.js +21 -0
  12. package/esm2015/lib/grids/ngx-masonry-infinitegrid.component.js +20 -0
  13. package/esm2015/lib/grids/ngx-packing-infinitegrid.component.js +20 -0
  14. package/esm2015/lib/ngx-infinitegrid.component.js +135 -312
  15. package/esm2015/lib/ngx-infinitegrid.interface.js +10 -18
  16. package/esm2015/lib/ngx-infinitegrid.module.js +14 -21
  17. package/esm2015/lib/ngx-infinitegrid.service.js +5 -10
  18. package/esm2015/lib/types.js +2 -5
  19. package/esm2015/public-api.js +5 -13
  20. package/fesm2015/egjs-ngx-infinitegrid.js +215 -476
  21. package/fesm2015/egjs-ngx-infinitegrid.js.map +1 -1
  22. package/lib/consts.d.ts +1 -1
  23. package/lib/grids/ngx-frame-infinitegrid.component.d.ts +8 -0
  24. package/lib/grids/ngx-justified-infinitegrid.component.d.ts +10 -0
  25. package/lib/grids/ngx-masonry-infinitegrid.component.d.ts +9 -0
  26. package/lib/grids/ngx-packing-infinitegrid.component.d.ts +9 -0
  27. package/lib/ngx-infinitegrid.component.d.ts +58 -37
  28. package/lib/ngx-infinitegrid.interface.d.ts +9 -5
  29. package/lib/ngx-infinitegrid.service.d.ts +1 -1
  30. package/lib/types.d.ts +18 -4
  31. package/package.json +19 -16
  32. package/public-api.d.ts +1 -5
  33. package/esm2015/lib/ngx-framelayout.component.js +0 -28
  34. package/esm2015/lib/ngx-gridlayout.component.js +0 -28
  35. package/esm2015/lib/ngx-justifiedlayout.component.js +0 -28
  36. package/esm2015/lib/ngx-packinglayout.component.js +0 -28
  37. package/esm2015/lib/ngx-squarelayout.component.js +0 -28
  38. package/esm5/egjs-ngx-infinitegrid.js +0 -10
  39. package/esm5/lib/consts.js +0 -8
  40. package/esm5/lib/ngx-framelayout.component.js +0 -33
  41. package/esm5/lib/ngx-gridlayout.component.js +0 -33
  42. package/esm5/lib/ngx-infinitegrid.component.js +0 -385
  43. package/esm5/lib/ngx-infinitegrid.interface.js +0 -25
  44. package/esm5/lib/ngx-infinitegrid.module.js +0 -42
  45. package/esm5/lib/ngx-infinitegrid.service.js +0 -21
  46. package/esm5/lib/ngx-justifiedlayout.component.js +0 -33
  47. package/esm5/lib/ngx-packinglayout.component.js +0 -33
  48. package/esm5/lib/ngx-squarelayout.component.js +0 -33
  49. package/esm5/lib/types.js +0 -5
  50. package/esm5/public-api.js +0 -16
  51. package/fesm5/egjs-ngx-infinitegrid.js +0 -611
  52. package/fesm5/egjs-ngx-infinitegrid.js.map +0 -1
  53. package/lib/ngx-framelayout.component.d.ts +0 -5
  54. package/lib/ngx-gridlayout.component.d.ts +0 -5
  55. package/lib/ngx-justifiedlayout.component.d.ts +0 -5
  56. package/lib/ngx-packinglayout.component.d.ts +0 -5
  57. package/lib/ngx-squarelayout.component.d.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"egjs-ngx-infinitegrid.js","sources":["ng://@egjs/ngx-infinitegrid/lib/ngx-infinitegrid.service.ts","ng://@egjs/ngx-infinitegrid/lib/consts.ts","ng://@egjs/ngx-infinitegrid/lib/ngx-infinitegrid.interface.ts","ng://@egjs/ngx-infinitegrid/lib/ngx-infinitegrid.component.ts","ng://@egjs/ngx-infinitegrid/lib/ngx-gridlayout.component.ts","ng://@egjs/ngx-infinitegrid/lib/ngx-justifiedlayout.component.ts","ng://@egjs/ngx-infinitegrid/lib/ngx-squarelayout.component.ts","ng://@egjs/ngx-infinitegrid/lib/ngx-framelayout.component.ts","ng://@egjs/ngx-infinitegrid/lib/ngx-packinglayout.component.ts","ng://@egjs/ngx-infinitegrid/lib/ngx-infinitegrid.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInfiniteGridService {\n\n constructor() { }\n}\n","import { CONTAINER_CLASSNAME } from '@egjs/infinitegrid';\n\nexport const TEMPLATE = `\n <ng-template #content><ng-content></ng-content></ng-template>\n <ng-template #viewer>\n <ng-template [ngIf]=\"options.isOverflowScroll\" [ngIfElse]=\"noContainer\">\n <div class=\"${CONTAINER_CLASSNAME}\" #container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n </ng-template>\n <ng-template [ngIf]=\"elRef.nativeElement.tagName==='NGX-INFINITEGRID'\" [ngIfElse]=\"noWrapper\">\n <div #wrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </ng-template>\n `;\n","import NativeInfiniteGrid, { IInfiniteGridStatus, withInfiniteGridMethods } from '@egjs/infinitegrid';\nimport { InfiniteGridType } from './types';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\n\nexport default class NgxInfiniteGridInterface {\n @withInfiniteGridMethods\n protected ig!: NativeInfiniteGrid;\n\n}\nexport default interface NgxInfiniteGridInterface extends InfiniteGridType<NgxInfiniteGridComponent> { }\n","import {\n Component, OnInit, ViewChild, ElementRef,\n Input, Output, EventEmitter, OnDestroy, OnChanges,\n AfterViewInit, AfterViewChecked,\n} from '@angular/core';\n\nimport NativeInfiniteGrid, {\n GridLayout,\n ILayout,\n categorize,\n ItemManager,\n IItem,\n IInfiniteGridStatus,\n IInfiniteGridItem,\n StyleType,\n IGNORE_CLASSNAME,\n IInfiniteGridOptions,\n INFINITEGRID_EVENTS,\n} from '@egjs/infinitegrid';\nimport ListDiffer from '@egjs/list-differ';\nimport { TEMPLATE } from './consts';\nimport NgxinfiniteGridInterface from './ngx-infinitegrid.interface';\nimport { InfiniteGridType } from './types';\n\n@Component({\n selector: 'ngx-infinitegrid, [NgxInfiniteGrid]',\n template: TEMPLATE,\n styles: []\n})\nexport class NgxInfiniteGridComponent\n extends NgxinfiniteGridInterface\n implements OnInit, AfterViewInit, AfterViewChecked,\n OnDestroy, OnChanges {\n\n @Input() public trackBy: ((index: number, item: any) => any) = ((_, item) => item.key);\n @Input() public groupBy: ((index: number, item: any) => any) = ((_, item) => item.groupKey);\n @Input() public items: IItem[] = [];\n @Input() public status!: IInfiniteGridStatus;\n @Input() public loading!: HTMLElement;\n @Input() public useFirstRender = false;\n @Input() public layoutType: new () => ILayout = GridLayout;\n @Input() public options: Partial<IInfiniteGridOptions> = {};\n @Input() public layoutOptions: Partial<ILayout['options']> = {};\n\n @Output() public append: EventEmitter<any> = new EventEmitter();\n @Output() public prepend: EventEmitter<any> = new EventEmitter();\n @Output() public imageError: EventEmitter<any> = new EventEmitter();\n @Output() public contentError: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line: no-output-native\n @Output() public change: EventEmitter<any> = new EventEmitter();\n @Output() public layoutComplete: EventEmitter<any> = new EventEmitter();\n @Output() public visibleChange: EventEmitter<any> = new EventEmitter();\n @Output() public render: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('wrapper', { static: false }) wrapperRef: ElementRef;\n @ViewChild('container', { static: false }) containerRef: ElementRef;\n\n public visibleItems: IItem[] = [];\n\n private layoutState = '';\n private isChange = false;\n private visibleDiffer: ListDiffer<IItem> = new ListDiffer<IItem>([], item => item.itemKey);\n private nextFunction = () => { };\n\n constructor(public elRef: ElementRef) {\n super();\n }\n ngOnInit() {\n const groups = categorize(this.items);\n\n if (this.status) {\n const { startCursor, endCursor } = this.status._infinite;\n\n this.updateVisibleItems(ItemManager.pluck(groups.slice(startCursor, endCursor + 1), 'items').map(item => item.data));\n } else if (this.useFirstRender) {\n this.updateVisibleItems(this.items);\n }\n }\n ngOnChanges(changes) {\n const ig = this.ig;\n if (!ig) {\n return;\n }\n const result = ig.beforeSync(this.toItems());\n\n this.layoutState = result === 'relayout' ? result : this.layoutState || result;\n this.updateVisibleItems(this.getVisibleItems());\n this.isChange = true;\n\n if (changes.loading) {\n ig.setLoadingBar({\n append: this.loading,\n prepend: this.loading,\n });\n }\n }\n ngAfterViewChecked() {\n if (!this.isChange) {\n return;\n }\n this.isChange = false;\n this.ig.sync(this.getElements());\n\n const layoutState = this.layoutState;\n if (layoutState) {\n this.layoutState = '';\n this.ig.layout(layoutState === 'relayout');\n }\n this.nextFunction();\n this.nextFunction = () => { };\n }\n ngAfterViewInit() {\n const ref = this.wrapperRef || this.elRef;\n\n this.ig = new NativeInfiniteGrid(ref.nativeElement, {\n ...this.options,\n renderExternal: true,\n }).on('render', ({ next }) => {\n setTimeout(() => {\n this.nextFunction = next;\n this.updateVisibleItems(this.getVisibleItems());\n this.isChange = true;\n });\n });\n const ig = this.ig;\n\n INFINITEGRID_EVENTS.forEach(name => {\n if (!this[name]) {\n return;\n }\n ig.on(name as any, e => {\n (this as any)[name].emit({ ...e, currentTarget: this });\n });\n });\n ig.setLayout(this.layoutType, { ...this.layoutOptions });\n\n\n if (this.loading) {\n ig.setLoadingBar({\n prepend: this.loading,\n append: this.loading,\n });\n }\n if (this.status) {\n this.setStatus(this.status, true);\n } else {\n ig.beforeSync(this.toItems());\n ig.layout(true);\n }\n }\n public setStatus = (status: IInfiniteGridStatus, applyScrollPos?: boolean, syncElements: HTMLElement[] = this.getElements()): NgxInfiniteGridComponent => {\n this.ig.setStatus(status, applyScrollPos, syncElements);\n return this;\n }\n public ngOnDestroy() {\n this.ig.destroy();\n }\n private getElements() {\n const ref = this.containerRef || this.wrapperRef || this.elRef;\n\n const elements = [].slice.call(ref.nativeElement.children);\n\n if (this.loading) {\n return elements.filter(el => {\n return el.className.indexOf(IGNORE_CLASSNAME) < 0;\n });\n }\n return elements;\n }\n private getVisibleItems() {\n return this.ig.getRenderingItems().map(item => item.data);\n }\n private toItems() {\n const groupBy = this.groupBy;\n const trackBy = this.trackBy;\n return this.items.map((item, i) => ({\n groupKey: groupBy(i, item),\n itemKey: trackBy(i, item),\n data: item,\n }));\n }\n private updateVisibleItems(items: IItem[]) {\n const { added, changed, removed } = this.visibleDiffer.update(items);\n\n this.visibleItems = items;\n if (added.length || changed.length || removed.length) {\n this.visibleChange.emit(items);\n }\n }\n}\n","import {\n NgxInfiniteGridComponent\n} from './ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport { TEMPLATE } from './consts';\nimport { ILayout, GridLayout } from '@egjs/infinitegrid';\n\n\n\n@Component({\n selector: 'ngx-gridlayout, [NgxGridLayout]',\n template: TEMPLATE,\n styles: []\n})\nexport class NgxGridLayoutComponent extends NgxInfiniteGridComponent {\n @Input() public layoutType: new () => ILayout = GridLayout;\n}\n","import {\n NgxInfiniteGridComponent\n} from \"./ngx-infinitegrid.component\";\nimport { Component, Input } from '@angular/core';\nimport { TEMPLATE } from './consts';\nimport { ILayout, JustifiedLayout } from '@egjs/infinitegrid';\n\n\n\n@Component({\n selector: 'ngx-justifiedlayout, [NgxJustifiedLayout]',\n template: TEMPLATE,\n styles: []\n})\nexport class NgxJustifiedLayoutComponent extends NgxInfiniteGridComponent {\n @Input() public layoutType: new () => ILayout = JustifiedLayout;\n}\n","import {\n NgxInfiniteGridComponent\n} from './ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport { TEMPLATE } from './consts';\nimport { ILayout, SquareLayout } from '@egjs/infinitegrid';\n\n\n\n@Component({\n selector: 'ngx-squarelayout, [NgxSquareLayout]',\n template: TEMPLATE,\n styles: []\n})\nexport class NgxSquareLayoutComponent extends NgxInfiniteGridComponent {\n @Input() public layoutType: new () => ILayout = SquareLayout;\n}\n","import {\n NgxInfiniteGridComponent\n} from './ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport { TEMPLATE } from './consts';\nimport { ILayout, FrameLayout } from '@egjs/infinitegrid';\n\n\n\n@Component({\n selector: 'ngx-framelayout, [NgxFrameLayout]',\n template: TEMPLATE,\n styles: []\n})\nexport class NgxFrameLayoutComponent extends NgxInfiniteGridComponent {\n @Input() public layoutType: new () => ILayout = FrameLayout;\n}\n","import {\n NgxInfiniteGridComponent\n} from './ngx-infinitegrid.component';\nimport { Component, Input } from '@angular/core';\nimport { TEMPLATE } from './consts';\nimport { ILayout, PackingLayout } from '@egjs/infinitegrid';\n\n\n@Component({\n selector: 'ngx-packinglayout, [NgxPackingLayout]',\n template: TEMPLATE,\n styles: []\n})\nexport class NgxPackingLayoutComponent extends NgxInfiniteGridComponent {\n @Input() public layoutType: new () => ILayout = PackingLayout;\n}\n","import { NgModule } from '@angular/core';\nimport { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';\nimport { NgxGridLayoutComponent } from './ngx-gridlayout.component';\nimport { NgxJustifiedLayoutComponent } from './ngx-justifiedlayout.component';\nimport { NgxSquareLayoutComponent } from './ngx-squarelayout.component';\nimport { NgxFrameLayoutComponent } from './ngx-framelayout.component';\nimport { NgxPackingLayoutComponent } from './ngx-packinglayout.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [\n NgxInfiniteGridComponent,\n NgxGridLayoutComponent,\n NgxJustifiedLayoutComponent,\n NgxSquareLayoutComponent,\n NgxFrameLayoutComponent,\n NgxPackingLayoutComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n NgxInfiniteGridComponent,\n NgxGridLayoutComponent,\n NgxJustifiedLayoutComponent,\n NgxSquareLayoutComponent,\n NgxFrameLayoutComponent,\n NgxPackingLayoutComponent,\n ],\n})\nexport class NgxInfiniteGridModule { }\n"],"names":["tslib_1.__decorate","NgxinfiniteGridInterface"],"mappings":"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"}
1
+ {"version":3,"file":"egjs-ngx-infinitegrid.js","sources":["../../../projects/ngx-infinitegrid/src/lib/ngx-infinitegrid.service.ts","../../../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/public-api.ts","../../../projects/ngx-infinitegrid/src/egjs-ngx-infinitegrid.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInfinitegridService {\n\n constructor() { }\n}\n","/**\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 */\nimport {\n AfterViewChecked, AfterViewInit, Component, ElementRef,\n EventEmitter, Input, OnChanges, OnDestroy, Output, ViewChild,\n PLATFORM_ID, Inject, ChangeDetectionStrategy, ChangeDetectorRef,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\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';\n\n// @dynamic\n@Component({\n selector: 'ngx-infinite-grid, [NgxInfiniteGrid]',\n template: '<slot></slot>',\n styles: [\n ':host { display: block }',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgxInfiniteGridComponent\n extends NgxInfiniteGridInterface\n implements Required<InfiniteGridOptions>,\n NgxInfiniteGridProps,\n AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {\n public static GridClass: InfiniteGridFunction;\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() 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 @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 @ViewChild('wrapperRef', { static: false }) _wrapperRef!: ElementRef;\n @ViewChild('containerRef', { static: false }) _containerRef!: ElementRef;\n private _renderer = new Renderer();\n private _isChange = false;\n\n constructor(\n protected elementRef: ElementRef,\n private _detectorRef: ChangeDetectorRef,\n @Inject(PLATFORM_ID) private _platform: Object,\n ) {\n super();\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 ngOnChanges() {\n this._isChange = true;\n this._updateVisibleChildren();\n }\n ngAfterViewInit(): void {\n if (!isPlatformBrowser(this._platform)) {\n return;\n }\n const GridClass = (this.constructor as typeof NgxInfiniteGridComponent).GridClass;\n const defaultOptions = GridClass.defaultOptions;\n const options: Partial<InfiniteGridOptions> = {};\n const containerElement = this._containerRef?.nativeElement;\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 if (containerElement) {\n options.container = containerElement;\n }\n options.renderer = this._renderer;\n const wrapper = this._wrapperRef! || this.elementRef;\n\n const grid = new GridClass(wrapper.nativeElement, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = (INFINITEGRID_EVENTS as any)[name];\n\n grid.on(eventName, (e: any) => {\n (this as any)[eventName].emit(e as any);\n });\n }\n\n this.vanillaGrid = grid;\n this._renderer.on(\"requestUpdate\", () => {\n this._isChange = true;\n this._updateVisibleChildren();\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 ngAfterViewChecked() {\n if (!this._isChange || !this.vanillaGrid) {\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();\n }\n ngOnDestroy() {\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\n return items.map((item, i) => {\n return {\n groupKey: groupBy(i, item),\n key: trackBy(i, item),\n data: item,\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 this._detectorRef.markForCheck();\n }\n}\n","export const TEMPLATE = `\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]=\"container === true\" [ngIfElse]=\"noContainer\">\n <div #containerRef>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0\" [ngIfElse]=\"noWrapper\">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\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 styles: [],\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}\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 styles: [],\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\n@Component({\n selector: 'ngx-frame-infinite-grid, [NgxFrameInfiniteGrid]',\n template: TEMPLATE,\n styles: [],\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 styles: [],\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","/*\n * Public API Surface of ngx-infinitegrid\n */\n\nexport * from './lib/ngx-infinitegrid.service';\nexport * from './lib/grids/ngx-masonry-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.component';\nexport * from './lib/ngx-infinitegrid.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {TEMPLATE as ɵb} from './lib/consts';\nexport {NgxFrameInfiniteGridComponent as ɵd} from './lib/grids/ngx-frame-infinitegrid.component';\nexport {NgxJustifiedInfiniteGridComponent as ɵc} from './lib/grids/ngx-justified-infinitegrid.component';\nexport {NgxPackingInfiniteGridComponent as ɵe} from './lib/grids/ngx-packing-infinitegrid.component';\nexport {NgxInfiniteGridInterface as ɵa} from './lib/ngx-infinitegrid.interface';"],"names":["VanillaMasonryInfiniteGrid","VanillaJustifiedInfiniteGrid","VanillaFrameInfiniteGrid","VanillaPackingInfiniteGrid"],"mappings":"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"}
package/lib/consts.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const TEMPLATE: string;
1
+ export declare const TEMPLATE = "\n<ng-template #content><ng-content></ng-content></ng-template>\n\n<ng-template #viewer>\n <ng-template [ngIf]=\"container === true\" [ngIfElse]=\"noContainer\">\n <div #containerRef>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n</ng-template>\n\n<ng-template [ngIf]=\"elementRef.nativeElement.tagName.indexOf('NGX-') === 0\" [ngIfElse]=\"noWrapper\">\n <div #wrapperRef>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n</ng-template>\n";
@@ -0,0 +1,8 @@
1
+ import { NgxInfiniteGridComponent } from '../ngx-infinitegrid.component';
2
+ import { FrameInfiniteGrid as VanillaFrameInfiniteGrid, FrameInfiniteGridOptions } from "@egjs/infinitegrid";
3
+ export declare class NgxFrameInfiniteGridComponent extends NgxInfiniteGridComponent implements Required<FrameInfiniteGridOptions> {
4
+ frame: Required<FrameInfiniteGridOptions>['frame'];
5
+ useFrameFill: Required<FrameInfiniteGridOptions>['useFrameFill'];
6
+ rectSize: Required<FrameInfiniteGridOptions>['rectSize'];
7
+ static GridClass: typeof VanillaFrameInfiniteGrid;
8
+ }
@@ -0,0 +1,10 @@
1
+ import { NgxInfiniteGridComponent } from '../ngx-infinitegrid.component';
2
+ import { JustifiedInfiniteGrid as VanillaJustifiedInfiniteGrid, JustifiedInfiniteGridOptions } from "@egjs/infinitegrid";
3
+ export declare class NgxJustifiedInfiniteGridComponent extends NgxInfiniteGridComponent implements Required<JustifiedInfiniteGridOptions> {
4
+ columnRange: Required<JustifiedInfiniteGridOptions>['columnRange'];
5
+ rowRange: Required<JustifiedInfiniteGridOptions>['rowRange'];
6
+ sizeRange: Required<JustifiedInfiniteGridOptions>['sizeRange'];
7
+ displayedRow: Required<JustifiedInfiniteGridOptions>['displayedRow'];
8
+ isCroppedSize: Required<JustifiedInfiniteGridOptions>['isCroppedSize'];
9
+ static GridClass: typeof VanillaJustifiedInfiniteGrid;
10
+ }
@@ -0,0 +1,9 @@
1
+ import { NgxInfiniteGridComponent } from '../ngx-infinitegrid.component';
2
+ import { MasonryInfiniteGrid as VanillaMasonryInfiniteGrid, MasonryInfiniteGridOptions } from "@egjs/infinitegrid";
3
+ export declare class NgxMasonryInfiniteGridComponent extends NgxInfiniteGridComponent implements Required<MasonryInfiniteGridOptions> {
4
+ static GridClass: typeof VanillaMasonryInfiniteGrid;
5
+ column: Required<MasonryInfiniteGridOptions>['column'];
6
+ columnSize: Required<MasonryInfiniteGridOptions>['columnSize'];
7
+ columnSizeRatio: Required<MasonryInfiniteGridOptions>['columnSizeRatio'];
8
+ align: Required<MasonryInfiniteGridOptions>['align'];
9
+ }
@@ -0,0 +1,9 @@
1
+ import { NgxInfiniteGridComponent } from '../ngx-infinitegrid.component';
2
+ import { PackingInfiniteGrid as VanillaPackingInfiniteGrid, PackingInfiniteGridOptions } from "@egjs/infinitegrid";
3
+ export declare class NgxPackingInfiniteGridComponent extends NgxInfiniteGridComponent implements Required<PackingInfiniteGridOptions> {
4
+ aspectRatio: Required<PackingInfiniteGridOptions>['aspectRatio'];
5
+ sizeWeight: Required<PackingInfiniteGridOptions>['sizeWeight'];
6
+ ratioWeight: Required<PackingInfiniteGridOptions>['ratioWeight'];
7
+ weightPriority: Required<PackingInfiniteGridOptions>['weightPriority'];
8
+ static GridClass: typeof VanillaPackingInfiniteGrid;
9
+ }
@@ -1,41 +1,62 @@
1
- import { OnInit, ElementRef, EventEmitter, OnDestroy, OnChanges, AfterViewInit, AfterViewChecked } from '@angular/core';
2
- import { ILayout, IItem, IInfiniteGridStatus, IInfiniteGridOptions } from '@egjs/infinitegrid';
3
- import NgxinfiniteGridInterface from './ngx-infinitegrid.interface';
4
- export declare class NgxInfiniteGridComponent extends NgxinfiniteGridInterface implements OnInit, AfterViewInit, AfterViewChecked, OnDestroy, OnChanges {
5
- elRef: ElementRef;
6
- trackBy: ((index: number, item: any) => any);
7
- groupBy: ((index: number, item: any) => any);
8
- items: IItem[];
9
- status: IInfiniteGridStatus;
10
- loading: HTMLElement;
11
- useFirstRender: boolean;
12
- layoutType: new () => ILayout;
13
- options: Partial<IInfiniteGridOptions>;
14
- layoutOptions: Partial<ILayout['options']>;
15
- append: EventEmitter<any>;
16
- prepend: EventEmitter<any>;
17
- imageError: EventEmitter<any>;
18
- contentError: EventEmitter<any>;
19
- change: EventEmitter<any>;
20
- layoutComplete: EventEmitter<any>;
21
- visibleChange: EventEmitter<any>;
22
- render: EventEmitter<any>;
23
- wrapperRef: ElementRef;
24
- containerRef: ElementRef;
25
- visibleItems: IItem[];
26
- private layoutState;
27
- private isChange;
28
- private visibleDiffer;
29
- private nextFunction;
30
- constructor(elRef: ElementRef);
1
+ /**
2
+ * egjs-infinitegrid
3
+ * Copyright (c) 2021-present NAVER Corp.
4
+ * MIT license
5
+ */
6
+ import { AfterViewChecked, AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, ChangeDetectorRef } from '@angular/core';
7
+ import { InfiniteGridFunction, InfiniteGridItem, InfiniteGridOptions, OnContentError, OnRenderComplete, OnRequestAppend, OnRequestPrepend, OnChangeScroll } from '@egjs/infinitegrid';
8
+ import { NgxInfiniteGridInterface } from './ngx-infinitegrid.interface';
9
+ import { NgxInfiniteGridProps } from './types';
10
+ export declare class NgxInfiniteGridComponent extends NgxInfiniteGridInterface implements Required<InfiniteGridOptions>, NgxInfiniteGridProps, AfterViewInit, AfterViewChecked, OnChanges, OnDestroy {
11
+ protected elementRef: ElementRef;
12
+ private _detectorRef;
13
+ private _platform;
14
+ static GridClass: InfiniteGridFunction;
15
+ gridConstructor: NgxInfiniteGridProps['gridConstructor'];
16
+ renderer: NgxInfiniteGridProps['renderer'];
17
+ container: NgxInfiniteGridProps['container'];
18
+ containerTag: NgxInfiniteGridProps['containerTag'];
19
+ threshold: NgxInfiniteGridProps['threshold'];
20
+ useRecycle: NgxInfiniteGridProps['useRecycle'];
21
+ horizontal: NgxInfiniteGridProps['horizontal'];
22
+ percentage: NgxInfiniteGridProps['percentage'];
23
+ isEqualSize: NgxInfiniteGridProps['isEqualSize'];
24
+ isConstantSize: NgxInfiniteGridProps['isConstantSize'];
25
+ gap: NgxInfiniteGridProps['gap'];
26
+ attributePrefix: NgxInfiniteGridProps['attributePrefix'];
27
+ resizeDebounce: NgxInfiniteGridProps['resizeDebounce'];
28
+ maxResizeDebounce: NgxInfiniteGridProps['maxResizeDebounce'];
29
+ autoResize: NgxInfiniteGridProps['autoResize'];
30
+ useFit: NgxInfiniteGridProps['useFit'];
31
+ useTransform: NgxInfiniteGridProps['useTransform'];
32
+ renderOnPropertyChange: NgxInfiniteGridProps['renderOnPropertyChange'];
33
+ preserveUIOnDestroy: NgxInfiniteGridProps['preserveUIOnDestroy'];
34
+ defaultDirection: NgxInfiniteGridProps['defaultDirection'];
35
+ externalItemRenderer: NgxInfiniteGridProps['externalItemRenderer'];
36
+ externalContainerManager: NgxInfiniteGridProps['externalContainerManager'];
37
+ usePlaceholder: NgxInfiniteGridProps['useFirstRender'];
38
+ useLoading: NgxInfiniteGridProps['useLoading'];
39
+ status: NgxInfiniteGridProps['status'];
40
+ useFirstRender: NgxInfiniteGridProps['useFirstRender'];
41
+ items: NgxInfiniteGridProps['items'];
42
+ trackBy: NgxInfiniteGridProps['trackBy'];
43
+ groupBy: NgxInfiniteGridProps['groupBy'];
44
+ renderComplete: EventEmitter<OnRenderComplete>;
45
+ contentError: EventEmitter<OnContentError>;
46
+ changeScroll: EventEmitter<OnChangeScroll>;
47
+ requestAppend: EventEmitter<OnRequestAppend>;
48
+ requestPrepend: EventEmitter<OnRequestPrepend>;
49
+ visibleItems: InfiniteGridItem[];
50
+ _wrapperRef: ElementRef;
51
+ _containerRef: ElementRef;
52
+ private _renderer;
53
+ private _isChange;
54
+ constructor(elementRef: ElementRef, _detectorRef: ChangeDetectorRef, _platform: Object);
31
55
  ngOnInit(): void;
32
- ngOnChanges(changes: any): void;
33
- ngAfterViewChecked(): void;
56
+ ngOnChanges(): void;
34
57
  ngAfterViewInit(): void;
35
- setStatus: (status: IInfiniteGridStatus, applyScrollPos?: boolean, syncElements?: HTMLElement[]) => NgxInfiniteGridComponent;
58
+ ngAfterViewChecked(): void;
36
59
  ngOnDestroy(): void;
37
- private getElements;
38
- private getVisibleItems;
39
- private toItems;
40
- private updateVisibleItems;
60
+ private _getItemInfos;
61
+ private _updateVisibleChildren;
41
62
  }
@@ -1,8 +1,12 @@
1
- import NativeInfiniteGrid from '@egjs/infinitegrid';
2
- import { InfiniteGridType } from './types';
1
+ /**
2
+ * egjs-infinitegrid
3
+ * Copyright (c) 2021-present NAVER Corp.
4
+ * MIT license
5
+ */
6
+ import VanillaInfiniteGrid, { InfiniteGridMethods } from '@egjs/infinitegrid';
3
7
  import { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';
4
- export default class NgxInfiniteGridInterface {
5
- protected ig: NativeInfiniteGrid;
8
+ export declare class NgxInfiniteGridInterface {
9
+ protected vanillaGrid: VanillaInfiniteGrid;
6
10
  }
7
- export default interface NgxInfiniteGridInterface extends InfiniteGridType<NgxInfiniteGridComponent> {
11
+ export interface NgxInfiniteGridInterface extends InfiniteGridMethods<NgxInfiniteGridComponent> {
8
12
  }
@@ -1,3 +1,3 @@
1
- export declare class NgxInfiniteGridService {
1
+ export declare class NgxInfinitegridService {
2
2
  constructor();
3
3
  }
package/lib/types.d.ts CHANGED
@@ -1,5 +1,19 @@
1
- import NativeInfiniteGrid, { InfiniteGridMethods } from '@egjs/infinitegrid';
2
- export declare type ParametersType<T, R> = T extends (...params: infer U) => any ? (...params: U) => R : never;
3
- export declare type InfiniteGridType<T> = {
4
- [key in keyof InfiniteGridMethods]: InfiniteGridMethods[key] extends (...params: any[]) => NativeInfiniteGrid ? ParametersType<InfiniteGridMethods[key], T> : InfiniteGridMethods[key];
1
+ /**
2
+ * egjs-infinitegrid
3
+ * Copyright (c) 2021-present NAVER Corp.
4
+ * MIT license
5
+ */
6
+ import { EventEmitter } from "@angular/core";
7
+ import { InfiniteGridEvents, InfiniteGridOptions, InfiniteGridStatus } from "@egjs/infinitegrid";
8
+ export declare type NgxInfiniteGridEvents = {
9
+ [key in keyof InfiniteGridEvents]: EventEmitter<InfiniteGridEvents[key]>;
5
10
  };
11
+ export interface NgxInfiniteGridProps extends NgxInfiniteGridEvents, Required<InfiniteGridOptions> {
12
+ usePlaceholder: boolean;
13
+ useLoading: boolean;
14
+ useFirstRender: boolean;
15
+ status: InfiniteGridStatus;
16
+ items: any[];
17
+ trackBy: (index: number, item: any) => any;
18
+ groupBy: (index: number, item: any) => any;
19
+ }
package/package.json CHANGED
@@ -1,33 +1,36 @@
1
1
  {
2
2
  "name": "@egjs/ngx-infinitegrid",
3
- "version": "3.2.5",
4
- "description": "An Angular component that can easily use egjs-infinitegrid",
3
+ "version": "4.1.2-beta.0",
4
+ "description": "An Angular component that can arrange items infinitely according to the type of grids",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/naver/egjs-infinitegrid/tree/master/packages/ngx-infinitegrid"
8
+ },
5
9
  "author": {
6
10
  "name": "NAVER Corp."
7
11
  },
8
- "license": "MIT",
9
- "homepage": "https://github.com/naver/egjs-infinitegrid",
10
- "repository": {
11
- "type": "git",
12
- "url": "https://github.com/naver/egjs-infinitegrid"
12
+ "namespace": {
13
+ "eg": "eg"
13
14
  },
15
+ "homepage": "https://naver.github.io/egjs-infinitegrid/",
16
+ "bugs": {
17
+ "url": "https://github.com/naver/egjs-infinitegrid/issues"
18
+ },
19
+ "license": "MIT",
14
20
  "peerDependencies": {
15
- "@angular/common": "^8.0.3",
16
- "@angular/core": "^8.0.3"
21
+ "@angular/common": "^11.2.14",
22
+ "@angular/core": "^11.2.14"
17
23
  },
18
24
  "dependencies": {
19
- "@egjs/infinitegrid": "~3.8.4",
20
- "@egjs/list-differ": "^1.0.0",
21
- "tslib": "^1.9.0"
25
+ "@egjs/infinitegrid": "~4.1.1",
26
+ "tslib": "^2.0.0"
22
27
  },
23
28
  "main": "bundles/egjs-ngx-infinitegrid.umd.js",
24
- "module": "fesm5/egjs-ngx-infinitegrid.js",
29
+ "module": "fesm2015/egjs-ngx-infinitegrid.js",
25
30
  "es2015": "fesm2015/egjs-ngx-infinitegrid.js",
26
- "esm5": "esm5/egjs-ngx-infinitegrid.js",
27
31
  "esm2015": "esm2015/egjs-ngx-infinitegrid.js",
28
- "fesm5": "fesm5/egjs-ngx-infinitegrid.js",
29
32
  "fesm2015": "fesm2015/egjs-ngx-infinitegrid.js",
30
33
  "typings": "egjs-ngx-infinitegrid.d.ts",
31
34
  "metadata": "egjs-ngx-infinitegrid.metadata.json",
32
35
  "sideEffects": false
33
- }
36
+ }
package/public-api.d.ts CHANGED
@@ -1,8 +1,4 @@
1
1
  export * from './lib/ngx-infinitegrid.service';
2
+ export * from './lib/grids/ngx-masonry-infinitegrid.component';
2
3
  export * from './lib/ngx-infinitegrid.component';
3
- export * from './lib/ngx-gridlayout.component';
4
- export * from './lib/ngx-justifiedlayout.component';
5
- export * from './lib/ngx-squarelayout.component';
6
- export * from './lib/ngx-framelayout.component';
7
- export * from './lib/ngx-packinglayout.component';
8
4
  export * from './lib/ngx-infinitegrid.module';
@@ -1,28 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';
6
- import { Component, Input } from '@angular/core';
7
- import { TEMPLATE } from './consts';
8
- import { FrameLayout } from '@egjs/infinitegrid';
9
- export class NgxFrameLayoutComponent extends NgxInfiniteGridComponent {
10
- constructor() {
11
- super(...arguments);
12
- this.layoutType = FrameLayout;
13
- }
14
- }
15
- NgxFrameLayoutComponent.decorators = [
16
- { type: Component, args: [{
17
- selector: 'ngx-framelayout, [NgxFrameLayout]',
18
- template: TEMPLATE
19
- }] }
20
- ];
21
- NgxFrameLayoutComponent.propDecorators = {
22
- layoutType: [{ type: Input }]
23
- };
24
- if (false) {
25
- /** @type {?} */
26
- NgxFrameLayoutComponent.prototype.layoutType;
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZyYW1lbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlZ2pzL25neC1pbmZpbml0ZWdyaWQvIiwic291cmNlcyI6WyJsaWIvbmd4LWZyYW1lbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLHdCQUF3QixFQUN6QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFXLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBUzFELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx3QkFBd0I7SUFMckU7O1FBTWtCLGVBQVUsR0FBc0IsV0FBVyxDQUFDO0lBQzlELENBQUM7OztZQVBBLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUNBQW1DO2dCQUM3QyxRQUFRLEVBQUUsUUFBUTthQUVuQjs7O3lCQUVFLEtBQUs7Ozs7SUFBTiw2Q0FBNEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBOZ3hJbmZpbml0ZUdyaWRDb21wb25lbnRcbn0gZnJvbSAnLi9uZ3gtaW5maW5pdGVncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBURU1QTEFURSB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IElMYXlvdXQsIEZyYW1lTGF5b3V0IH0gZnJvbSAnQGVnanMvaW5maW5pdGVncmlkJztcblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1mcmFtZWxheW91dCwgW05neEZyYW1lTGF5b3V0XScsXG4gIHRlbXBsYXRlOiBURU1QTEFURSxcbiAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hGcmFtZUxheW91dENvbXBvbmVudCBleHRlbmRzIE5neEluZmluaXRlR3JpZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXlvdXRUeXBlOiBuZXcgKCkgPT4gSUxheW91dCA9IEZyYW1lTGF5b3V0O1xufVxuIl19
@@ -1,28 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';
6
- import { Component, Input } from '@angular/core';
7
- import { TEMPLATE } from './consts';
8
- import { GridLayout } from '@egjs/infinitegrid';
9
- export class NgxGridLayoutComponent extends NgxInfiniteGridComponent {
10
- constructor() {
11
- super(...arguments);
12
- this.layoutType = GridLayout;
13
- }
14
- }
15
- NgxGridLayoutComponent.decorators = [
16
- { type: Component, args: [{
17
- selector: 'ngx-gridlayout, [NgxGridLayout]',
18
- template: TEMPLATE
19
- }] }
20
- ];
21
- NgxGridLayoutComponent.propDecorators = {
22
- layoutType: [{ type: Input }]
23
- };
24
- if (false) {
25
- /** @type {?} */
26
- NgxGridLayoutComponent.prototype.layoutType;
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdyaWRsYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVnanMvbmd4LWluZmluaXRlZ3JpZC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtZ3JpZGxheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFDekIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBVyxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQVN6RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsd0JBQXdCO0lBTHBFOztRQU1rQixlQUFVLEdBQXNCLFVBQVUsQ0FBQztJQUM3RCxDQUFDOzs7WUFQQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MsUUFBUSxFQUFFLFFBQVE7YUFFbkI7Ozt5QkFFRSxLQUFLOzs7O0lBQU4sNENBQTJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmd4SW5maW5pdGVHcmlkQ29tcG9uZW50XG59IGZyb20gJy4vbmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVEVNUExBVEUgfSBmcm9tICcuL2NvbnN0cyc7XG5pbXBvcnQgeyBJTGF5b3V0LCBHcmlkTGF5b3V0IH0gZnJvbSAnQGVnanMvaW5maW5pdGVncmlkJztcblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1ncmlkbGF5b3V0LCBbTmd4R3JpZExheW91dF0nLFxuICB0ZW1wbGF0ZTogVEVNUExBVEUsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgTmd4R3JpZExheW91dENvbXBvbmVudCBleHRlbmRzIE5neEluZmluaXRlR3JpZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXlvdXRUeXBlOiBuZXcgKCkgPT4gSUxheW91dCA9IEdyaWRMYXlvdXQ7XG59XG4iXX0=
@@ -1,28 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { NgxInfiniteGridComponent } from "./ngx-infinitegrid.component";
6
- import { Component, Input } from '@angular/core';
7
- import { TEMPLATE } from './consts';
8
- import { JustifiedLayout } from '@egjs/infinitegrid';
9
- export class NgxJustifiedLayoutComponent extends NgxInfiniteGridComponent {
10
- constructor() {
11
- super(...arguments);
12
- this.layoutType = JustifiedLayout;
13
- }
14
- }
15
- NgxJustifiedLayoutComponent.decorators = [
16
- { type: Component, args: [{
17
- selector: 'ngx-justifiedlayout, [NgxJustifiedLayout]',
18
- template: TEMPLATE
19
- }] }
20
- ];
21
- NgxJustifiedLayoutComponent.propDecorators = {
22
- layoutType: [{ type: Input }]
23
- };
24
- if (false) {
25
- /** @type {?} */
26
- NgxJustifiedLayoutComponent.prototype.layoutType;
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWp1c3RpZmllZGxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZWdqcy9uZ3gtaW5maW5pdGVncmlkLyIsInNvdXJjZXMiOlsibGliL25neC1qdXN0aWZpZWRsYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3pCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQVcsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFTOUQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHdCQUF3QjtJQUx6RTs7UUFNa0IsZUFBVSxHQUFzQixlQUFlLENBQUM7SUFDbEUsQ0FBQzs7O1lBUEEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQ0FBMkM7Z0JBQ3JELFFBQVEsRUFBRSxRQUFRO2FBRW5COzs7eUJBRUUsS0FBSzs7OztJQUFOLGlEQUFnRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE5neEluZmluaXRlR3JpZENvbXBvbmVudFxufSBmcm9tIFwiLi9uZ3gtaW5maW5pdGVncmlkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVEVNUExBVEUgfSBmcm9tICcuL2NvbnN0cyc7XG5pbXBvcnQgeyBJTGF5b3V0LCBKdXN0aWZpZWRMYXlvdXQgfSBmcm9tICdAZWdqcy9pbmZpbml0ZWdyaWQnO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LWp1c3RpZmllZGxheW91dCwgW05neEp1c3RpZmllZExheW91dF0nLFxuICB0ZW1wbGF0ZTogVEVNUExBVEUsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgTmd4SnVzdGlmaWVkTGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgTmd4SW5maW5pdGVHcmlkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIGxheW91dFR5cGU6IG5ldyAoKSA9PiBJTGF5b3V0ID0gSnVzdGlmaWVkTGF5b3V0O1xufVxuIl19
@@ -1,28 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';
6
- import { Component, Input } from '@angular/core';
7
- import { TEMPLATE } from './consts';
8
- import { PackingLayout } from '@egjs/infinitegrid';
9
- export class NgxPackingLayoutComponent extends NgxInfiniteGridComponent {
10
- constructor() {
11
- super(...arguments);
12
- this.layoutType = PackingLayout;
13
- }
14
- }
15
- NgxPackingLayoutComponent.decorators = [
16
- { type: Component, args: [{
17
- selector: 'ngx-packinglayout, [NgxPackingLayout]',
18
- template: TEMPLATE
19
- }] }
20
- ];
21
- NgxPackingLayoutComponent.propDecorators = {
22
- layoutType: [{ type: Input }]
23
- };
24
- if (false) {
25
- /** @type {?} */
26
- NgxPackingLayoutComponent.prototype.layoutType;
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBhY2tpbmdsYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVnanMvbmd4LWluZmluaXRlZ3JpZC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtcGFja2luZ2xheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFDekIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBVyxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQVE1RCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsd0JBQXdCO0lBTHZFOztRQU1rQixlQUFVLEdBQXNCLGFBQWEsQ0FBQztJQUNoRSxDQUFDOzs7WUFQQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVDQUF1QztnQkFDakQsUUFBUSxFQUFFLFFBQVE7YUFFbkI7Ozt5QkFFRSxLQUFLOzs7O0lBQU4sK0NBQThEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmd4SW5maW5pdGVHcmlkQ29tcG9uZW50XG59IGZyb20gJy4vbmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVEVNUExBVEUgfSBmcm9tICcuL2NvbnN0cyc7XG5pbXBvcnQgeyBJTGF5b3V0LCBQYWNraW5nTGF5b3V0IH0gZnJvbSAnQGVnanMvaW5maW5pdGVncmlkJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtcGFja2luZ2xheW91dCwgW05neFBhY2tpbmdMYXlvdXRdJyxcbiAgdGVtcGxhdGU6IFRFTVBMQVRFLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIE5neFBhY2tpbmdMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBOZ3hJbmZpbml0ZUdyaWRDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgbGF5b3V0VHlwZTogbmV3ICgpID0+IElMYXlvdXQgPSBQYWNraW5nTGF5b3V0O1xufVxuIl19
@@ -1,28 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';
6
- import { Component, Input } from '@angular/core';
7
- import { TEMPLATE } from './consts';
8
- import { SquareLayout } from '@egjs/infinitegrid';
9
- export class NgxSquareLayoutComponent extends NgxInfiniteGridComponent {
10
- constructor() {
11
- super(...arguments);
12
- this.layoutType = SquareLayout;
13
- }
14
- }
15
- NgxSquareLayoutComponent.decorators = [
16
- { type: Component, args: [{
17
- selector: 'ngx-squarelayout, [NgxSquareLayout]',
18
- template: TEMPLATE
19
- }] }
20
- ];
21
- NgxSquareLayoutComponent.propDecorators = {
22
- layoutType: [{ type: Input }]
23
- };
24
- if (false) {
25
- /** @type {?} */
26
- NgxSquareLayoutComponent.prototype.layoutType;
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNxdWFyZWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZWdqcy9uZ3gtaW5maW5pdGVncmlkLyIsInNvdXJjZXMiOlsibGliL25neC1zcXVhcmVsYXlvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3pCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFTM0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHdCQUF3QjtJQUx0RTs7UUFNa0IsZUFBVSxHQUFzQixZQUFZLENBQUM7SUFDL0QsQ0FBQzs7O1lBUEEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLFFBQVEsRUFBRSxRQUFRO2FBRW5COzs7eUJBRUUsS0FBSzs7OztJQUFOLDhDQUE2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE5neEluZmluaXRlR3JpZENvbXBvbmVudFxufSBmcm9tICcuL25neC1pbmZpbml0ZWdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRFTVBMQVRFIH0gZnJvbSAnLi9jb25zdHMnO1xuaW1wb3J0IHsgSUxheW91dCwgU3F1YXJlTGF5b3V0IH0gZnJvbSAnQGVnanMvaW5maW5pdGVncmlkJztcblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1zcXVhcmVsYXlvdXQsIFtOZ3hTcXVhcmVMYXlvdXRdJyxcbiAgdGVtcGxhdGU6IFRFTVBMQVRFLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIE5neFNxdWFyZUxheW91dENvbXBvbmVudCBleHRlbmRzIE5neEluZmluaXRlR3JpZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXlvdXRUeXBlOiBuZXcgKCkgPT4gSUxheW91dCA9IFNxdWFyZUxheW91dDtcbn1cbiJdfQ==
@@ -1,10 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * Generated bundle index. Do not edit.
7
- */
8
- export { NgxInfiniteGridService, NgxInfiniteGridComponent, NgxGridLayoutComponent, NgxJustifiedLayoutComponent, NgxSquareLayoutComponent, NgxFrameLayoutComponent, NgxPackingLayoutComponent, NgxInfiniteGridModule } from './public-api';
9
- export { TEMPLATE as ɵa } from './lib/consts';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWdqcy1uZ3gtaW5maW5pdGVncmlkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVnanMvbmd4LWluZmluaXRlZ3JpZC8iLCJzb3VyY2VzIjpbImVnanMtbmd4LWluZmluaXRlZ3JpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsMk5BQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxRQUFRLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge1RFTVBMQVRFIGFzIMm1YX0gZnJvbSAnLi9saWIvY29uc3RzJzsiXX0=
@@ -1,8 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { CONTAINER_CLASSNAME } from '@egjs/infinitegrid';
6
- /** @type {?} */
7
- export var TEMPLATE = "\n <ng-template #content><ng-content></ng-content></ng-template>\n <ng-template #viewer>\n <ng-template [ngIf]=\"options.isOverflowScroll\" [ngIfElse]=\"noContainer\">\n <div class=\"" + CONTAINER_CLASSNAME + "\" #container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n </ng-template>\n <ng-template [ngIf]=\"elRef.nativeElement.tagName==='NGX-INFINITEGRID'\" [ngIfElse]=\"noWrapper\">\n <div #wrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </div>\n </ng-template>\n <ng-template #noWrapper>\n <ng-container *ngTemplateOutlet=\"viewer\"></ng-container>\n </ng-template>\n ";
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVnanMvbmd4LWluZmluaXRlZ3JpZC8iLCJzb3VyY2VzIjpbImxpYi9jb25zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUV6RCxNQUFNLEtBQU8sUUFBUSxHQUFHLHNNQUlKLG1CQUFtQiwra0JBZ0JwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENPTlRBSU5FUl9DTEFTU05BTUUgfSBmcm9tICdAZWdqcy9pbmZpbml0ZWdyaWQnO1xuXG5leHBvcnQgY29uc3QgVEVNUExBVEUgPSBgXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICN2aWV3ZXI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIm9wdGlvbnMuaXNPdmVyZmxvd1Njcm9sbFwiIFtuZ0lmRWxzZV09XCJub0NvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIiR7Q09OVEFJTkVSX0NMQVNTTkFNRX1cIiAjY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI25vQ29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwiZWxSZWYubmF0aXZlRWxlbWVudC50YWdOYW1lPT09J05HWC1JTkZJTklURUdSSUQnXCIgW25nSWZFbHNlXT1cIm5vV3JhcHBlclwiPlxuICAgIDxkaXYgI3dyYXBwZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmlld2VyXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjbm9XcmFwcGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2aWV3ZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgYDtcbiJdfQ==
@@ -1,33 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';
7
- import { Component, Input } from '@angular/core';
8
- import { TEMPLATE } from './consts';
9
- import { FrameLayout } from '@egjs/infinitegrid';
10
- var NgxFrameLayoutComponent = /** @class */ (function (_super) {
11
- tslib_1.__extends(NgxFrameLayoutComponent, _super);
12
- function NgxFrameLayoutComponent() {
13
- var _this = _super !== null && _super.apply(this, arguments) || this;
14
- _this.layoutType = FrameLayout;
15
- return _this;
16
- }
17
- NgxFrameLayoutComponent.decorators = [
18
- { type: Component, args: [{
19
- selector: 'ngx-framelayout, [NgxFrameLayout]',
20
- template: TEMPLATE
21
- }] }
22
- ];
23
- NgxFrameLayoutComponent.propDecorators = {
24
- layoutType: [{ type: Input }]
25
- };
26
- return NgxFrameLayoutComponent;
27
- }(NgxInfiniteGridComponent));
28
- export { NgxFrameLayoutComponent };
29
- if (false) {
30
- /** @type {?} */
31
- NgxFrameLayoutComponent.prototype.layoutType;
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZyYW1lbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlZ2pzL25neC1pbmZpbml0ZWdyaWQvIiwic291cmNlcyI6WyJsaWIvbmd4LWZyYW1lbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFDekIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBVyxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUkxRDtJQUs2QyxtREFBd0I7SUFMckU7UUFBQSxxRUFPQztRQURpQixnQkFBVSxHQUFzQixXQUFXLENBQUM7O0lBQzlELENBQUM7O2dCQVBBLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsbUNBQW1DO29CQUM3QyxRQUFRLEVBQUUsUUFBUTtpQkFFbkI7Ozs2QkFFRSxLQUFLOztJQUNSLDhCQUFDO0NBQUEsQUFQRCxDQUs2Qyx3QkFBd0IsR0FFcEU7U0FGWSx1QkFBdUI7OztJQUNsQyw2Q0FBNEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBOZ3hJbmZpbml0ZUdyaWRDb21wb25lbnRcbn0gZnJvbSAnLi9uZ3gtaW5maW5pdGVncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBURU1QTEFURSB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IElMYXlvdXQsIEZyYW1lTGF5b3V0IH0gZnJvbSAnQGVnanMvaW5maW5pdGVncmlkJztcblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1mcmFtZWxheW91dCwgW05neEZyYW1lTGF5b3V0XScsXG4gIHRlbXBsYXRlOiBURU1QTEFURSxcbiAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hGcmFtZUxheW91dENvbXBvbmVudCBleHRlbmRzIE5neEluZmluaXRlR3JpZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXlvdXRUeXBlOiBuZXcgKCkgPT4gSUxheW91dCA9IEZyYW1lTGF5b3V0O1xufVxuIl19
@@ -1,33 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { NgxInfiniteGridComponent } from './ngx-infinitegrid.component';
7
- import { Component, Input } from '@angular/core';
8
- import { TEMPLATE } from './consts';
9
- import { GridLayout } from '@egjs/infinitegrid';
10
- var NgxGridLayoutComponent = /** @class */ (function (_super) {
11
- tslib_1.__extends(NgxGridLayoutComponent, _super);
12
- function NgxGridLayoutComponent() {
13
- var _this = _super !== null && _super.apply(this, arguments) || this;
14
- _this.layoutType = GridLayout;
15
- return _this;
16
- }
17
- NgxGridLayoutComponent.decorators = [
18
- { type: Component, args: [{
19
- selector: 'ngx-gridlayout, [NgxGridLayout]',
20
- template: TEMPLATE
21
- }] }
22
- ];
23
- NgxGridLayoutComponent.propDecorators = {
24
- layoutType: [{ type: Input }]
25
- };
26
- return NgxGridLayoutComponent;
27
- }(NgxInfiniteGridComponent));
28
- export { NgxGridLayoutComponent };
29
- if (false) {
30
- /** @type {?} */
31
- NgxGridLayoutComponent.prototype.layoutType;
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdyaWRsYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGVnanMvbmd4LWluZmluaXRlZ3JpZC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtZ3JpZGxheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3pCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQVcsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJekQ7SUFLNEMsa0RBQXdCO0lBTHBFO1FBQUEscUVBT0M7UUFEaUIsZ0JBQVUsR0FBc0IsVUFBVSxDQUFDOztJQUM3RCxDQUFDOztnQkFQQSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsUUFBUSxFQUFFLFFBQVE7aUJBRW5COzs7NkJBRUUsS0FBSzs7SUFDUiw2QkFBQztDQUFBLEFBUEQsQ0FLNEMsd0JBQXdCLEdBRW5FO1NBRlksc0JBQXNCOzs7SUFDakMsNENBQTJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmd4SW5maW5pdGVHcmlkQ29tcG9uZW50XG59IGZyb20gJy4vbmd4LWluZmluaXRlZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVEVNUExBVEUgfSBmcm9tICcuL2NvbnN0cyc7XG5pbXBvcnQgeyBJTGF5b3V0LCBHcmlkTGF5b3V0IH0gZnJvbSAnQGVnanMvaW5maW5pdGVncmlkJztcblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1ncmlkbGF5b3V0LCBbTmd4R3JpZExheW91dF0nLFxuICB0ZW1wbGF0ZTogVEVNUExBVEUsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgTmd4R3JpZExheW91dENvbXBvbmVudCBleHRlbmRzIE5neEluZmluaXRlR3JpZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXlvdXRUeXBlOiBuZXcgKCkgPT4gSUxheW91dCA9IEdyaWRMYXlvdXQ7XG59XG4iXX0=