dce-reactkit 3.6.16 → 3.6.17

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.
@@ -6,7 +6,7 @@ import express from 'express';
6
6
  type DCEMangoCollection = {
7
7
  /**
8
8
  * Find all items in the collection that match the filter query
9
- * @param filterQuery
9
+ * @param filterQuery query for the filter
10
10
  * @returns list of items that match the filter query
11
11
  */
12
12
  find: (filterQuery: any) => Promise<any[]>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Create a function that forces a render of a component. Use this only when
3
+ * absolutely necessary
4
+ * @author Gabe Abrams
5
+ * @param useReducer the useReducer hook
6
+ * @returns forceRender function
7
+ */
8
+ declare const useForceRender: (useReducer: any) => () => void;
9
+ export default useForceRender;
@@ -6,7 +6,7 @@ import express from 'express';
6
6
  type DCEMangoCollection = {
7
7
  /**
8
8
  * Find all items in the collection that match the filter query
9
- * @param filterQuery
9
+ * @param filterQuery query for the filter
10
10
  * @returns list of items that match the filter query
11
11
  */
12
12
  find: (filterQuery: any) => Promise<any[]>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Create a function that forces a render of a component. Use this only when
3
+ * absolutely necessary
4
+ * @author Gabe Abrams
5
+ * @param useReducer the useReducer hook
6
+ * @returns forceRender function
7
+ */
8
+ declare const useForceRender: (useReducer: any) => () => void;
9
+ export default useForceRender;
package/dist/index.d.ts CHANGED
@@ -1293,7 +1293,7 @@ declare const getLocalTimeInfo: (dateOrTimestamp?: Date | number) => {
1293
1293
  type DCEMangoCollection = {
1294
1294
  /**
1295
1295
  * Find all items in the collection that match the filter query
1296
- * @param filterQuery
1296
+ * @param filterQuery query for the filter
1297
1297
  * @returns list of items that match the filter query
1298
1298
  */
1299
1299
  find: (filterQuery: any) => Promise<any[]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dce-reactkit",
3
- "version": "3.6.16",
3
+ "version": "3.6.17",
4
4
  "description": "Shared components for Harvard DCE apps",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -15,7 +15,7 @@ import ParamType from '../types/ParamType';
15
15
  type DCEMangoCollection = {
16
16
  /**
17
17
  * Find all items in the collection that match the filter query
18
- * @param filterQuery
18
+ * @param filterQuery query for the filter
19
19
  * @returns list of items that match the filter query
20
20
  */
21
21
  find: (filterQuery: any) => Promise<any[]>,
@@ -0,0 +1,46 @@
1
+ /* -------- State Definition -------- */
2
+
3
+ type State = {
4
+ // The number of times the component has been forced to render
5
+ renderCount: number,
6
+ };
7
+
8
+ /* ------------- Reducer ------------ */
9
+
10
+ /**
11
+ * Reducer that executes actions
12
+ * @author Gabe Abrams
13
+ * @param state current state
14
+ */
15
+ const reducer = (state: State): State => {
16
+ return {
17
+ renderCount: state.renderCount + 1,
18
+ };
19
+ };
20
+
21
+ /* -------------- Main -------------- */
22
+
23
+ /**
24
+ * Create a function that forces a render of a component. Use this only when
25
+ * absolutely necessary
26
+ * @author Gabe Abrams
27
+ * @param useReducer the useReducer hook
28
+ * @returns forceRender function
29
+ */
30
+ const useForceRender = (useReducer: any) => {
31
+ // Initial state
32
+ const initialState: State = {
33
+ renderCount: 0,
34
+ };
35
+
36
+ // Initialize state
37
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
+ const [state, dispatch] = useReducer(reducer, initialState);
39
+
40
+ // Create and return the forceRender function
41
+ return () => {
42
+ dispatch();
43
+ };
44
+ };
45
+
46
+ export default useForceRender;