Skip to content

Commit 6a604bc

Browse files
committed
chore: Release 4.13.0
1 parent fcd722f commit 6a604bc

93 files changed

Lines changed: 11368 additions & 50 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,31 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
## [4.13.0](https://github.com/naver/egjs-infinitegrid/compare/4.12.0...4.13.0) (2025-12-29)
7+
### :sparkles: Packages
8+
* `@egjs/infinitegrid` 4.13.0
9+
* `@egjs/react-infinitegrid` 4.13.0
10+
* `@egjs/svelte-infinitegrid` 4.13.0
11+
* `@egjs/vue-infinitegrid` 4.13.0
12+
* `@egjs/vue3-infinitegrid` 4.13.0
13+
* `@egjs/ngx-infinitegrid` 4.13.0
14+
15+
16+
### :rocket: New Features
17+
18+
* `@egjs/infinitegrid`
19+
* add useDetachedRecycle option, fix loading state, offset (#585) ([91d0c07](https://github.com/naver/egjs-infinitegrid/commit/91d0c070fe29d07068120c2dd57166129914f1db))
20+
21+
22+
### :bug: Bug Fix
23+
24+
* `@egjs/vue3-infinitegrid`, `@egjs/infinitegrid`
25+
* scroll manager resize for relative scroll pos (#588) ([fcd722f](https://github.com/naver/egjs-infinitegrid/commit/fcd722fc2871312b3f9dade57031da2abefd334e))
26+
* Other
27+
* fix gh-pages yml ([eb6d533](https://github.com/naver/egjs-infinitegrid/commit/eb6d533a4c6983d37fe0fbefc37f03f2dd4ae021))
28+
29+
30+
631
## [4.12.0](https://github.com/naver/egjs-infinitegrid/compare/4.11.1...4.12.0) (2024-07-02)
732
### :sparkles: Packages
833
* `@egjs/infinitegrid` 4.12.0

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"changelog": "lerna-helper changelog --type all --base @egjs/infinitegrid",
1010
"docs:build": "jsdoc-to-mdx -c ./jsdoc-to-mdx.json",
1111
"docs:version": "node ./config/docs-version-up",
12-
"demo:build": "npm run docs:build && npm run docs:version && npm run build --prefix packages/docs && npm run build:storybook --prefix packages/infinitegrid",
12+
"demo:build": "npm run docs:build && npm run docs:version && npm run build --prefix packages/docs",
1313
"demo:deploy": "gh-pages -d ./demo --dest=./ --add --remote upstream",
1414
"deploy": "lerna-helper deploy --base @egjs/infinitegrid --remote upstream",
1515
"release": "lerna-helper release --base @egjs/infinitegrid --remote upstream --branch master"

packages/docs/docs/api/FrameInfiniteGrid.mdx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class FrameInfiniteGrid
1414

1515
<div className="container">
1616
<div className="row mb-2"><div className="col col--6"><strong>Methods</strong></div><div className="col col--6"><strong>Events</strong></div></div>
17-
<div className="row"><div className="col col--6"><a href="#renderItems">renderItems</a><br/><a href="#getWrapperElement">getWrapperElement</a><br/><a href="#getScrollContainerElement">getScrollContainerElement</a><br/><a href="#getContainerElement">getContainerElement</a><br/><a href="#syncItems">syncItems</a><br/><a href="#setCursors">setCursors</a><br/><a href="#getStartCursor">getStartCursor</a><br/><a href="#getEndCursor">getEndCursor</a><br/><a href="#append">append</a><br/><a href="#prepend">prepend</a><br/><a href="#insert">insert</a><br/><a href="#insertByGroupIndex">insertByGroupIndex</a><br/><a href="#getStatus">getStatus</a><br/><a href="#setPlaceholder">setPlaceholder</a><br/><a href="#setLoading">setLoading</a><br/><a href="#appendPlaceholders">appendPlaceholders</a><br/><a href="#prependPlaceholders">prependPlaceholders</a><br/><a href="#removePlaceholders">removePlaceholders</a><br/><a href="#setStatus">setStatus</a><br/><a href="#removeGroupByIndex">removeGroupByIndex</a><br/><a href="#removeGroupByKey">removeGroupByKey</a><br/><a href="#removeByIndex">removeByIndex</a><br/><a href="#removeByKey">removeByKey</a><br/><a href="#updateItems">updateItems</a><br/><a href="#getItems">getItems</a><br/><a href="#getVisibleItems">getVisibleItems</a><br/><a href="#getRenderingItems">getRenderingItems</a><br/><a href="#getGroups">getGroups</a><br/><a href="#getVisibleGroups">getVisibleGroups</a><br/><a href="#wait">wait</a><br/><a href="#ready">ready</a><br/><a href="#isWait">isWait</a><br/><a href="#destroy">destroy</a><br/><a href="#trigger">trigger</a><br/><a href="#once">once</a><br/><a href="#hasOn">hasOn</a><br/><a href="#on">on</a><br/><a href="#off">off</a></div><div className="col col--6"><a href="#event-changeScroll">changeScroll</a><br/><a href="#event-requestAppend">requestAppend</a><br/><a href="#event-requestPrepend">requestPrepend</a><br/><a href="#event-contentError">contentError</a><br/><a href="#event-renderComplete">renderComplete</a></div></div>
17+
<div className="row"><div className="col col--6"><a href="#renderItems">renderItems</a><br/><a href="#getWrapperElement">getWrapperElement</a><br/><a href="#getScrollContainerElement">getScrollContainerElement</a><br/><a href="#getContainerElement">getContainerElement</a><br/><a href="#syncItems">syncItems</a><br/><a href="#setCursors">setCursors</a><br/><a href="#getStartCursor">getStartCursor</a><br/><a href="#getEndCursor">getEndCursor</a><br/><a href="#append">append</a><br/><a href="#prepend">prepend</a><br/><a href="#insert">insert</a><br/><a href="#insertByGroupIndex">insertByGroupIndex</a><br/><a href="#getStatus">getStatus</a><br/><a href="#setPlaceholder">setPlaceholder</a><br/><a href="#setLoading">setLoading</a><br/><a href="#appendPlaceholders">appendPlaceholders</a><br/><a href="#prependPlaceholders">prependPlaceholders</a><br/><a href="#removePlaceholders">removePlaceholders</a><br/><a href="#setStatus">setStatus</a><br/><a href="#removeGroupByIndex">removeGroupByIndex</a><br/><a href="#removeGroupByKey">removeGroupByKey</a><br/><a href="#removeByIndex">removeByIndex</a><br/><a href="#removeByKey">removeByKey</a><br/><a href="#updateItems">updateItems</a><br/><a href="#getItems">getItems</a><br/><a href="#getVisibleItems">getVisibleItems</a><br/><a href="#getRenderingItems">getRenderingItems</a><br/><a href="#getGroups">getGroups</a><br/><a href="#getVisibleGroups">getVisibleGroups</a><br/><a href="#wait">wait</a><br/><a href="#ready">ready</a><br/><a href="#isWait">isWait</a><br/><a href="#resizeScroll">resizeScroll</a><br/><a href="#destroy">destroy</a><br/><a href="#trigger">trigger</a><br/><a href="#once">once</a><br/><a href="#hasOn">hasOn</a><br/><a href="#on">on</a><br/><a href="#off">off</a></div><div className="col col--6"><a href="#event-changeScroll">changeScroll</a><br/><a href="#event-requestAppend">requestAppend</a><br/><a href="#event-requestPrepend">requestPrepend</a><br/><a href="#event-contentError">contentError</a><br/><a href="#event-renderComplete">renderComplete</a></div></div>
1818
</div>
1919

2020
## constructor
@@ -486,6 +486,14 @@ ig.insertByGroupIndex(4, [HTMLElement1, HTMLElement2]);
486486

487487
<p>Returns whether it is set to wait to request data.</p>
488488

489+
### resizeScroll {#resizeScroll}
490+
491+
<div>
492+
<span className="badge badge--danger">inherited</span>
493+
</div>
494+
495+
<p><ko>scrollOffset(startOffset) 또는 scrollSizescrollPos를 수동으로 업데이트 한다. 변경이 된 경우 스크롤이 발생시킨다.</ko></p>
496+
489497
### destroy {#destroy}
490498

491499
<div>

packages/docs/docs/api/FrameInfiniteGridOptions.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ custom_edit_url: null
5959
|containerTag|string|"div"|<p>If you create a container, you can set the container's tag.</p>|
6060
|threshold|number|100|<p>The size of the scrollable area for adding the next group of items.</p>|
6161
|useRecycle|boolean|true|<p>Whether to show only the DOM of the visible area.</p>|
62+
|useDetachedRecycle|boolean|false|<p>When using <code>useRecycle</code> option, remove elements of invisible items. If you want to improve performance (memory issues), enable it.</p>|
63+
|isReachStart|boolean|false||
64+
|isReachEnd|boolean|false||
6265
|scrollContainer|HTMLElement \| string \| Ref&lt;HTMLElement&gt; \| null||<p>You can set the scrollContainer directly. In this case, the container becomes the wrapper itself.</p>|
6366
|gridConstructor|GridFunction||<p>Grid class to apply Infinite function.</p>|
6467
|appliedItemChecker|(item: InfiniteGridItem, grid: Grid) =&gt; boolean||<p>A function that checks whether non-rendering items are included in the Grid.</p>|

packages/docs/docs/api/InfiniteGrid.mdx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class InfiniteGrid extends Component
1414
1515
<div className="container">
1616
<div className="row mb-2"><div className="col col--6"><strong>Methods</strong></div><div className="col col--6"><strong>Events</strong></div></div>
17-
<div className="row"><div className="col col--6"><a href="#renderItems">renderItems</a><br/><a href="#getWrapperElement">getWrapperElement</a><br/><a href="#getScrollContainerElement">getScrollContainerElement</a><br/><a href="#getContainerElement">getContainerElement</a><br/><a href="#syncItems">syncItems</a><br/><a href="#setCursors">setCursors</a><br/><a href="#getStartCursor">getStartCursor</a><br/><a href="#getEndCursor">getEndCursor</a><br/><a href="#append">append</a><br/><a href="#prepend">prepend</a><br/><a href="#insert">insert</a><br/><a href="#insertByGroupIndex">insertByGroupIndex</a><br/><a href="#getStatus">getStatus</a><br/><a href="#setPlaceholder">setPlaceholder</a><br/><a href="#setLoading">setLoading</a><br/><a href="#appendPlaceholders">appendPlaceholders</a><br/><a href="#prependPlaceholders">prependPlaceholders</a><br/><a href="#removePlaceholders">removePlaceholders</a><br/><a href="#setStatus">setStatus</a><br/><a href="#removeGroupByIndex">removeGroupByIndex</a><br/><a href="#removeGroupByKey">removeGroupByKey</a><br/><a href="#removeByIndex">removeByIndex</a><br/><a href="#removeByKey">removeByKey</a><br/><a href="#updateItems">updateItems</a><br/><a href="#getItems">getItems</a><br/><a href="#getVisibleItems">getVisibleItems</a><br/><a href="#getRenderingItems">getRenderingItems</a><br/><a href="#getGroups">getGroups</a><br/><a href="#getVisibleGroups">getVisibleGroups</a><br/><a href="#wait">wait</a><br/><a href="#ready">ready</a><br/><a href="#isWait">isWait</a><br/><a href="#destroy">destroy</a><br/><a href="#trigger">trigger</a><br/><a href="#once">once</a><br/><a href="#hasOn">hasOn</a><br/><a href="#on">on</a><br/><a href="#off">off</a></div><div className="col col--6"><a href="#event-changeScroll">changeScroll</a><br/><a href="#event-requestAppend">requestAppend</a><br/><a href="#event-requestPrepend">requestPrepend</a><br/><a href="#event-contentError">contentError</a><br/><a href="#event-renderComplete">renderComplete</a></div></div>
17+
<div className="row"><div className="col col--6"><a href="#renderItems">renderItems</a><br/><a href="#getWrapperElement">getWrapperElement</a><br/><a href="#getScrollContainerElement">getScrollContainerElement</a><br/><a href="#getContainerElement">getContainerElement</a><br/><a href="#syncItems">syncItems</a><br/><a href="#setCursors">setCursors</a><br/><a href="#getStartCursor">getStartCursor</a><br/><a href="#getEndCursor">getEndCursor</a><br/><a href="#append">append</a><br/><a href="#prepend">prepend</a><br/><a href="#insert">insert</a><br/><a href="#insertByGroupIndex">insertByGroupIndex</a><br/><a href="#getStatus">getStatus</a><br/><a href="#setPlaceholder">setPlaceholder</a><br/><a href="#setLoading">setLoading</a><br/><a href="#appendPlaceholders">appendPlaceholders</a><br/><a href="#prependPlaceholders">prependPlaceholders</a><br/><a href="#removePlaceholders">removePlaceholders</a><br/><a href="#setStatus">setStatus</a><br/><a href="#removeGroupByIndex">removeGroupByIndex</a><br/><a href="#removeGroupByKey">removeGroupByKey</a><br/><a href="#removeByIndex">removeByIndex</a><br/><a href="#removeByKey">removeByKey</a><br/><a href="#updateItems">updateItems</a><br/><a href="#getItems">getItems</a><br/><a href="#getVisibleItems">getVisibleItems</a><br/><a href="#getRenderingItems">getRenderingItems</a><br/><a href="#getGroups">getGroups</a><br/><a href="#getVisibleGroups">getVisibleGroups</a><br/><a href="#wait">wait</a><br/><a href="#ready">ready</a><br/><a href="#isWait">isWait</a><br/><a href="#resizeScroll">resizeScroll</a><br/><a href="#destroy">destroy</a><br/><a href="#trigger">trigger</a><br/><a href="#once">once</a><br/><a href="#hasOn">hasOn</a><br/><a href="#on">on</a><br/><a href="#off">off</a></div><div className="col col--6"><a href="#event-changeScroll">changeScroll</a><br/><a href="#event-requestAppend">requestAppend</a><br/><a href="#event-requestPrepend">requestPrepend</a><br/><a href="#event-contentError">contentError</a><br/><a href="#event-renderComplete">renderComplete</a></div></div>
1818
</div>
1919
2020
## constructor
@@ -517,6 +517,14 @@ ig.insertByGroupIndex(4, [HTMLElement1, HTMLElement2]);
517517

518518
<p>Returns whether it is set to wait to request data.</p>
519519

520+
### resizeScroll {#resizeScroll}
521+
522+
<div>
523+
524+
</div>
525+
526+
<p><ko>scrollOffset(startOffset) 또는 scrollSize와 scrollPos를 수동으로 업데이트 한다. 변경이 된 경우 스크롤이 발생시킨다.</ko></p>
527+
520528
### destroy {#destroy}
521529

522530
<div>

packages/docs/docs/api/InfiniteGridOptions.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ custom_edit_url: null
3535
|containerTag|string|"div"|<p>If you create a container, you can set the container's tag.</p>|
3636
|threshold|number|100|<p>The size of the scrollable area for adding the next group of items.</p>|
3737
|useRecycle|boolean|true|<p>Whether to show only the DOM of the visible area.</p>|
38+
|useDetachedRecycle|boolean|false|<p>When using <code>useRecycle</code> option, remove elements of invisible items. If you want to improve performance (memory issues), enable it.</p>|
39+
|isReachStart|boolean|false||
40+
|isReachEnd|boolean|false||
3841
|scrollContainer|HTMLElement \| string \| Ref&lt;HTMLElement&gt; \| null||<p>You can set the scrollContainer directly. In this case, the container becomes the wrapper itself.</p>|
3942
|gridConstructor|GridFunction||<p>Grid class to apply Infinite function.</p>|
4043
|appliedItemChecker|(item: InfiniteGridItem, grid: Grid) =&gt; boolean||<p>A function that checks whether non-rendering items are included in the Grid.</p>|

packages/docs/docs/api/JustifiedInfiniteGrid.mdx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class JustifiedInfiniteGrid
1414

1515
<div className="container">
1616
<div className="row mb-2"><div className="col col--6"><strong>Methods</strong></div><div className="col col--6"><strong>Events</strong></div></div>
17-
<div className="row"><div className="col col--6"><a href="#renderItems">renderItems</a><br/><a href="#getWrapperElement">getWrapperElement</a><br/><a href="#getScrollContainerElement">getScrollContainerElement</a><br/><a href="#getContainerElement">getContainerElement</a><br/><a href="#syncItems">syncItems</a><br/><a href="#setCursors">setCursors</a><br/><a href="#getStartCursor">getStartCursor</a><br/><a href="#getEndCursor">getEndCursor</a><br/><a href="#append">append</a><br/><a href="#prepend">prepend</a><br/><a href="#insert">insert</a><br/><a href="#insertByGroupIndex">insertByGroupIndex</a><br/><a href="#getStatus">getStatus</a><br/><a href="#setPlaceholder">setPlaceholder</a><br/><a href="#setLoading">setLoading</a><br/><a href="#appendPlaceholders">appendPlaceholders</a><br/><a href="#prependPlaceholders">prependPlaceholders</a><br/><a href="#removePlaceholders">removePlaceholders</a><br/><a href="#setStatus">setStatus</a><br/><a href="#removeGroupByIndex">removeGroupByIndex</a><br/><a href="#removeGroupByKey">removeGroupByKey</a><br/><a href="#removeByIndex">removeByIndex</a><br/><a href="#removeByKey">removeByKey</a><br/><a href="#updateItems">updateItems</a><br/><a href="#getItems">getItems</a><br/><a href="#getVisibleItems">getVisibleItems</a><br/><a href="#getRenderingItems">getRenderingItems</a><br/><a href="#getGroups">getGroups</a><br/><a href="#getVisibleGroups">getVisibleGroups</a><br/><a href="#wait">wait</a><br/><a href="#ready">ready</a><br/><a href="#isWait">isWait</a><br/><a href="#destroy">destroy</a><br/><a href="#trigger">trigger</a><br/><a href="#once">once</a><br/><a href="#hasOn">hasOn</a><br/><a href="#on">on</a><br/><a href="#off">off</a></div><div className="col col--6"><a href="#event-changeScroll">changeScroll</a><br/><a href="#event-requestAppend">requestAppend</a><br/><a href="#event-requestPrepend">requestPrepend</a><br/><a href="#event-contentError">contentError</a><br/><a href="#event-renderComplete">renderComplete</a></div></div>
17+
<div className="row"><div className="col col--6"><a href="#renderItems">renderItems</a><br/><a href="#getWrapperElement">getWrapperElement</a><br/><a href="#getScrollContainerElement">getScrollContainerElement</a><br/><a href="#getContainerElement">getContainerElement</a><br/><a href="#syncItems">syncItems</a><br/><a href="#setCursors">setCursors</a><br/><a href="#getStartCursor">getStartCursor</a><br/><a href="#getEndCursor">getEndCursor</a><br/><a href="#append">append</a><br/><a href="#prepend">prepend</a><br/><a href="#insert">insert</a><br/><a href="#insertByGroupIndex">insertByGroupIndex</a><br/><a href="#getStatus">getStatus</a><br/><a href="#setPlaceholder">setPlaceholder</a><br/><a href="#setLoading">setLoading</a><br/><a href="#appendPlaceholders">appendPlaceholders</a><br/><a href="#prependPlaceholders">prependPlaceholders</a><br/><a href="#removePlaceholders">removePlaceholders</a><br/><a href="#setStatus">setStatus</a><br/><a href="#removeGroupByIndex">removeGroupByIndex</a><br/><a href="#removeGroupByKey">removeGroupByKey</a><br/><a href="#removeByIndex">removeByIndex</a><br/><a href="#removeByKey">removeByKey</a><br/><a href="#updateItems">updateItems</a><br/><a href="#getItems">getItems</a><br/><a href="#getVisibleItems">getVisibleItems</a><br/><a href="#getRenderingItems">getRenderingItems</a><br/><a href="#getGroups">getGroups</a><br/><a href="#getVisibleGroups">getVisibleGroups</a><br/><a href="#wait">wait</a><br/><a href="#ready">ready</a><br/><a href="#isWait">isWait</a><br/><a href="#resizeScroll">resizeScroll</a><br/><a href="#destroy">destroy</a><br/><a href="#trigger">trigger</a><br/><a href="#once">once</a><br/><a href="#hasOn">hasOn</a><br/><a href="#on">on</a><br/><a href="#off">off</a></div><div className="col col--6"><a href="#event-changeScroll">changeScroll</a><br/><a href="#event-requestAppend">requestAppend</a><br/><a href="#event-requestPrepend">requestPrepend</a><br/><a href="#event-contentError">contentError</a><br/><a href="#event-renderComplete">renderComplete</a></div></div>
1818
</div>
1919

2020
## constructor
@@ -486,6 +486,14 @@ ig.insertByGroupIndex(4, [HTMLElement1, HTMLElement2]);
486486

487487
<p>Returns whether it is set to wait to request data.</p>
488488

489+
### resizeScroll {#resizeScroll}
490+
491+
<div>
492+
<span className="badge badge--danger">inherited</span>
493+
</div>
494+
495+
<p><ko>scrollOffset(startOffset) 또는 scrollSizescrollPos를 수동으로 업데이트 한다. 변경이 된 경우 스크롤이 발생시킨다.</ko></p>
496+
489497
### destroy {#destroy}
490498

491499
<div>

packages/docs/docs/api/JustifiedInfiniteGridOptions.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ custom_edit_url: null
3131
|observeChildren|boolean|false|<p>Whether to detect size change of children if useResizeObserver option is used.<br /></p>|
3232
|externalItemRenderer|ItemRenderer \| null||<p>You can set the ItemRenderer directly externally.<br /></p>|
3333
|externalContainerManager|ContainerManager \| null||<p>You can set the ContainerManager directly externally.<br /></p>|
34-
|columnRange|number \| number[]|[1, 8]|<p>The minimum and maximum number of items per line.<br /></p>|
34+
|columnRange|number \| number[] \| ((self: JustifiedGrid) =&gt; number \| number[])|[1, 8]|<p>The minimum and maximum number of items per line.<br /></p>|
3535
|rowRange|number \| number[]|0|<p>The minimum and maximum number of rows in a group, 0 is not set.<br /></p>|
3636
|sizeRange|number \| number[]|[0, Infinity]|<p>The minimum and maximum size by which the item is adjusted. If it is not calculated, it may deviate from the minimum and maximum sizes.<br /></p>|
3737
|displayedRow|number|-1|<p>Maximum number of rows to be counted for container size. You can hide it on the screen by setting overflow: hidden. -1 is not set.<br /></p>|
@@ -66,6 +66,9 @@ custom_edit_url: null
6666
|containerTag|string|"div"|<p>If you create a container, you can set the container's tag.</p>|
6767
|threshold|number|100|<p>The size of the scrollable area for adding the next group of items.</p>|
6868
|useRecycle|boolean|true|<p>Whether to show only the DOM of the visible area.</p>|
69+
|useDetachedRecycle|boolean|false|<p>When using <code>useRecycle</code> option, remove elements of invisible items. If you want to improve performance (memory issues), enable it.</p>|
70+
|isReachStart|boolean|false||
71+
|isReachEnd|boolean|false||
6972
|scrollContainer|HTMLElement \| string \| Ref&lt;HTMLElement&gt; \| null||<p>You can set the scrollContainer directly. In this case, the container becomes the wrapper itself.</p>|
7073
|gridConstructor|GridFunction||<p>Grid class to apply Infinite function.</p>|
7174
|appliedItemChecker|(item: InfiniteGridItem, grid: Grid) =&gt; boolean||<p>A function that checks whether non-rendering items are included in the Grid.</p>|

0 commit comments

Comments
 (0)