@egjs/svelte-infinitegrid 4.0.1-beta.3 → 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.
- package/dist/infinitegrid.cjs.js +41 -39
- package/dist/infinitegrid.cjs.js.map +1 -1
- package/dist/infinitegrid.esm.js +42 -40
- package/dist/infinitegrid.esm.js.map +1 -1
- package/package.json +2 -2
- package/rollup.config.js +1 -2
- package/src/InfiniteGrid.svelte +13 -10
- package/src/index.d.ts +11 -11
package/dist/infinitegrid.cjs.js
CHANGED
|
@@ -4,7 +4,7 @@ name: @egjs/svelte-infinitegrid
|
|
|
4
4
|
license: MIT
|
|
5
5
|
author: NAVER Corp.
|
|
6
6
|
repository: https://github.com/naver/egjs-infinitegrid
|
|
7
|
-
version: 4.
|
|
7
|
+
version: 4.1.2-beta.0
|
|
8
8
|
*/
|
|
9
9
|
'use strict';
|
|
10
10
|
|
|
@@ -38,17 +38,17 @@ const get_default_slot_context = ctx => ({
|
|
|
38
38
|
visibleItems:
|
|
39
39
|
/*visibleItems*/
|
|
40
40
|
ctx[3]
|
|
41
|
-
}); // (
|
|
41
|
+
}); // (138:2) {:else}
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
function create_else_block(ctx) {
|
|
45
45
|
let current;
|
|
46
46
|
const default_slot_template =
|
|
47
47
|
/*#slots*/
|
|
48
|
-
ctx[
|
|
48
|
+
ctx[9].default;
|
|
49
49
|
const default_slot = internal.create_slot(default_slot_template, ctx,
|
|
50
50
|
/*$$scope*/
|
|
51
|
-
ctx[
|
|
51
|
+
ctx[8], get_default_slot_context_1);
|
|
52
52
|
return {
|
|
53
53
|
c() {
|
|
54
54
|
if (default_slot) default_slot.c();
|
|
@@ -66,14 +66,14 @@ function create_else_block(ctx) {
|
|
|
66
66
|
if (default_slot) {
|
|
67
67
|
if (default_slot.p && (!current || dirty &
|
|
68
68
|
/*$$scope, visibleItems*/
|
|
69
|
-
|
|
69
|
+
264)) {
|
|
70
70
|
internal.update_slot_base(default_slot, default_slot_template, ctx,
|
|
71
71
|
/*$$scope*/
|
|
72
|
-
ctx[
|
|
72
|
+
ctx[8], !current ? internal.get_all_dirty_from_scope(
|
|
73
73
|
/*$$scope*/
|
|
74
|
-
ctx[
|
|
74
|
+
ctx[8]) : internal.get_slot_changes(default_slot_template,
|
|
75
75
|
/*$$scope*/
|
|
76
|
-
ctx[
|
|
76
|
+
ctx[8], dirty, get_default_slot_changes_1), get_default_slot_context_1);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
},
|
|
@@ -94,7 +94,7 @@ function create_else_block(ctx) {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
};
|
|
97
|
-
} // (
|
|
97
|
+
} // (134:2) {#if $$props.container === true}
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
function create_if_block(ctx) {
|
|
@@ -102,10 +102,10 @@ function create_if_block(ctx) {
|
|
|
102
102
|
let current;
|
|
103
103
|
const default_slot_template =
|
|
104
104
|
/*#slots*/
|
|
105
|
-
ctx[
|
|
105
|
+
ctx[9].default;
|
|
106
106
|
const default_slot = internal.create_slot(default_slot_template, ctx,
|
|
107
107
|
/*$$scope*/
|
|
108
|
-
ctx[
|
|
108
|
+
ctx[8], get_default_slot_context);
|
|
109
109
|
return {
|
|
110
110
|
c() {
|
|
111
111
|
div = internal.element("div");
|
|
@@ -122,7 +122,7 @@ function create_if_block(ctx) {
|
|
|
122
122
|
/*div_binding*/
|
|
123
123
|
|
|
124
124
|
|
|
125
|
-
ctx[
|
|
125
|
+
ctx[10](div);
|
|
126
126
|
current = true;
|
|
127
127
|
},
|
|
128
128
|
|
|
@@ -130,14 +130,14 @@ function create_if_block(ctx) {
|
|
|
130
130
|
if (default_slot) {
|
|
131
131
|
if (default_slot.p && (!current || dirty &
|
|
132
132
|
/*$$scope, visibleItems*/
|
|
133
|
-
|
|
133
|
+
264)) {
|
|
134
134
|
internal.update_slot_base(default_slot, default_slot_template, ctx,
|
|
135
135
|
/*$$scope*/
|
|
136
|
-
ctx[
|
|
136
|
+
ctx[8], !current ? internal.get_all_dirty_from_scope(
|
|
137
137
|
/*$$scope*/
|
|
138
|
-
ctx[
|
|
138
|
+
ctx[8]) : internal.get_slot_changes(default_slot_template,
|
|
139
139
|
/*$$scope*/
|
|
140
|
-
ctx[
|
|
140
|
+
ctx[8], dirty, get_default_slot_changes), get_default_slot_context);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
},
|
|
@@ -158,7 +158,7 @@ function create_if_block(ctx) {
|
|
|
158
158
|
if (default_slot) default_slot.d(detaching);
|
|
159
159
|
/*div_binding*/
|
|
160
160
|
|
|
161
|
-
ctx[
|
|
161
|
+
ctx[10](null);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
};
|
|
@@ -202,7 +202,7 @@ function create_fragment(ctx) {
|
|
|
202
202
|
if_blocks[current_block_type_index].m(div, null);
|
|
203
203
|
/*div_binding_1*/
|
|
204
204
|
|
|
205
|
-
ctx[
|
|
205
|
+
ctx[11](div);
|
|
206
206
|
current = true;
|
|
207
207
|
},
|
|
208
208
|
|
|
@@ -254,7 +254,7 @@ function create_fragment(ctx) {
|
|
|
254
254
|
if_blocks[current_block_type_index].d();
|
|
255
255
|
/*div_binding_1*/
|
|
256
256
|
|
|
257
|
-
ctx[
|
|
257
|
+
ctx[11](null);
|
|
258
258
|
}
|
|
259
259
|
|
|
260
260
|
};
|
|
@@ -268,11 +268,13 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
268
268
|
let {
|
|
269
269
|
GridClass
|
|
270
270
|
} = $$props;
|
|
271
|
+
let {
|
|
272
|
+
vanillaGrid = null
|
|
273
|
+
} = $$props;
|
|
271
274
|
const dispatch = svelte.createEventDispatcher();
|
|
272
275
|
const renderer = new infinitegrid.Renderer();
|
|
273
276
|
let wrapper;
|
|
274
277
|
let container;
|
|
275
|
-
let grid;
|
|
276
278
|
let attributes = {};
|
|
277
279
|
let visibleItems = [];
|
|
278
280
|
|
|
@@ -309,7 +311,7 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
309
311
|
|
|
310
312
|
function updateVisibleChildren(props) {
|
|
311
313
|
$$invalidate(3, visibleItems = infinitegrid.getRenderingItems(getItemInfos(), {
|
|
312
|
-
grid,
|
|
314
|
+
grid: vanillaGrid,
|
|
313
315
|
status: props.status,
|
|
314
316
|
usePlaceholder: props.usePlaceholder,
|
|
315
317
|
useFirstRender: props.useFirstRender,
|
|
@@ -318,6 +320,10 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
318
320
|
}));
|
|
319
321
|
}
|
|
320
322
|
|
|
323
|
+
svelte.beforeUpdate(() => {
|
|
324
|
+
updateAttributes($$props);
|
|
325
|
+
updateVisibleChildren($$props);
|
|
326
|
+
});
|
|
321
327
|
svelte.onMount(() => {
|
|
322
328
|
const defaultOptions = GridClass.defaultOptions;
|
|
323
329
|
const options = {};
|
|
@@ -333,11 +339,11 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
333
339
|
}
|
|
334
340
|
|
|
335
341
|
options.renderer = renderer;
|
|
336
|
-
|
|
342
|
+
$$invalidate(5, vanillaGrid = new GridClass(wrapper, options));
|
|
337
343
|
|
|
338
344
|
for (const name in infinitegrid.INFINITEGRID_EVENTS) {
|
|
339
345
|
const eventName = infinitegrid.INFINITEGRID_EVENTS[name];
|
|
340
|
-
|
|
346
|
+
vanillaGrid.on(eventName, e => {
|
|
341
347
|
dispatch(eventName, e);
|
|
342
348
|
});
|
|
343
349
|
}
|
|
@@ -346,7 +352,7 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
346
352
|
updateVisibleChildren($$props);
|
|
347
353
|
});
|
|
348
354
|
infinitegrid.mountRenderingItems(getItemInfos(), {
|
|
349
|
-
grid,
|
|
355
|
+
grid: vanillaGrid,
|
|
350
356
|
status: $$props.status,
|
|
351
357
|
usePlaceholder: $$props.usePlaceholder,
|
|
352
358
|
useFirstRender: $$props.useFirstRender,
|
|
@@ -361,18 +367,18 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
361
367
|
|
|
362
368
|
for (const name in propertyTypes) {
|
|
363
369
|
if (name in $$props) {
|
|
364
|
-
|
|
370
|
+
$$invalidate(5, vanillaGrid[name] = $$props[name], vanillaGrid);
|
|
365
371
|
}
|
|
366
372
|
}
|
|
367
373
|
|
|
368
374
|
renderer.updated();
|
|
369
375
|
});
|
|
370
376
|
svelte.onDestroy(() => {
|
|
371
|
-
|
|
377
|
+
vanillaGrid && vanillaGrid.destroy();
|
|
372
378
|
});
|
|
373
379
|
|
|
374
380
|
function getInstance() {
|
|
375
|
-
return
|
|
381
|
+
return vanillaGrid;
|
|
376
382
|
}
|
|
377
383
|
|
|
378
384
|
function div_binding($$value) {
|
|
@@ -391,31 +397,27 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
391
397
|
|
|
392
398
|
$$self.$$set = $$new_props => {
|
|
393
399
|
$$invalidate(4, $$props = internal.assign(internal.assign({}, $$props), internal.exclude_internal_props($$new_props)));
|
|
394
|
-
if ('GridClass' in $$new_props) $$invalidate(
|
|
395
|
-
if ('
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
$$self.$$.update = () => {
|
|
399
|
-
updateAttributes($$props);
|
|
400
|
-
|
|
401
|
-
updateVisibleChildren($$props);
|
|
400
|
+
if ('GridClass' in $$new_props) $$invalidate(6, GridClass = $$new_props.GridClass);
|
|
401
|
+
if ('vanillaGrid' in $$new_props) $$invalidate(5, vanillaGrid = $$new_props.vanillaGrid);
|
|
402
|
+
if ('$$scope' in $$new_props) $$invalidate(8, $$scope = $$new_props.$$scope);
|
|
402
403
|
};
|
|
403
404
|
|
|
404
405
|
$$props = internal.exclude_internal_props($$props);
|
|
405
|
-
return [wrapper, container, attributes, visibleItems, $$props, GridClass, getInstance, $$scope, slots, div_binding, div_binding_1];
|
|
406
|
+
return [wrapper, container, attributes, visibleItems, $$props, vanillaGrid, GridClass, getInstance, $$scope, slots, div_binding, div_binding_1];
|
|
406
407
|
}
|
|
407
408
|
|
|
408
409
|
class InfiniteGrid$1 extends internal.SvelteComponent {
|
|
409
410
|
constructor(options) {
|
|
410
411
|
super();
|
|
411
412
|
internal.init(this, options, instance, create_fragment, internal.safe_not_equal, {
|
|
412
|
-
GridClass:
|
|
413
|
-
|
|
413
|
+
GridClass: 6,
|
|
414
|
+
vanillaGrid: 5,
|
|
415
|
+
getInstance: 7
|
|
414
416
|
});
|
|
415
417
|
}
|
|
416
418
|
|
|
417
419
|
get getInstance() {
|
|
418
|
-
return this.$$.ctx[
|
|
420
|
+
return this.$$.ctx[7];
|
|
419
421
|
}
|
|
420
422
|
|
|
421
423
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infinitegrid.cjs.js","sources":["../src/consts.js","../src/InfiniteGrid.svelte","../src/InfiniteGrid.js","../src/grids/MasonryInfiniteGrid.js","../src/grids/JustifiedInfiniteGrid.js","../src/grids/FrameInfiniteGrid.js","../src/grids/PackingInfiniteGrid.js"],"sourcesContent":["export const SVELTE_INFINITEGRID_PROPS = [\n \"status\",\n \"useFirstRender\",\n \"useLoading\",\n \"usePlaceholder\",\n \"items\",\n \"itemBy\",\n \"groupBy\",\n];\n","<script>\n /**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\n import {\n onMount,\n beforeUpdate,\n createEventDispatcher,\n onDestroy,\n afterUpdate,\n } from \"svelte\";\n import {\n INFINITEGRID_EVENTS,\n Renderer,\n CONTAINER_CLASS_NAME,\n getRenderingItems,\n mountRenderingItems,\n } from \"@egjs/infinitegrid\";\n import { SVELTE_INFINITEGRID_PROPS } from \"./consts\";\n export let GridClass;\n\n const dispatch = createEventDispatcher();\n const renderer = new Renderer();\n let wrapper;\n let container;\n let grid;\n let isFirstMount = false;\n let attributes = {};\n let visibleItems = [];\n\n function updateAttributes(props) {\n attributes = { ...props };\n\n const defaultOptions = GridClass.defaultOptions;\n\n delete attributes[\"GridClass\"];\n for (const name in defaultOptions) {\n delete attributes[name];\n }\n SVELTE_INFINITEGRID_PROPS.forEach((name) => {\n delete attributes[name];\n });\n }\n function getItemInfos() {\n const items = $$props.items || [];\n const itemBy = $$props.itemBy || ((item) => item.key);\n const groupBy = $$props.groupBy || ((item) => item.groupKey);\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(item, i),\n key: itemBy(item, i),\n data: item,\n };\n });\n }\n function updateVisibleChildren(props) {\n visibleItems = getRenderingItems(getItemInfos(), {\n grid,\n status: props.status,\n usePlaceholder: props.usePlaceholder,\n useFirstRender: props.useFirstRender,\n useLoading: props.useLoading,\n horizontal: props.horizontal,\n });\n }\n\n $: updateAttributes($$props);\n $: updateVisibleChildren($$props);\n\n onMount(() => {\n const defaultOptions = GridClass.defaultOptions;\n const options = {};\n\n for (const name in defaultOptions) {\n if (name in $$props) {\n options[name] = $$props[name];\n }\n }\n if (container) {\n options.container = container;\n }\n options.renderer = renderer;\n grid = new GridClass(wrapper, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = INFINITEGRID_EVENTS[name];\n\n grid.on(eventName, (e) => {\n dispatch(eventName, e);\n });\n }\n renderer.on(\"requestUpdate\", () => {\n updateVisibleChildren($$props);\n });\n mountRenderingItems(getItemInfos(), {\n grid,\n status: $$props.status,\n usePlaceholder: $$props.usePlaceholder,\n useFirstRender: $$props.useFirstRender,\n useLoading: $$props.useLoading,\n horizontal: $$props.horizontal,\n });\n renderer.updated();\n });\n afterUpdate(() => {\n if (isFirstMount) {\n isFirstMount = false;\n return;\n }\n const propertyTypes = GridClass.propertyTypes;\n\n for (const name in propertyTypes) {\n if (name in $$props) {\n grid[name] = $$props[name];\n }\n }\n renderer.updated();\n });\n onDestroy(() => {\n grid?.destroy();\n });\n export function getInstance() {\n return grid;\n }\n</script>\n\n<div bind:this={wrapper} {...attributes}>\n {#if $$props.container === true}\n <div class={CONTAINER_CLASS_NAME} bind:this={container}>\n <slot {visibleItems} />\n </div>\n {:else}\n <slot {visibleItems} />\n {/if}\n</div>\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport InfiniteGrid from \"./InfiniteGrid.svelte\";\nimport { INFINITEGRID_METHODS } from \"@egjs/infinitegrid\";\n\nexport default /*#__PURE__*/ (() => {\n const prototype = InfiniteGrid.prototype;\n\n if (prototype) {\n INFINITEGRID_METHODS.forEach(name => {\n if (name in prototype) {\n return;\n }\n prototype[name] = function (...args) {\n const self = this.getInstance();\n const result = self[name](...args);\n\n if (result === self) {\n return this;\n } else {\n return result;\n }\n };\n });\n }\n return InfiniteGrid;\n})();\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet MasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n MasonryInfiniteGrid = InfiniteGrid;\n} else {\n MasonryInfiniteGrid = class MasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet JustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n JustifiedInfiniteGrid = InfiniteGrid;\n} else {\n JustifiedInfiniteGrid = class JustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet FrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n FrameInfiniteGrid = InfiniteGrid;\n} else {\n FrameInfiniteGrid = class FrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet PackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n PackingInfiniteGrid = InfiniteGrid;\n} else {\n PackingInfiniteGrid = class PackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","ctx","container","GridClass","dispatch","createEventDispatcher","renderer","Renderer","wrapper","grid","attributes","visibleItems","updateAttributes","props","defaultOptions","name","forEach","getItemInfos","items","$$props","itemBy","item","key","groupBy","groupKey","map","i","data","updateVisibleChildren","getRenderingItems","status","usePlaceholder","useFirstRender","useLoading","horizontal","onMount","options","INFINITEGRID_EVENTS","eventName","on","e","mountRenderingItems","updated","afterUpdate","propertyTypes","onDestroy","destroy","getInstance","$","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","MasonryInfiniteGrid","constructor","JustifiedInfiniteGrid","FrameInfiniteGrid","PackingInfiniteGrid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"infinitegrid.cjs.js","sources":["../src/consts.js","../src/InfiniteGrid.svelte","../src/InfiniteGrid.js","../src/grids/MasonryInfiniteGrid.js","../src/grids/JustifiedInfiniteGrid.js","../src/grids/FrameInfiniteGrid.js","../src/grids/PackingInfiniteGrid.js"],"sourcesContent":["export const SVELTE_INFINITEGRID_PROPS = [\n \"status\",\n \"useFirstRender\",\n \"useLoading\",\n \"usePlaceholder\",\n \"items\",\n \"itemBy\",\n \"groupBy\",\n];\n","<script>\n /**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\n import {\n onMount,\n beforeUpdate,\n createEventDispatcher,\n onDestroy,\n afterUpdate,\n } from \"svelte\";\n import {\n INFINITEGRID_EVENTS,\n Renderer,\n CONTAINER_CLASS_NAME,\n getRenderingItems,\n mountRenderingItems,\n } from \"@egjs/infinitegrid\";\n import { SVELTE_INFINITEGRID_PROPS } from \"./consts\";\n export let GridClass;\n export let vanillaGrid = null;\n\n const dispatch = createEventDispatcher();\n const renderer = new Renderer();\n let wrapper;\n let container;\n let isFirstMount = false;\n let attributes = {};\n let visibleItems = [];\n\n function updateAttributes(props) {\n attributes = { ...props };\n\n const defaultOptions = GridClass.defaultOptions;\n\n delete attributes[\"GridClass\"];\n for (const name in defaultOptions) {\n delete attributes[name];\n }\n SVELTE_INFINITEGRID_PROPS.forEach((name) => {\n delete attributes[name];\n });\n }\n function getItemInfos() {\n const items = $$props.items || [];\n const itemBy = $$props.itemBy || ((item) => item.key);\n const groupBy = $$props.groupBy || ((item) => item.groupKey);\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(item, i),\n key: itemBy(item, i),\n data: item,\n };\n });\n }\n function updateVisibleChildren(props) {\n visibleItems = getRenderingItems(getItemInfos(), {\n grid: vanillaGrid,\n status: props.status,\n usePlaceholder: props.usePlaceholder,\n useFirstRender: props.useFirstRender,\n useLoading: props.useLoading,\n horizontal: props.horizontal,\n });\n }\n\n beforeUpdate(() => {\n updateAttributes($$props);\n updateVisibleChildren($$props);\n });\n\n onMount(() => {\n const defaultOptions = GridClass.defaultOptions;\n const options = {};\n\n for (const name in defaultOptions) {\n if (name in $$props) {\n options[name] = $$props[name];\n }\n }\n if (container) {\n options.container = container;\n }\n options.renderer = renderer;\n vanillaGrid = new GridClass(wrapper, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = INFINITEGRID_EVENTS[name];\n\n vanillaGrid.on(eventName, (e) => {\n dispatch(eventName, e);\n });\n }\n renderer.on(\"requestUpdate\", () => {\n updateVisibleChildren($$props);\n });\n\n mountRenderingItems(getItemInfos(), {\n grid: vanillaGrid,\n status: $$props.status,\n usePlaceholder: $$props.usePlaceholder,\n useFirstRender: $$props.useFirstRender,\n useLoading: $$props.useLoading,\n horizontal: $$props.horizontal,\n });\n renderer.updated();\n });\n afterUpdate(() => {\n if (isFirstMount) {\n isFirstMount = false;\n return;\n }\n const propertyTypes = GridClass.propertyTypes;\n\n for (const name in propertyTypes) {\n if (name in $$props) {\n vanillaGrid[name] = $$props[name];\n }\n }\n renderer.updated();\n });\n onDestroy(() => {\n vanillaGrid && vanillaGrid.destroy();\n });\n export function getInstance() {\n return vanillaGrid;\n }\n</script>\n\n<div bind:this={wrapper} {...attributes}>\n {#if $$props.container === true}\n <div class={CONTAINER_CLASS_NAME} bind:this={container}>\n <slot {visibleItems} />\n </div>\n {:else}\n <slot {visibleItems} />\n {/if}\n</div>\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport InfiniteGrid from \"./InfiniteGrid.svelte\";\nimport { INFINITEGRID_METHODS } from \"@egjs/infinitegrid\";\n\nexport default /*#__PURE__*/ (() => {\n const prototype = InfiniteGrid.prototype;\n\n if (prototype) {\n INFINITEGRID_METHODS.forEach(name => {\n if (name in prototype) {\n return;\n }\n prototype[name] = function (...args) {\n const self = this.getInstance();\n const result = self[name](...args);\n\n if (result === self) {\n return this;\n } else {\n return result;\n }\n };\n });\n }\n return InfiniteGrid;\n})();\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet MasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n MasonryInfiniteGrid = InfiniteGrid;\n} else {\n MasonryInfiniteGrid = class MasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet JustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n JustifiedInfiniteGrid = InfiniteGrid;\n} else {\n JustifiedInfiniteGrid = class JustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet FrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n FrameInfiniteGrid = InfiniteGrid;\n} else {\n FrameInfiniteGrid = class FrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet PackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n PackingInfiniteGrid = InfiniteGrid;\n} else {\n PackingInfiniteGrid = class PackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","ctx","container","GridClass","vanillaGrid","dispatch","createEventDispatcher","renderer","Renderer","wrapper","attributes","visibleItems","updateAttributes","props","defaultOptions","name","forEach","getItemInfos","items","$$props","itemBy","item","key","groupBy","groupKey","map","i","data","updateVisibleChildren","getRenderingItems","grid","status","usePlaceholder","useFirstRender","useLoading","horizontal","beforeUpdate","onMount","options","INFINITEGRID_EVENTS","eventName","on","e","mountRenderingItems","updated","afterUpdate","propertyTypes","onDestroy","destroy","getInstance","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","MasonryInfiniteGrid","constructor","JustifiedInfiniteGrid","FrameInfiniteGrid","PackingInfiniteGrid"],"mappings":";;;;;;;;;;;;;;AAAO,MAAMA,yBAAyB,GAAG,CACvC,QADuC,EAEvC,gBAFuC,EAGvC,YAHuC,EAIvC,gBAJuC,EAKvC,OALuC,EAMvC,QANuC,EAOvC,SAPuC,CAAlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCCsISC;;;;AAAZC,MAAAA,eAEK,OAAA,KAAA,QAAA,CAFL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADGC,IAAAA,GAAO,EAAA,CAAP,CAAQC,SAAR,KAAsB;;;;;;;;AADAD,EAAAA,GAAU,EAAA;;;;;;;;;;;;;;;AAAvCD,MAAAA,eAQK,OAAA,KAAA,QAAA,CARL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA6BC,MAAAA,GAAU,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/G1BE,IAAAA;;;AACAC,IAAAA,WAAW,GAAI;;QAEpBC,QAAQ,GAAGC,4BAAqB;QAChCC,QAAQ,OAAOC;MACjBC;MACAP;MAEAQ,UAAU;MACVC,YAAY;;WAEPC,iBAAiBC;oBACxBH,UAAU,QAAQG;;UAEZC,cAAc,GAAGX,SAAS,CAACW;WAE1BJ,UAAU,CAAC,WAAD;;eACNK,QAAQD;aACVJ,UAAU,CAACK,IAAD;;;AAEnBjB,IAAAA,yBAAyB,CAACkB,OAA1B,CAAmCD,IAAI;aAC9BL,UAAU,CAACK,IAAD;KADnB;;;WAIOE;UACDC,KAAK,GAAGC,OAAO,CAACD,KAAR;;UACRE,MAAM,GAAGD,OAAO,CAACC,MAAR,KAAoBC,IAAI,IAAKA,IAAI,CAACC,GAAlC;;UACTC,OAAO,GAAGJ,OAAO,CAACI,OAAR,KAAqBF,IAAI,IAAKA,IAAI,CAACG,QAAnC;;WAETN,KAAK,CAACO,GAAN,EAAWJ,MAAMK;;AAEpBF,QAAAA,QAAQ,EAAED,OAAO,CAACF,IAAD,EAAOK,CAAP;AACjBJ,QAAAA,GAAG,EAAEF,MAAM,CAACC,IAAD,EAAOK,CAAP;AACXC,QAAAA,IAAI,EAAEN;;KAJH;;;WAQAO,sBAAsBf;oBAC7BF,YAAY,GAAGkB,8BAAiB,CAACZ,YAAY,EAAb;AAC9Ba,MAAAA,IAAI,EAAE1B;AACN2B,MAAAA,MAAM,EAAElB,KAAK,CAACkB;AACdC,MAAAA,cAAc,EAAEnB,KAAK,CAACmB;AACtBC,MAAAA,cAAc,EAAEpB,KAAK,CAACoB;AACtBC,MAAAA,UAAU,EAAErB,KAAK,CAACqB;AAClBC,MAAAA,UAAU,EAAEtB,KAAK,CAACsB;KANY;;;AAUlCC,EAAAA,mBAAY;AACVxB,IAAAA,gBAAgB,CAACO,OAAD,CAAhB;AACAS,IAAAA,qBAAqB,CAACT,OAAD,CAArB;GAFU,CAAZ;AAKAkB,EAAAA,cAAO;UACCvB,cAAc,GAAGX,SAAS,CAACW;UAC3BwB,OAAO;;eAEFvB,QAAQD;UACbC,IAAI,IAAII;AACVmB,QAAAA,OAAO,CAACvB,IAAD,CAAP,GAAgBI,OAAO,CAACJ,IAAD,CAAvB;;;;QAGAb;AACFoC,MAAAA,OAAO,CAACpC,SAAR,GAAoBA,SAApB;;;AAEFoC,IAAAA,OAAO,CAAC/B,QAAR,GAAmBA,QAAnB;oBACAH,WAAW,OAAOD,UAAUM,SAAS6B;;eAE1BvB,QAAQwB;YACXC,SAAS,GAAGD,gCAAmB,CAACxB,IAAD;AAErCX,MAAAA,WAAW,CAACqC,EAAZ,CAAeD,SAAf,EAA2BE,CAAC;AAC1BrC,QAAAA,QAAQ,CAACmC,SAAD,EAAYE,CAAZ,CAAR;OADF;;;AAIFnC,IAAAA,QAAQ,CAACkC,EAAT,CAAY,eAAZ;AACEb,MAAAA,qBAAqB,CAACT,OAAD,CAArB;KADF;AAIAwB,IAAAA,gCAAmB,CAAC1B,YAAY,EAAb;AACjBa,MAAAA,IAAI,EAAE1B;AACN2B,MAAAA,MAAM,EAAEZ,OAAO,CAACY;AAChBC,MAAAA,cAAc,EAAEb,OAAO,CAACa;AACxBC,MAAAA,cAAc,EAAEd,OAAO,CAACc;AACxBC,MAAAA,UAAU,EAAEf,OAAO,CAACe;AACpBC,MAAAA,UAAU,EAAEhB,OAAO,CAACgB;KANH,CAAnB;AAQA5B,IAAAA,QAAQ,CAACqC,OAAT;GAlCK,CAAP;AAoCAC,EAAAA,kBAAW;;UAKHC,aAAa,GAAG3C,SAAS,CAAC2C;;eAErB/B,QAAQ+B;UACb/B,IAAI,IAAII;wBACVf,WAAW,CAACW,IAAD,CAAX,GAAoBI,OAAO,CAACJ,IAAD;;;;AAG/BR,IAAAA,QAAQ,CAACqC,OAAT;GAZS,CAAX;AAcAG,EAAAA,gBAAS;AACP3C,IAAAA,WAAW,IAAIA,WAAW,CAAC4C,OAAZ,EAAf;GADO,CAAT;;WAGgBC;WACP7C;;;;;AAMsCF,MAAAA,SAAS,UAAT;;;;;;;AAFjCO,MAAAA,OAAO,UAAP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpIhB;AACA;AACA;AACA;AACA;AAIA,mBAAe,aAAc,CAAC,MAAM;AAClC,QAAMyC,SAAS,GAAGC,cAAY,CAACD,SAA/B;;AAEA,MAAIA,SAAJ,EAAe;AACbE,IAAAA,iCAAoB,CAACpC,OAArB,CAA6BD,IAAI,IAAI;AACnC,UAAIA,IAAI,IAAImC,SAAZ,EAAuB;AACrB;AACD;;AACDA,MAAAA,SAAS,CAACnC,IAAD,CAAT,GAAkB,UAAU,GAAGsC,IAAb,EAAmB;AACnC,cAAMC,IAAI,GAAG,KAAKL,WAAL,EAAb;AACA,cAAMM,MAAM,GAAGD,IAAI,CAACvC,IAAD,CAAJ,CAAW,GAAGsC,IAAd,CAAf;;AAEA,YAAIE,MAAM,KAAKD,IAAf,EAAqB;AACnB,iBAAO,IAAP;AACD,SAFD,MAEO;AACL,iBAAOC,MAAP;AACD;AACF,OATD;AAUD,KAdD;AAeD;;AACD,SAAOJ,cAAP;AACD,CArB4B,GAA7B;;ACJA,IAAIK,mBAAJ;;AAEA,IAAI,OAAOL,cAAP,KAAwB,QAA5B,EAAsC;AACpCK,EAAAA,mBAAmB,GAAGL,cAAtB;AACD,CAFD,MAEO;AACLK,EAAAA,mBAAmB,GAAG,MAAMA,mBAAN,SAAkCL,cAAlC,CAA+C;AACnEM,IAAAA,WAAW,CAACnB,OAAD,EAAU;AACnBA,MAAAA,OAAO,CAACzB,KAAR,CAAcV,SAAd,GAA0BA,gCAA1B;AACA,YAAMmC,OAAN;AACD;;AAJkE,GAArE;AAMD;;ACXD,IAAIoB,qBAAJ;;AAEA,IAAI,OAAOP,cAAP,KAAwB,QAA5B,EAAsC;AACpCO,EAAAA,qBAAqB,GAAGP,cAAxB;AACD,CAFD,MAEO;AACLO,EAAAA,qBAAqB,GAAG,MAAMA,qBAAN,SAAoCP,cAApC,CAAiD;AACvEM,IAAAA,WAAW,CAACnB,OAAD,EAAU;AACnBA,MAAAA,OAAO,CAACzB,KAAR,CAAcV,SAAd,GAA0BA,kCAA1B;AACA,YAAMmC,OAAN;AACD;;AAJsE,GAAzE;AAMD;;ACXD,IAAIqB,iBAAJ;;AAEA,IAAI,OAAOR,cAAP,KAAwB,QAA5B,EAAsC;AACpCQ,EAAAA,iBAAiB,GAAGR,cAApB;AACD,CAFD,MAEO;AACLQ,EAAAA,iBAAiB,GAAG,MAAMA,iBAAN,SAAgCR,cAAhC,CAA6C;AAC/DM,IAAAA,WAAW,CAACnB,OAAD,EAAU;AACnBA,MAAAA,OAAO,CAACzB,KAAR,CAAcV,SAAd,GAA0BA,8BAA1B;AACA,YAAMmC,OAAN;AACD;;AAJ8D,GAAjE;AAMD;;ACXD,IAAIsB,mBAAJ;;AAEA,IAAI,OAAOT,cAAP,KAAwB,QAA5B,EAAsC;AACpCS,EAAAA,mBAAmB,GAAGT,cAAtB;AACD,CAFD,MAEO;AACLS,EAAAA,mBAAmB,GAAG,MAAMA,mBAAN,SAAkCT,cAAlC,CAA+C;AACnEM,IAAAA,WAAW,CAACnB,OAAD,EAAU;AACnBA,MAAAA,OAAO,CAACzB,KAAR,CAAcV,SAAd,GAA0BA,gCAA1B;AACA,YAAMmC,OAAN;AACD;;AAJkE,GAArE;AAMD;;;;;;;;;;;;;"}
|
package/dist/infinitegrid.esm.js
CHANGED
|
@@ -4,10 +4,10 @@ name: @egjs/svelte-infinitegrid
|
|
|
4
4
|
license: MIT
|
|
5
5
|
author: NAVER Corp.
|
|
6
6
|
repository: https://github.com/naver/egjs-infinitegrid
|
|
7
|
-
version: 4.
|
|
7
|
+
version: 4.1.2-beta.0
|
|
8
8
|
*/
|
|
9
9
|
import { SvelteComponent, init, safe_not_equal, assign, element, set_attributes, insert, group_outros, transition_out, check_outros, transition_in, get_spread_update, detach, exclude_internal_props, binding_callbacks, create_slot, update_slot_base, get_all_dirty_from_scope, get_slot_changes, attr } from 'svelte/internal';
|
|
10
|
-
import { createEventDispatcher, onMount, afterUpdate, onDestroy } from 'svelte';
|
|
10
|
+
import { createEventDispatcher, beforeUpdate, onMount, afterUpdate, onDestroy } from 'svelte';
|
|
11
11
|
import { Renderer, INFINITEGRID_EVENTS, mountRenderingItems, getRenderingItems, CONTAINER_CLASS_NAME, INFINITEGRID_METHODS, MasonryInfiniteGrid as MasonryInfiniteGrid$1, JustifiedInfiniteGrid as JustifiedInfiniteGrid$1, FrameInfiniteGrid as FrameInfiniteGrid$1, PackingInfiniteGrid as PackingInfiniteGrid$1 } from '@egjs/infinitegrid';
|
|
12
12
|
|
|
13
13
|
const SVELTE_INFINITEGRID_PROPS = ["status", "useFirstRender", "useLoading", "usePlaceholder", "items", "itemBy", "groupBy"];
|
|
@@ -36,17 +36,17 @@ const get_default_slot_context = ctx => ({
|
|
|
36
36
|
visibleItems:
|
|
37
37
|
/*visibleItems*/
|
|
38
38
|
ctx[3]
|
|
39
|
-
}); // (
|
|
39
|
+
}); // (138:2) {:else}
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
function create_else_block(ctx) {
|
|
43
43
|
let current;
|
|
44
44
|
const default_slot_template =
|
|
45
45
|
/*#slots*/
|
|
46
|
-
ctx[
|
|
46
|
+
ctx[9].default;
|
|
47
47
|
const default_slot = create_slot(default_slot_template, ctx,
|
|
48
48
|
/*$$scope*/
|
|
49
|
-
ctx[
|
|
49
|
+
ctx[8], get_default_slot_context_1);
|
|
50
50
|
return {
|
|
51
51
|
c() {
|
|
52
52
|
if (default_slot) default_slot.c();
|
|
@@ -64,14 +64,14 @@ function create_else_block(ctx) {
|
|
|
64
64
|
if (default_slot) {
|
|
65
65
|
if (default_slot.p && (!current || dirty &
|
|
66
66
|
/*$$scope, visibleItems*/
|
|
67
|
-
|
|
67
|
+
264)) {
|
|
68
68
|
update_slot_base(default_slot, default_slot_template, ctx,
|
|
69
69
|
/*$$scope*/
|
|
70
|
-
ctx[
|
|
70
|
+
ctx[8], !current ? get_all_dirty_from_scope(
|
|
71
71
|
/*$$scope*/
|
|
72
|
-
ctx[
|
|
72
|
+
ctx[8]) : get_slot_changes(default_slot_template,
|
|
73
73
|
/*$$scope*/
|
|
74
|
-
ctx[
|
|
74
|
+
ctx[8], dirty, get_default_slot_changes_1), get_default_slot_context_1);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
},
|
|
@@ -92,7 +92,7 @@ function create_else_block(ctx) {
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
};
|
|
95
|
-
} // (
|
|
95
|
+
} // (134:2) {#if $$props.container === true}
|
|
96
96
|
|
|
97
97
|
|
|
98
98
|
function create_if_block(ctx) {
|
|
@@ -100,10 +100,10 @@ function create_if_block(ctx) {
|
|
|
100
100
|
let current;
|
|
101
101
|
const default_slot_template =
|
|
102
102
|
/*#slots*/
|
|
103
|
-
ctx[
|
|
103
|
+
ctx[9].default;
|
|
104
104
|
const default_slot = create_slot(default_slot_template, ctx,
|
|
105
105
|
/*$$scope*/
|
|
106
|
-
ctx[
|
|
106
|
+
ctx[8], get_default_slot_context);
|
|
107
107
|
return {
|
|
108
108
|
c() {
|
|
109
109
|
div = element("div");
|
|
@@ -120,7 +120,7 @@ function create_if_block(ctx) {
|
|
|
120
120
|
/*div_binding*/
|
|
121
121
|
|
|
122
122
|
|
|
123
|
-
ctx[
|
|
123
|
+
ctx[10](div);
|
|
124
124
|
current = true;
|
|
125
125
|
},
|
|
126
126
|
|
|
@@ -128,14 +128,14 @@ function create_if_block(ctx) {
|
|
|
128
128
|
if (default_slot) {
|
|
129
129
|
if (default_slot.p && (!current || dirty &
|
|
130
130
|
/*$$scope, visibleItems*/
|
|
131
|
-
|
|
131
|
+
264)) {
|
|
132
132
|
update_slot_base(default_slot, default_slot_template, ctx,
|
|
133
133
|
/*$$scope*/
|
|
134
|
-
ctx[
|
|
134
|
+
ctx[8], !current ? get_all_dirty_from_scope(
|
|
135
135
|
/*$$scope*/
|
|
136
|
-
ctx[
|
|
136
|
+
ctx[8]) : get_slot_changes(default_slot_template,
|
|
137
137
|
/*$$scope*/
|
|
138
|
-
ctx[
|
|
138
|
+
ctx[8], dirty, get_default_slot_changes), get_default_slot_context);
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
},
|
|
@@ -156,7 +156,7 @@ function create_if_block(ctx) {
|
|
|
156
156
|
if (default_slot) default_slot.d(detaching);
|
|
157
157
|
/*div_binding*/
|
|
158
158
|
|
|
159
|
-
ctx[
|
|
159
|
+
ctx[10](null);
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
};
|
|
@@ -200,7 +200,7 @@ function create_fragment(ctx) {
|
|
|
200
200
|
if_blocks[current_block_type_index].m(div, null);
|
|
201
201
|
/*div_binding_1*/
|
|
202
202
|
|
|
203
|
-
ctx[
|
|
203
|
+
ctx[11](div);
|
|
204
204
|
current = true;
|
|
205
205
|
},
|
|
206
206
|
|
|
@@ -252,7 +252,7 @@ function create_fragment(ctx) {
|
|
|
252
252
|
if_blocks[current_block_type_index].d();
|
|
253
253
|
/*div_binding_1*/
|
|
254
254
|
|
|
255
|
-
ctx[
|
|
255
|
+
ctx[11](null);
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
};
|
|
@@ -266,11 +266,13 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
266
266
|
let {
|
|
267
267
|
GridClass
|
|
268
268
|
} = $$props;
|
|
269
|
+
let {
|
|
270
|
+
vanillaGrid = null
|
|
271
|
+
} = $$props;
|
|
269
272
|
const dispatch = createEventDispatcher();
|
|
270
273
|
const renderer = new Renderer();
|
|
271
274
|
let wrapper;
|
|
272
275
|
let container;
|
|
273
|
-
let grid;
|
|
274
276
|
let attributes = {};
|
|
275
277
|
let visibleItems = [];
|
|
276
278
|
|
|
@@ -307,7 +309,7 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
307
309
|
|
|
308
310
|
function updateVisibleChildren(props) {
|
|
309
311
|
$$invalidate(3, visibleItems = getRenderingItems(getItemInfos(), {
|
|
310
|
-
grid,
|
|
312
|
+
grid: vanillaGrid,
|
|
311
313
|
status: props.status,
|
|
312
314
|
usePlaceholder: props.usePlaceholder,
|
|
313
315
|
useFirstRender: props.useFirstRender,
|
|
@@ -316,6 +318,10 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
316
318
|
}));
|
|
317
319
|
}
|
|
318
320
|
|
|
321
|
+
beforeUpdate(() => {
|
|
322
|
+
updateAttributes($$props);
|
|
323
|
+
updateVisibleChildren($$props);
|
|
324
|
+
});
|
|
319
325
|
onMount(() => {
|
|
320
326
|
const defaultOptions = GridClass.defaultOptions;
|
|
321
327
|
const options = {};
|
|
@@ -331,11 +337,11 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
331
337
|
}
|
|
332
338
|
|
|
333
339
|
options.renderer = renderer;
|
|
334
|
-
|
|
340
|
+
$$invalidate(5, vanillaGrid = new GridClass(wrapper, options));
|
|
335
341
|
|
|
336
342
|
for (const name in INFINITEGRID_EVENTS) {
|
|
337
343
|
const eventName = INFINITEGRID_EVENTS[name];
|
|
338
|
-
|
|
344
|
+
vanillaGrid.on(eventName, e => {
|
|
339
345
|
dispatch(eventName, e);
|
|
340
346
|
});
|
|
341
347
|
}
|
|
@@ -344,7 +350,7 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
344
350
|
updateVisibleChildren($$props);
|
|
345
351
|
});
|
|
346
352
|
mountRenderingItems(getItemInfos(), {
|
|
347
|
-
grid,
|
|
353
|
+
grid: vanillaGrid,
|
|
348
354
|
status: $$props.status,
|
|
349
355
|
usePlaceholder: $$props.usePlaceholder,
|
|
350
356
|
useFirstRender: $$props.useFirstRender,
|
|
@@ -359,18 +365,18 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
359
365
|
|
|
360
366
|
for (const name in propertyTypes) {
|
|
361
367
|
if (name in $$props) {
|
|
362
|
-
|
|
368
|
+
$$invalidate(5, vanillaGrid[name] = $$props[name], vanillaGrid);
|
|
363
369
|
}
|
|
364
370
|
}
|
|
365
371
|
|
|
366
372
|
renderer.updated();
|
|
367
373
|
});
|
|
368
374
|
onDestroy(() => {
|
|
369
|
-
|
|
375
|
+
vanillaGrid && vanillaGrid.destroy();
|
|
370
376
|
});
|
|
371
377
|
|
|
372
378
|
function getInstance() {
|
|
373
|
-
return
|
|
379
|
+
return vanillaGrid;
|
|
374
380
|
}
|
|
375
381
|
|
|
376
382
|
function div_binding($$value) {
|
|
@@ -389,31 +395,27 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
389
395
|
|
|
390
396
|
$$self.$$set = $$new_props => {
|
|
391
397
|
$$invalidate(4, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props)));
|
|
392
|
-
if ('GridClass' in $$new_props) $$invalidate(
|
|
393
|
-
if ('
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
$$self.$$.update = () => {
|
|
397
|
-
updateAttributes($$props);
|
|
398
|
-
|
|
399
|
-
updateVisibleChildren($$props);
|
|
398
|
+
if ('GridClass' in $$new_props) $$invalidate(6, GridClass = $$new_props.GridClass);
|
|
399
|
+
if ('vanillaGrid' in $$new_props) $$invalidate(5, vanillaGrid = $$new_props.vanillaGrid);
|
|
400
|
+
if ('$$scope' in $$new_props) $$invalidate(8, $$scope = $$new_props.$$scope);
|
|
400
401
|
};
|
|
401
402
|
|
|
402
403
|
$$props = exclude_internal_props($$props);
|
|
403
|
-
return [wrapper, container, attributes, visibleItems, $$props, GridClass, getInstance, $$scope, slots, div_binding, div_binding_1];
|
|
404
|
+
return [wrapper, container, attributes, visibleItems, $$props, vanillaGrid, GridClass, getInstance, $$scope, slots, div_binding, div_binding_1];
|
|
404
405
|
}
|
|
405
406
|
|
|
406
407
|
class InfiniteGrid$1 extends SvelteComponent {
|
|
407
408
|
constructor(options) {
|
|
408
409
|
super();
|
|
409
410
|
init(this, options, instance, create_fragment, safe_not_equal, {
|
|
410
|
-
GridClass:
|
|
411
|
-
|
|
411
|
+
GridClass: 6,
|
|
412
|
+
vanillaGrid: 5,
|
|
413
|
+
getInstance: 7
|
|
412
414
|
});
|
|
413
415
|
}
|
|
414
416
|
|
|
415
417
|
get getInstance() {
|
|
416
|
-
return this.$$.ctx[
|
|
418
|
+
return this.$$.ctx[7];
|
|
417
419
|
}
|
|
418
420
|
|
|
419
421
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infinitegrid.esm.js","sources":["../src/consts.js","../src/InfiniteGrid.svelte","../src/InfiniteGrid.js","../src/grids/MasonryInfiniteGrid.js","../src/grids/JustifiedInfiniteGrid.js","../src/grids/FrameInfiniteGrid.js","../src/grids/PackingInfiniteGrid.js"],"sourcesContent":["export const SVELTE_INFINITEGRID_PROPS = [\n \"status\",\n \"useFirstRender\",\n \"useLoading\",\n \"usePlaceholder\",\n \"items\",\n \"itemBy\",\n \"groupBy\",\n];\n","<script>\n /**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\n import {\n onMount,\n beforeUpdate,\n createEventDispatcher,\n onDestroy,\n afterUpdate,\n } from \"svelte\";\n import {\n INFINITEGRID_EVENTS,\n Renderer,\n CONTAINER_CLASS_NAME,\n getRenderingItems,\n mountRenderingItems,\n } from \"@egjs/infinitegrid\";\n import { SVELTE_INFINITEGRID_PROPS } from \"./consts\";\n export let GridClass;\n\n const dispatch = createEventDispatcher();\n const renderer = new Renderer();\n let wrapper;\n let container;\n let grid;\n let isFirstMount = false;\n let attributes = {};\n let visibleItems = [];\n\n function updateAttributes(props) {\n attributes = { ...props };\n\n const defaultOptions = GridClass.defaultOptions;\n\n delete attributes[\"GridClass\"];\n for (const name in defaultOptions) {\n delete attributes[name];\n }\n SVELTE_INFINITEGRID_PROPS.forEach((name) => {\n delete attributes[name];\n });\n }\n function getItemInfos() {\n const items = $$props.items || [];\n const itemBy = $$props.itemBy || ((item) => item.key);\n const groupBy = $$props.groupBy || ((item) => item.groupKey);\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(item, i),\n key: itemBy(item, i),\n data: item,\n };\n });\n }\n function updateVisibleChildren(props) {\n visibleItems = getRenderingItems(getItemInfos(), {\n grid,\n status: props.status,\n usePlaceholder: props.usePlaceholder,\n useFirstRender: props.useFirstRender,\n useLoading: props.useLoading,\n horizontal: props.horizontal,\n });\n }\n\n $: updateAttributes($$props);\n $: updateVisibleChildren($$props);\n\n onMount(() => {\n const defaultOptions = GridClass.defaultOptions;\n const options = {};\n\n for (const name in defaultOptions) {\n if (name in $$props) {\n options[name] = $$props[name];\n }\n }\n if (container) {\n options.container = container;\n }\n options.renderer = renderer;\n grid = new GridClass(wrapper, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = INFINITEGRID_EVENTS[name];\n\n grid.on(eventName, (e) => {\n dispatch(eventName, e);\n });\n }\n renderer.on(\"requestUpdate\", () => {\n updateVisibleChildren($$props);\n });\n mountRenderingItems(getItemInfos(), {\n grid,\n status: $$props.status,\n usePlaceholder: $$props.usePlaceholder,\n useFirstRender: $$props.useFirstRender,\n useLoading: $$props.useLoading,\n horizontal: $$props.horizontal,\n });\n renderer.updated();\n });\n afterUpdate(() => {\n if (isFirstMount) {\n isFirstMount = false;\n return;\n }\n const propertyTypes = GridClass.propertyTypes;\n\n for (const name in propertyTypes) {\n if (name in $$props) {\n grid[name] = $$props[name];\n }\n }\n renderer.updated();\n });\n onDestroy(() => {\n grid?.destroy();\n });\n export function getInstance() {\n return grid;\n }\n</script>\n\n<div bind:this={wrapper} {...attributes}>\n {#if $$props.container === true}\n <div class={CONTAINER_CLASS_NAME} bind:this={container}>\n <slot {visibleItems} />\n </div>\n {:else}\n <slot {visibleItems} />\n {/if}\n</div>\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport InfiniteGrid from \"./InfiniteGrid.svelte\";\nimport { INFINITEGRID_METHODS } from \"@egjs/infinitegrid\";\n\nexport default /*#__PURE__*/ (() => {\n const prototype = InfiniteGrid.prototype;\n\n if (prototype) {\n INFINITEGRID_METHODS.forEach(name => {\n if (name in prototype) {\n return;\n }\n prototype[name] = function (...args) {\n const self = this.getInstance();\n const result = self[name](...args);\n\n if (result === self) {\n return this;\n } else {\n return result;\n }\n };\n });\n }\n return InfiniteGrid;\n})();\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet MasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n MasonryInfiniteGrid = InfiniteGrid;\n} else {\n MasonryInfiniteGrid = class MasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet JustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n JustifiedInfiniteGrid = InfiniteGrid;\n} else {\n JustifiedInfiniteGrid = class JustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet FrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n FrameInfiniteGrid = InfiniteGrid;\n} else {\n FrameInfiniteGrid = class FrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet PackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n PackingInfiniteGrid = InfiniteGrid;\n} else {\n PackingInfiniteGrid = class PackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","ctx","container","GridClass","dispatch","createEventDispatcher","renderer","Renderer","wrapper","grid","attributes","visibleItems","updateAttributes","props","defaultOptions","name","forEach","getItemInfos","items","$$props","itemBy","item","key","groupBy","groupKey","map","i","data","updateVisibleChildren","getRenderingItems","status","usePlaceholder","useFirstRender","useLoading","horizontal","onMount","options","INFINITEGRID_EVENTS","eventName","on","e","mountRenderingItems","updated","afterUpdate","propertyTypes","onDestroy","destroy","getInstance","$","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","MasonryInfiniteGrid","constructor","JustifiedInfiniteGrid","FrameInfiniteGrid","PackingInfiniteGrid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"infinitegrid.esm.js","sources":["../src/consts.js","../src/InfiniteGrid.svelte","../src/InfiniteGrid.js","../src/grids/MasonryInfiniteGrid.js","../src/grids/JustifiedInfiniteGrid.js","../src/grids/FrameInfiniteGrid.js","../src/grids/PackingInfiniteGrid.js"],"sourcesContent":["export const SVELTE_INFINITEGRID_PROPS = [\n \"status\",\n \"useFirstRender\",\n \"useLoading\",\n \"usePlaceholder\",\n \"items\",\n \"itemBy\",\n \"groupBy\",\n];\n","<script>\n /**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\n import {\n onMount,\n beforeUpdate,\n createEventDispatcher,\n onDestroy,\n afterUpdate,\n } from \"svelte\";\n import {\n INFINITEGRID_EVENTS,\n Renderer,\n CONTAINER_CLASS_NAME,\n getRenderingItems,\n mountRenderingItems,\n } from \"@egjs/infinitegrid\";\n import { SVELTE_INFINITEGRID_PROPS } from \"./consts\";\n export let GridClass;\n export let vanillaGrid = null;\n\n const dispatch = createEventDispatcher();\n const renderer = new Renderer();\n let wrapper;\n let container;\n let isFirstMount = false;\n let attributes = {};\n let visibleItems = [];\n\n function updateAttributes(props) {\n attributes = { ...props };\n\n const defaultOptions = GridClass.defaultOptions;\n\n delete attributes[\"GridClass\"];\n for (const name in defaultOptions) {\n delete attributes[name];\n }\n SVELTE_INFINITEGRID_PROPS.forEach((name) => {\n delete attributes[name];\n });\n }\n function getItemInfos() {\n const items = $$props.items || [];\n const itemBy = $$props.itemBy || ((item) => item.key);\n const groupBy = $$props.groupBy || ((item) => item.groupKey);\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(item, i),\n key: itemBy(item, i),\n data: item,\n };\n });\n }\n function updateVisibleChildren(props) {\n visibleItems = getRenderingItems(getItemInfos(), {\n grid: vanillaGrid,\n status: props.status,\n usePlaceholder: props.usePlaceholder,\n useFirstRender: props.useFirstRender,\n useLoading: props.useLoading,\n horizontal: props.horizontal,\n });\n }\n\n beforeUpdate(() => {\n updateAttributes($$props);\n updateVisibleChildren($$props);\n });\n\n onMount(() => {\n const defaultOptions = GridClass.defaultOptions;\n const options = {};\n\n for (const name in defaultOptions) {\n if (name in $$props) {\n options[name] = $$props[name];\n }\n }\n if (container) {\n options.container = container;\n }\n options.renderer = renderer;\n vanillaGrid = new GridClass(wrapper, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = INFINITEGRID_EVENTS[name];\n\n vanillaGrid.on(eventName, (e) => {\n dispatch(eventName, e);\n });\n }\n renderer.on(\"requestUpdate\", () => {\n updateVisibleChildren($$props);\n });\n\n mountRenderingItems(getItemInfos(), {\n grid: vanillaGrid,\n status: $$props.status,\n usePlaceholder: $$props.usePlaceholder,\n useFirstRender: $$props.useFirstRender,\n useLoading: $$props.useLoading,\n horizontal: $$props.horizontal,\n });\n renderer.updated();\n });\n afterUpdate(() => {\n if (isFirstMount) {\n isFirstMount = false;\n return;\n }\n const propertyTypes = GridClass.propertyTypes;\n\n for (const name in propertyTypes) {\n if (name in $$props) {\n vanillaGrid[name] = $$props[name];\n }\n }\n renderer.updated();\n });\n onDestroy(() => {\n vanillaGrid && vanillaGrid.destroy();\n });\n export function getInstance() {\n return vanillaGrid;\n }\n</script>\n\n<div bind:this={wrapper} {...attributes}>\n {#if $$props.container === true}\n <div class={CONTAINER_CLASS_NAME} bind:this={container}>\n <slot {visibleItems} />\n </div>\n {:else}\n <slot {visibleItems} />\n {/if}\n</div>\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport InfiniteGrid from \"./InfiniteGrid.svelte\";\nimport { INFINITEGRID_METHODS } from \"@egjs/infinitegrid\";\n\nexport default /*#__PURE__*/ (() => {\n const prototype = InfiniteGrid.prototype;\n\n if (prototype) {\n INFINITEGRID_METHODS.forEach(name => {\n if (name in prototype) {\n return;\n }\n prototype[name] = function (...args) {\n const self = this.getInstance();\n const result = self[name](...args);\n\n if (result === self) {\n return this;\n } else {\n return result;\n }\n };\n });\n }\n return InfiniteGrid;\n})();\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet MasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n MasonryInfiniteGrid = InfiniteGrid;\n} else {\n MasonryInfiniteGrid = class MasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet JustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n JustifiedInfiniteGrid = InfiniteGrid;\n} else {\n JustifiedInfiniteGrid = class JustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet FrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n FrameInfiniteGrid = InfiniteGrid;\n} else {\n FrameInfiniteGrid = class FrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet PackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n PackingInfiniteGrid = InfiniteGrid;\n} else {\n PackingInfiniteGrid = class PackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","ctx","container","GridClass","vanillaGrid","dispatch","createEventDispatcher","renderer","Renderer","wrapper","attributes","visibleItems","updateAttributes","props","defaultOptions","name","forEach","getItemInfos","items","$$props","itemBy","item","key","groupBy","groupKey","map","i","data","updateVisibleChildren","getRenderingItems","grid","status","usePlaceholder","useFirstRender","useLoading","horizontal","beforeUpdate","onMount","options","INFINITEGRID_EVENTS","eventName","on","e","mountRenderingItems","updated","afterUpdate","propertyTypes","onDestroy","destroy","getInstance","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","MasonryInfiniteGrid","constructor","JustifiedInfiniteGrid","FrameInfiniteGrid","PackingInfiniteGrid"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@egjs/svelte-infinitegrid",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.2-beta.0",
|
|
4
4
|
"description": "A Svelte component that can arrange items infinitely according to the type of grids",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"svelte": "src/index.js",
|
|
@@ -69,6 +69,6 @@
|
|
|
69
69
|
"typescript": "^4.0.0"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@egjs/infinitegrid": "~4.
|
|
72
|
+
"@egjs/infinitegrid": "~4.1.1"
|
|
73
73
|
}
|
|
74
74
|
}
|
package/rollup.config.js
CHANGED
|
@@ -43,8 +43,7 @@ export default {
|
|
|
43
43
|
preprocess: sveltePreprocess({ sourceMap: !production }),
|
|
44
44
|
compilerOptions: {
|
|
45
45
|
// enable run-time checks when not in production
|
|
46
|
-
dev: !production
|
|
47
|
-
generate: "ssr",
|
|
46
|
+
dev: !production
|
|
48
47
|
}
|
|
49
48
|
}),
|
|
50
49
|
// we'll extract any component CSS out into
|
package/src/InfiniteGrid.svelte
CHANGED
|
@@ -20,12 +20,12 @@
|
|
|
20
20
|
} from "@egjs/infinitegrid";
|
|
21
21
|
import { SVELTE_INFINITEGRID_PROPS } from "./consts";
|
|
22
22
|
export let GridClass;
|
|
23
|
+
export let vanillaGrid = null;
|
|
23
24
|
|
|
24
25
|
const dispatch = createEventDispatcher();
|
|
25
26
|
const renderer = new Renderer();
|
|
26
27
|
let wrapper;
|
|
27
28
|
let container;
|
|
28
|
-
let grid;
|
|
29
29
|
let isFirstMount = false;
|
|
30
30
|
let attributes = {};
|
|
31
31
|
let visibleItems = [];
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
}
|
|
59
59
|
function updateVisibleChildren(props) {
|
|
60
60
|
visibleItems = getRenderingItems(getItemInfos(), {
|
|
61
|
-
grid,
|
|
61
|
+
grid: vanillaGrid,
|
|
62
62
|
status: props.status,
|
|
63
63
|
usePlaceholder: props.usePlaceholder,
|
|
64
64
|
useFirstRender: props.useFirstRender,
|
|
@@ -67,8 +67,10 @@
|
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
beforeUpdate(() => {
|
|
71
|
+
updateAttributes($$props);
|
|
72
|
+
updateVisibleChildren($$props);
|
|
73
|
+
});
|
|
72
74
|
|
|
73
75
|
onMount(() => {
|
|
74
76
|
const defaultOptions = GridClass.defaultOptions;
|
|
@@ -83,20 +85,21 @@
|
|
|
83
85
|
options.container = container;
|
|
84
86
|
}
|
|
85
87
|
options.renderer = renderer;
|
|
86
|
-
|
|
88
|
+
vanillaGrid = new GridClass(wrapper, options);
|
|
87
89
|
|
|
88
90
|
for (const name in INFINITEGRID_EVENTS) {
|
|
89
91
|
const eventName = INFINITEGRID_EVENTS[name];
|
|
90
92
|
|
|
91
|
-
|
|
93
|
+
vanillaGrid.on(eventName, (e) => {
|
|
92
94
|
dispatch(eventName, e);
|
|
93
95
|
});
|
|
94
96
|
}
|
|
95
97
|
renderer.on("requestUpdate", () => {
|
|
96
98
|
updateVisibleChildren($$props);
|
|
97
99
|
});
|
|
100
|
+
|
|
98
101
|
mountRenderingItems(getItemInfos(), {
|
|
99
|
-
grid,
|
|
102
|
+
grid: vanillaGrid,
|
|
100
103
|
status: $$props.status,
|
|
101
104
|
usePlaceholder: $$props.usePlaceholder,
|
|
102
105
|
useFirstRender: $$props.useFirstRender,
|
|
@@ -114,16 +117,16 @@
|
|
|
114
117
|
|
|
115
118
|
for (const name in propertyTypes) {
|
|
116
119
|
if (name in $$props) {
|
|
117
|
-
|
|
120
|
+
vanillaGrid[name] = $$props[name];
|
|
118
121
|
}
|
|
119
122
|
}
|
|
120
123
|
renderer.updated();
|
|
121
124
|
});
|
|
122
125
|
onDestroy(() => {
|
|
123
|
-
|
|
126
|
+
vanillaGrid && vanillaGrid.destroy();
|
|
124
127
|
});
|
|
125
128
|
export function getInstance() {
|
|
126
|
-
return
|
|
129
|
+
return vanillaGrid;
|
|
127
130
|
}
|
|
128
131
|
</script>
|
|
129
132
|
|
package/src/index.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from "@egjs/
|
|
1
|
+
import VanillaInfiniteGrid, {
|
|
2
|
+
FrameInfiniteGridOptions, InfiniteGridMethods, InfiniteGridOptions, JustifiedInfiniteGridOptions,
|
|
3
|
+
MasonryInfiniteGridOptions, PackingInfiniteGridOptions,
|
|
4
|
+
} from "@egjs/Infinitegrid";
|
|
5
5
|
import { SvelteComponentDev } from "svelte/internal";
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
export default abstract class
|
|
8
|
+
export default abstract class InfiniteGrid<T extends InfiniteGridOptions> extends SvelteComponentDev {
|
|
9
9
|
$$prop_def: T;
|
|
10
|
-
getInstance():
|
|
10
|
+
getInstance(): VanillaInfiniteGrid;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export default interface
|
|
13
|
+
export default interface InfiniteGrid<T extends InfiniteGridOptions> extends InfiniteGridMethods<InfiniteGrid<T>> {
|
|
14
14
|
// eslint-disable-next-line semi
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
export class
|
|
18
|
-
export class
|
|
19
|
-
export class
|
|
20
|
-
export class
|
|
17
|
+
export class MasonryInfiniteGrid extends InfiniteGrid<MasonryInfiniteGridOptions> { }
|
|
18
|
+
export class JustifiedInfiniteGrid extends InfiniteGrid<JustifiedInfiniteGridOptions> { }
|
|
19
|
+
export class FrameInfiniteGrid extends InfiniteGrid<FrameInfiniteGridOptions> { }
|
|
20
|
+
export class PackingInfiniteGrid extends InfiniteGrid<PackingInfiniteGridOptions> { }
|