| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor(core): resolve circular dependencies Eliminated circular dependencies in the core module and reorganized package structure. Ref #2321 | 2 年前 | |
core: handle nullable object/array in generateUISchema Treat ['null', T] type arrays as nullable T for UI generation so that nested nullable objects traverse their properties instead of producing a bare Control. This avoids infinite recursion in object renderers that regenerate the UI schema for nested nullable objects. Fixes #2411 | 3 个月前 | |
core: improve Translator type for strict TypeScript compatibility (#2562) Fix #2528 - Replace overloaded Translator type with a generic conditional type - Add createTranslator helper to allow implementation without type assertions under strictFunctionTypes and strictNullChecks. - createTranslator always returns default value for undefined translation | 5 个月前 | |
feat: Optional separateReadonlyFromDisabled option and Vuetify impl (#2532) - Add `separateReadonlyFromDisabled` config option enabling independent control of readonly and enabled states. - By default, they are not separated keeping the legacy behavior - Adds READONLY/WRITABLE rules corresponding to the existing ENABLE/DISABLE rules - Add optional property `readonly` to renderer props and state. Optional to keep backward compatibility - Extend the Vue Vuetify renderer set to consider the the new flag and set renderers' inputs to readonly (instead of disabled) if the flag is enabled and the control set to readonly fixes #2479 | 6 个月前 | |
feat: Optional separateReadonlyFromDisabled option and Vuetify impl (#2532) - Add `separateReadonlyFromDisabled` config option enabling independent control of readonly and enabled states. - By default, they are not separated keeping the legacy behavior - Adds READONLY/WRITABLE rules corresponding to the existing ENABLE/DISABLE rules - Add optional property `readonly` to renderer props and state. Optional to keep backward compatibility - Extend the Vue Vuetify renderer set to consider the the new flag and set renderers' inputs to readonly (instead of disabled) if the flag is enabled and the control set to readonly fixes #2479 | 6 个月前 | |
fix(core): refactor update data to avoid lodash issues (#2585) Fixes #2102 Fixes #2397 Replace the lodash/fp/set call in UPDATE_DATA with a dedicated helper. This fixes issues with numeric segments (e.g. "group-key.15") and bracket characters in property names (e.g. "test[0]"). Improvements on top of the lodash/fp/set replacement: - Store "__proto__" segments as own properties via defineProperty and traverse own properties only, so such keys neither corrupt the container's prototype nor get dropped. Clone containers key-by-key because downleveled object spreads assign instead of define. - Read the updater's old data with resolveData instead of lodash get, so reads use the same literal path semantics as writes. - Fall back to lodash's index heuristic when creating missing containers without schema type information. - Match lodash's isIndex semantics with a strict index regex instead of Number() coercion. - Avoid strict-mode TypeErrors when unsetting non-index array properties (e.g. "length") and return the same reference when there is nothing to unset. - Treat an empty path as addressing the root, and replace non-object root data instead of spreading it. Also documents the path semantics change in MIGRATION.md and adds unit tests for setDataAt/unsetDataAt. Co-authored-by: Darius Lesch <darius.lesch@proton.me> | 1 个月前 | |
core: improve Translator type for strict TypeScript compatibility (#2562) Fix #2528 - Replace overloaded Translator type with a generic conditional type - Add createTranslator helper to allow implementation without type assertions under strictFunctionTypes and strictNullChecks. - createTranslator always returns default value for undefined translation | 5 个月前 | |
Remove usage of lodash/isArray for improved type guarding | 6 个月前 | |
fix(core): refactor update data to avoid lodash issues (#2585) Fixes #2102 Fixes #2397 Replace the lodash/fp/set call in UPDATE_DATA with a dedicated helper. This fixes issues with numeric segments (e.g. "group-key.15") and bracket characters in property names (e.g. "test[0]"). Improvements on top of the lodash/fp/set replacement: - Store "__proto__" segments as own properties via defineProperty and traverse own properties only, so such keys neither corrupt the container's prototype nor get dropped. Clone containers key-by-key because downleveled object spreads assign instead of define. - Read the updater's old data with resolveData instead of lodash get, so reads use the same literal path semantics as writes. - Fall back to lodash's index heuristic when creating missing containers without schema type information. - Match lodash's isIndex semantics with a strict index regex instead of Number() coercion. - Avoid strict-mode TypeErrors when unsetting non-index array properties (e.g. "length") and return the same reference when there is nothing to unset. - Treat an empty path as addressing the root, and replace non-object root data instead of spreading it. Also documents the path semantics change in MIGRATION.md and adds unit tests for setDataAt/unsetDataAt. Co-authored-by: Darius Lesch <darius.lesch@proton.me> | 1 个月前 | |
feat: Optional separateReadonlyFromDisabled option and Vuetify impl (#2532) - Add `separateReadonlyFromDisabled` config option enabling independent control of readonly and enabled states. - By default, they are not separated keeping the legacy behavior - Adds READONLY/WRITABLE rules corresponding to the existing ENABLE/DISABLE rules - Add optional property `readonly` to renderer props and state. Optional to keep backward compatibility - Extend the Vue Vuetify renderer set to consider the the new flag and set renderers' inputs to readonly (instead of disabled) if the flag is enabled and the control set to readonly fixes #2479 | 6 个月前 | |
refactor(core): resolve circular dependencies Eliminated circular dependencies in the core module and reorganized package structure. Ref #2321 | 2 年前 |