@etsoo/react 1.8.78 → 1.8.80

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.
@@ -158,7 +158,7 @@ const ScrollerList = (props) => {
158
158
  localRef.current?.scrollToRow(param);
159
159
  }
160
160
  };
161
- }, []);
161
+ }, [rows]);
162
162
  // When layout ready
163
163
  react_1.default.useEffect(() => {
164
164
  // Return clear function
@@ -13,5 +13,6 @@ interface states {
13
13
  export declare function useDimensions(elements: number, updateCallback?: (target: Element, rect: DOMRect) => boolean | void, miliseconds?: number, equalCallback?: (d1?: DOMRect, d2?: DOMRect) => boolean): {
14
14
  dimensions: [React.RefCallback<Element>, Element?, DOMRect?][];
15
15
  state: states;
16
+ clear: () => void;
16
17
  };
17
18
  export {};
@@ -85,14 +85,15 @@ function useDimensions(elements, updateCallback, miliseconds = 50, equalCallback
85
85
  delayed.call(undefined, update);
86
86
  }
87
87
  });
88
+ // Clear the observer
89
+ const clear = () => {
90
+ resizeObserver.disconnect();
91
+ delayed.clear();
92
+ };
88
93
  // Layout ready
89
94
  react_1.default.useEffect(() => {
90
- return () => {
91
- // Clear the observer
92
- resizeObserver.disconnect();
93
- delayed.clear();
94
- };
95
+ return clear;
95
96
  }, []);
96
97
  // Return
97
- return { dimensions: dimensions.current, state };
98
+ return { dimensions: dimensions.current, state, clear };
98
99
  }
@@ -152,7 +152,7 @@ export const ScrollerList = (props) => {
152
152
  localRef.current?.scrollToRow(param);
153
153
  }
154
154
  };
155
- }, []);
155
+ }, [rows]);
156
156
  // When layout ready
157
157
  React.useEffect(() => {
158
158
  // Return clear function
@@ -13,5 +13,6 @@ interface states {
13
13
  export declare function useDimensions(elements: number, updateCallback?: (target: Element, rect: DOMRect) => boolean | void, miliseconds?: number, equalCallback?: (d1?: DOMRect, d2?: DOMRect) => boolean): {
14
14
  dimensions: [React.RefCallback<Element>, Element?, DOMRect?][];
15
15
  state: states;
16
+ clear: () => void;
16
17
  };
17
18
  export {};
@@ -79,14 +79,15 @@ export function useDimensions(elements, updateCallback, miliseconds = 50, equalC
79
79
  delayed.call(undefined, update);
80
80
  }
81
81
  });
82
+ // Clear the observer
83
+ const clear = () => {
84
+ resizeObserver.disconnect();
85
+ delayed.clear();
86
+ };
82
87
  // Layout ready
83
88
  React.useEffect(() => {
84
- return () => {
85
- // Clear the observer
86
- resizeObserver.disconnect();
87
- delayed.clear();
88
- };
89
+ return clear;
89
90
  }, []);
90
91
  // Return
91
- return { dimensions: dimensions.current, state };
92
+ return { dimensions: dimensions.current, state, clear };
92
93
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/react",
3
- "version": "1.8.78",
3
+ "version": "1.8.80",
4
4
  "description": "TypeScript ReactJs UI Independent Framework",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/mjs/index.js",
@@ -231,40 +231,36 @@ export const ScrollerList = <T extends object>(props: ScrollerListProps<T>) => {
231
231
  if (stateRefs.current.isMounted !== false) setRows(items, true);
232
232
  };
233
233
 
234
- React.useImperativeHandle(
235
- mRef,
236
- () => {
237
- return {
238
- get element() {
239
- return localRef.current?.element;
240
- },
241
- delete(index) {
242
- const item = rows.at(index);
243
- if (item) {
244
- const newRows = [...rows];
245
- newRows.splice(index, 1);
246
- setRows(newRows);
247
- }
248
- return item;
249
- },
250
- insert(item, start) {
234
+ React.useImperativeHandle(mRef, () => {
235
+ return {
236
+ get element() {
237
+ return localRef.current?.element;
238
+ },
239
+ delete(index) {
240
+ const item = rows.at(index);
241
+ if (item) {
251
242
  const newRows = [...rows];
252
- newRows.splice(start, 0, item);
243
+ newRows.splice(index, 1);
253
244
  setRows(newRows);
254
- },
255
- refresh(): void {
256
- loadDataLocal(0);
257
- },
245
+ }
246
+ return item;
247
+ },
248
+ insert(item, start) {
249
+ const newRows = [...rows];
250
+ newRows.splice(start, 0, item);
251
+ setRows(newRows);
252
+ },
253
+ refresh(): void {
254
+ loadDataLocal(0);
255
+ },
258
256
 
259
- reset,
257
+ reset,
260
258
 
261
- scrollToRow(param: ScrollToRowParam): void {
262
- localRef.current?.scrollToRow(param);
263
- }
264
- };
265
- },
266
- []
267
- );
259
+ scrollToRow(param: ScrollToRowParam): void {
260
+ localRef.current?.scrollToRow(param);
261
+ }
262
+ };
263
+ }, [rows]);
268
264
 
269
265
  // When layout ready
270
266
  React.useEffect(() => {
@@ -25,6 +25,7 @@ export function useDimensions(
25
25
  ): {
26
26
  dimensions: [React.RefCallback<Element>, Element?, DOMRect?][];
27
27
  state: states;
28
+ clear: () => void;
28
29
  } {
29
30
  // State
30
31
  const [state, setState] = React.useState<states>({
@@ -111,15 +112,17 @@ export function useDimensions(
111
112
  }
112
113
  });
113
114
 
115
+ // Clear the observer
116
+ const clear = () => {
117
+ resizeObserver.disconnect();
118
+ delayed.clear();
119
+ };
120
+
114
121
  // Layout ready
115
122
  React.useEffect(() => {
116
- return () => {
117
- // Clear the observer
118
- resizeObserver.disconnect();
119
- delayed.clear();
120
- };
123
+ return clear;
121
124
  }, []);
122
125
 
123
126
  // Return
124
- return { dimensions: dimensions.current, state };
127
+ return { dimensions: dimensions.current, state, clear };
125
128
  }