The isOptionalProperty function now only checks if a property is not required, removing the isNullable condition. This simplifies the logic for determining optional properties.
Adds support for marking properties as nullable by appending '| null' to their type in the model generator. Also refines the logic for determining optional properties to better align with 'isRequired' and 'isNullable' flags.
Introduces IsNullable detection in ReflectionHelper and propagates it to PropertyApiDescriptionModel and TypeScript models. Updates logic to consider nullable properties when determining optionality, improving API schema accuracy for nullable reference types.
PermissionGuard now supports redirecting to a specified URL when access is denied and a redirectUrl is provided in route data. Updated guard logic to use map instead of filter/tap, and added corresponding unit tests to verify redirect behavior.
Introduces TimepickerI18nAdapter to provide localized AM/PM labels for NgbTimepickerI18n. Updates providers and index exports to register and expose the new adapter.
Introduced DatepickerI18nAdapter to provide localized labels for the ng-bootstrap datepicker using Angular's locale and ABP config state. Registered the adapter as the provider for NgbDatepickerI18n and updated the adapters index export.
Replaces the IntersectionObserver-based focus logic with a simpler requestAnimationFrame approach for focusing the first field. This reduces complexity and potential timing issues when focusing the field after view initialization.
Refactored focus logic to ensure the field is only focused when visible. Added IntersectionObserver to handle cases where the element is not immediately visible, improving accessibility and user experience.
Ensures the JWT token body is properly padded before decoding by adding '=' characters as needed. This prevents errors when decoding tokens with missing base64 padding.
Introduces abp.message.prompt to display a browser prompt and invoke a callback with the result. Logs a warning indicating the method is not fully implemented.
Refactors how column widths are computed and applied in ExtensibleTableComponent. The actions column now uses a dedicated method for width, and property columns use a corrected index for width assignment, improving alignment and configurability.
Replaces deprecated HttpClientModule with provideHttpClient and provideHttpClientTesting in breadcrumb tests, removes unused imports and declarations from card, error handler, and validation utils test files for improved clarity and maintainability.
Eliminated manual Angular test environment initialization from multiple test-setup.ts files, relying on jest-preset-angular defaults. Also removed unused 'timer' and 'firstValueFrom' imports from test specs. This simplifies test configuration and reduces boilerplate.
Replaces HttpClientTestingModule imports with provideHttpClient and provideHttpClientTesting in test files for improved Angular test setup. This aligns with updated Angular best practices for providing HTTP client dependencies.
Updated LogoComponent to use LOGO_URL_TOKEN and LOGO_APP_NAME_TOKEN for logo URL and app name, falling back to environment values if tokens are not provided. This improves flexibility and allows for easier customization of the logo and app name.