@akinon/akifilter 1.2.0-next.7 → 1.2.0-next.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"akifilter.d.ts","sourceRoot":"","sources":["../../src/akifilter.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAGtB,OAAO,EAIL,WAAW,EAEX,IAAI,EAGL,MAAM,iBAAiB,CAAC;AAWzB,OAAO,KAAK,MAAM,OAAO,CAAC;AA0B1B,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAC;AAY/D,KAAK,oBAAoB,GAAG,WAAW,CAAC;AA2DxC,MAAM,MAAM,cAAc,CACxB,YAAY,SAAS,oBAAoB,GAAG,oBAAoB,IAC9D;IACF;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC7C;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACzD;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,CAAC;IAClE;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAkvBF,eAAO,MAAM,SAAS;KACpB,YAAY,SAAS,oBAAoB,uBAElC,cAAc,CAAC,YAAY,CAAC;;CAmBpC,CAAC"}
1
+ {"version":3,"file":"akifilter.d.ts","sourceRoot":"","sources":["../../src/akifilter.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAGtB,OAAO,EAIL,WAAW,EAEX,IAAI,EAGL,MAAM,iBAAiB,CAAC;AAWzB,OAAO,KAAK,MAAM,OAAO,CAAC;AA0B1B,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAC;AAY/D,KAAK,oBAAoB,GAAG,WAAW,CAAC;AA2DxC,MAAM,MAAM,cAAc,CACxB,YAAY,SAAS,oBAAoB,GAAG,oBAAoB,IAC9D;IACF;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC7C;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACzD;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,CAAC;IAClE;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA2vBF,eAAO,MAAM,SAAS;KACpB,YAAY,SAAS,oBAAoB,uBAElC,cAAc,CAAC,YAAY,CAAC;;CAmBpC,CAAC"}
@@ -187,14 +187,20 @@ const AkifilterContent = ({ filterSchema, storageNamespace, defaultValues, onVal
187
187
  (0, storage_1.writeVisibleKeys)(storageKey, visibleKeys);
188
188
  onVisibleFieldsChange === null || onVisibleFieldsChange === void 0 ? void 0 : onVisibleFieldsChange(visibleKeys);
189
189
  }, [visibleKeys, onVisibleFieldsChange, storageKey]);
190
- // Track if this is the initial mount to avoid unnecessary reset
191
- const isInitialMountRef = react_1.default.useRef(true);
190
+ // Track previous mergedDefaultValues to avoid unnecessary resets
191
+ const previousMergedDefaultValuesRef = react_1.default.useRef(null);
192
192
  react_1.default.useEffect(() => {
193
+ const serialised = JSON.stringify(mergedDefaultValues);
194
+ // Skip if the values haven't actually changed (deep comparison)
195
+ if (previousMergedDefaultValuesRef.current === serialised) {
196
+ return;
197
+ }
193
198
  // Skip reset on initial mount - useForm already uses defaultValues
194
- if (isInitialMountRef.current) {
195
- isInitialMountRef.current = false;
199
+ if (previousMergedDefaultValuesRef.current === null) {
200
+ previousMergedDefaultValuesRef.current = serialised;
196
201
  return;
197
202
  }
203
+ previousMergedDefaultValuesRef.current = serialised;
198
204
  formMethods.reset(mergedDefaultValues);
199
205
  }, [formMethods, mergedDefaultValues]);
200
206
  const normalisedValues = react_1.default.useMemo(() => (0, values_1.normaliseOutputValues)(flattenedSchema, formValues), [flattenedSchema, formValues]);
@@ -1 +1 @@
1
- {"version":3,"file":"akifilter.d.ts","sourceRoot":"","sources":["../../src/akifilter.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAGtB,OAAO,EAIL,WAAW,EAEX,IAAI,EAGL,MAAM,iBAAiB,CAAC;AAWzB,OAAO,KAAK,MAAM,OAAO,CAAC;AA0B1B,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAC;AAY/D,KAAK,oBAAoB,GAAG,WAAW,CAAC;AA2DxC,MAAM,MAAM,cAAc,CACxB,YAAY,SAAS,oBAAoB,GAAG,oBAAoB,IAC9D;IACF;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC7C;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACzD;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,CAAC;IAClE;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAkvBF,eAAO,MAAM,SAAS;KACpB,YAAY,SAAS,oBAAoB,uBAElC,cAAc,CAAC,YAAY,CAAC;;CAmBpC,CAAC"}
1
+ {"version":3,"file":"akifilter.d.ts","sourceRoot":"","sources":["../../src/akifilter.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAGtB,OAAO,EAIL,WAAW,EAEX,IAAI,EAGL,MAAM,iBAAiB,CAAC;AAWzB,OAAO,KAAK,MAAM,OAAO,CAAC;AA0B1B,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAC;AAY/D,KAAK,oBAAoB,GAAG,WAAW,CAAC;AA2DxC,MAAM,MAAM,cAAc,CACxB,YAAY,SAAS,oBAAoB,GAAG,oBAAoB,IAC9D;IACF;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC7C;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACzD;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,CAAC;IAClE;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA2vBF,eAAO,MAAM,SAAS;KACpB,YAAY,SAAS,oBAAoB,uBAElC,cAAc,CAAC,YAAY,CAAC;;CAmBpC,CAAC"}
@@ -184,14 +184,20 @@ const AkifilterContent = ({ filterSchema, storageNamespace, defaultValues, onVal
184
184
  writeVisibleKeys(storageKey, visibleKeys);
185
185
  onVisibleFieldsChange === null || onVisibleFieldsChange === void 0 ? void 0 : onVisibleFieldsChange(visibleKeys);
186
186
  }, [visibleKeys, onVisibleFieldsChange, storageKey]);
187
- // Track if this is the initial mount to avoid unnecessary reset
188
- const isInitialMountRef = React.useRef(true);
187
+ // Track previous mergedDefaultValues to avoid unnecessary resets
188
+ const previousMergedDefaultValuesRef = React.useRef(null);
189
189
  React.useEffect(() => {
190
+ const serialised = JSON.stringify(mergedDefaultValues);
191
+ // Skip if the values haven't actually changed (deep comparison)
192
+ if (previousMergedDefaultValuesRef.current === serialised) {
193
+ return;
194
+ }
190
195
  // Skip reset on initial mount - useForm already uses defaultValues
191
- if (isInitialMountRef.current) {
192
- isInitialMountRef.current = false;
196
+ if (previousMergedDefaultValuesRef.current === null) {
197
+ previousMergedDefaultValuesRef.current = serialised;
193
198
  return;
194
199
  }
200
+ previousMergedDefaultValuesRef.current = serialised;
195
201
  formMethods.reset(mergedDefaultValues);
196
202
  }, [formMethods, mergedDefaultValues]);
197
203
  const normalisedValues = React.useMemo(() => normaliseOutputValues(flattenedSchema, formValues), [flattenedSchema, formValues]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akinon/akifilter",
3
- "version": "1.2.0-next.7",
3
+ "version": "1.2.0-next.8",
4
4
  "private": false,
5
5
  "description": "Akifilter is a filtering library for Akinon frontend applications.",
6
6
  "type": "module",
@@ -12,22 +12,22 @@
12
12
  "dependencies": {
13
13
  "antd": "^5.27.0",
14
14
  "react-error-boundary": "^6.0.0",
15
- "@akinon/akidate": "1.1.3-next.0",
16
15
  "@akinon/akiform": "1.1.2",
17
- "@akinon/akilocale": "1.2.1",
18
16
  "@akinon/icons": "1.1.2-next.1",
19
- "@akinon/ui-checkbox": "1.3.3-next.1",
17
+ "@akinon/akilocale": "1.2.1",
18
+ "@akinon/ui-button": "1.4.0-next.1",
20
19
  "@akinon/ui-card": "1.1.3-next.1",
21
20
  "@akinon/ui-collapse": "1.3.2-next.1",
22
- "@akinon/ui-button": "1.4.0-next.1",
21
+ "@akinon/ui-checkbox": "1.3.3-next.1",
23
22
  "@akinon/ui-date-picker": "1.3.3-next.1",
24
- "@akinon/ui-input-number": "1.3.3-next.1",
25
- "@akinon/ui-modal": "1.1.3-next.1",
26
23
  "@akinon/ui-input": "1.1.3-next.1",
24
+ "@akinon/ui-input-number": "1.3.3-next.1",
27
25
  "@akinon/ui-pagination": "1.3.4-next.1",
26
+ "@akinon/ui-modal": "1.1.3-next.1",
28
27
  "@akinon/ui-select": "1.3.4-next.1",
28
+ "@akinon/ui-space": "1.3.3-next.1",
29
29
  "@akinon/ui-typography": "1.1.2-next.0",
30
- "@akinon/ui-space": "1.3.3-next.1"
30
+ "@akinon/akidate": "1.1.3-next.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "clean-package": "2.2.0",
@@ -37,8 +37,8 @@
37
37
  "@akinon/akiform-builder": "1.3.5-next.1",
38
38
  "@akinon/typescript-config": "1.1.1",
39
39
  "@akinon/ui-theme": "1.1.3-next.1",
40
- "@akinon/vitest-config": "1.1.1",
41
- "@akinon/utils": "1.1.4-next.1"
40
+ "@akinon/utils": "1.1.4-next.1",
41
+ "@akinon/vitest-config": "1.1.1"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "react": "^18 || ^19",