@akinon/akifilter 1.2.0-next.6 → 1.2.0-next.7
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;
|
|
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"}
|
package/dist/cjs/akifilter.js
CHANGED
|
@@ -187,7 +187,14 @@ 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
192
|
react_1.default.useEffect(() => {
|
|
193
|
+
// Skip reset on initial mount - useForm already uses defaultValues
|
|
194
|
+
if (isInitialMountRef.current) {
|
|
195
|
+
isInitialMountRef.current = false;
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
191
198
|
formMethods.reset(mergedDefaultValues);
|
|
192
199
|
}, [formMethods, mergedDefaultValues]);
|
|
193
200
|
const normalisedValues = react_1.default.useMemo(() => (0, values_1.normaliseOutputValues)(flattenedSchema, formValues), [flattenedSchema, formValues]);
|
|
@@ -268,33 +275,13 @@ const AkifilterContent = ({ filterSchema, storageNamespace, defaultValues, onVal
|
|
|
268
275
|
const removedKeys = prevKeys.filter(key => !currKeys.includes(key));
|
|
269
276
|
// If a field was removed, immediately persist and emit (bypass debounce)
|
|
270
277
|
if (removedKeys.length > 0) {
|
|
271
|
-
// Sync form state for removed fields
|
|
272
|
-
removedKeys.forEach(key => {
|
|
273
|
-
const field = flattenedSchema.find(f => String(f.key) === key);
|
|
274
|
-
if (field) {
|
|
275
|
-
const defaultValue = schemaDefaults[key];
|
|
276
|
-
const nextValue = resolveClearedFieldValue(field, defaultValue);
|
|
277
|
-
formMethods.setValue(field.key, nextValue, {
|
|
278
|
-
shouldDirty: false,
|
|
279
|
-
shouldTouch: false,
|
|
280
|
-
shouldValidate: false
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
278
|
const nextSerialised = current;
|
|
285
279
|
persistValues(currParsed, nextSerialised);
|
|
286
280
|
lastPersistedValuesRef.current = nextSerialised;
|
|
287
281
|
currentSerialisedValuesRef.current = nextSerialised;
|
|
288
282
|
onValuesChange === null || onValuesChange === void 0 ? void 0 : onValuesChange(currParsed);
|
|
289
283
|
}
|
|
290
|
-
}, [
|
|
291
|
-
serialisedValues,
|
|
292
|
-
onValuesChange,
|
|
293
|
-
persistValues,
|
|
294
|
-
flattenedSchema,
|
|
295
|
-
schemaDefaults,
|
|
296
|
-
formMethods
|
|
297
|
-
]);
|
|
284
|
+
}, [serialisedValues, onValuesChange, persistValues]);
|
|
298
285
|
const handleClearAll = react_1.default.useCallback(() => {
|
|
299
286
|
const clearedDefaults = Object.assign({}, schemaDefaults);
|
|
300
287
|
flattenedSchema.forEach(field => {
|
|
@@ -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;
|
|
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"}
|
package/dist/esm/akifilter.js
CHANGED
|
@@ -184,7 +184,14 @@ 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
189
|
React.useEffect(() => {
|
|
190
|
+
// Skip reset on initial mount - useForm already uses defaultValues
|
|
191
|
+
if (isInitialMountRef.current) {
|
|
192
|
+
isInitialMountRef.current = false;
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
188
195
|
formMethods.reset(mergedDefaultValues);
|
|
189
196
|
}, [formMethods, mergedDefaultValues]);
|
|
190
197
|
const normalisedValues = React.useMemo(() => normaliseOutputValues(flattenedSchema, formValues), [flattenedSchema, formValues]);
|
|
@@ -265,33 +272,13 @@ const AkifilterContent = ({ filterSchema, storageNamespace, defaultValues, onVal
|
|
|
265
272
|
const removedKeys = prevKeys.filter(key => !currKeys.includes(key));
|
|
266
273
|
// If a field was removed, immediately persist and emit (bypass debounce)
|
|
267
274
|
if (removedKeys.length > 0) {
|
|
268
|
-
// Sync form state for removed fields
|
|
269
|
-
removedKeys.forEach(key => {
|
|
270
|
-
const field = flattenedSchema.find(f => String(f.key) === key);
|
|
271
|
-
if (field) {
|
|
272
|
-
const defaultValue = schemaDefaults[key];
|
|
273
|
-
const nextValue = resolveClearedFieldValue(field, defaultValue);
|
|
274
|
-
formMethods.setValue(field.key, nextValue, {
|
|
275
|
-
shouldDirty: false,
|
|
276
|
-
shouldTouch: false,
|
|
277
|
-
shouldValidate: false
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
});
|
|
281
275
|
const nextSerialised = current;
|
|
282
276
|
persistValues(currParsed, nextSerialised);
|
|
283
277
|
lastPersistedValuesRef.current = nextSerialised;
|
|
284
278
|
currentSerialisedValuesRef.current = nextSerialised;
|
|
285
279
|
onValuesChange === null || onValuesChange === void 0 ? void 0 : onValuesChange(currParsed);
|
|
286
280
|
}
|
|
287
|
-
}, [
|
|
288
|
-
serialisedValues,
|
|
289
|
-
onValuesChange,
|
|
290
|
-
persistValues,
|
|
291
|
-
flattenedSchema,
|
|
292
|
-
schemaDefaults,
|
|
293
|
-
formMethods
|
|
294
|
-
]);
|
|
281
|
+
}, [serialisedValues, onValuesChange, persistValues]);
|
|
295
282
|
const handleClearAll = React.useCallback(() => {
|
|
296
283
|
const clearedDefaults = Object.assign({}, schemaDefaults);
|
|
297
284
|
flattenedSchema.forEach(field => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akinon/akifilter",
|
|
3
|
-
"version": "1.2.0-next.
|
|
3
|
+
"version": "1.2.0-next.7",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Akifilter is a filtering library for Akinon frontend applications.",
|
|
6
6
|
"type": "module",
|
|
@@ -16,18 +16,18 @@
|
|
|
16
16
|
"@akinon/akiform": "1.1.2",
|
|
17
17
|
"@akinon/akilocale": "1.2.1",
|
|
18
18
|
"@akinon/icons": "1.1.2-next.1",
|
|
19
|
-
"@akinon/ui-button": "1.4.0-next.1",
|
|
20
|
-
"@akinon/ui-card": "1.1.3-next.1",
|
|
21
19
|
"@akinon/ui-checkbox": "1.3.3-next.1",
|
|
20
|
+
"@akinon/ui-card": "1.1.3-next.1",
|
|
21
|
+
"@akinon/ui-collapse": "1.3.2-next.1",
|
|
22
|
+
"@akinon/ui-button": "1.4.0-next.1",
|
|
22
23
|
"@akinon/ui-date-picker": "1.3.3-next.1",
|
|
23
|
-
"@akinon/ui-input": "1.1.3-next.1",
|
|
24
24
|
"@akinon/ui-input-number": "1.3.3-next.1",
|
|
25
25
|
"@akinon/ui-modal": "1.1.3-next.1",
|
|
26
|
-
"@akinon/ui-
|
|
26
|
+
"@akinon/ui-input": "1.1.3-next.1",
|
|
27
27
|
"@akinon/ui-pagination": "1.3.4-next.1",
|
|
28
|
-
"@akinon/ui-space": "1.3.3-next.1",
|
|
29
28
|
"@akinon/ui-select": "1.3.4-next.1",
|
|
30
|
-
"@akinon/ui-typography": "1.1.2-next.0"
|
|
29
|
+
"@akinon/ui-typography": "1.1.2-next.0",
|
|
30
|
+
"@akinon/ui-space": "1.3.3-next.1"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"clean-package": "2.2.0",
|