Moved inline templates to separate HTML files for permission-checkbox-list, provider-key-search, resource-permission-form, and resource-permission-list components. Updated component decorators to reference the new template files, improving maintainability and separation of concerns.
Introduces ResourcePermissionStateService to centralize and manage state for resource permission management. Refactors resource-permission-management.component and related templates to use the new state service, and extracts form, list, and search UI into dedicated components for improved modularity and maintainability.
Enhances the provider key search input with focus/blur handling and a dropdown for results, improving user experience. Adds a confirmation dialog before deleting a permission, preventing accidental deletions. Refactors related logic for clarity and better state management.
Added 'ErrorLoadingPermissions' and 'PleaseSelectProviderAndPermissions' keys to all language JSON files in the permission management module to support new error and prompt messages in the UI.
Added new translation keys for 'UpdatePermission', 'NoPermissionsAssigned', 'SelectProvider', 'SearchProviderKey', and 'Provider' across all supported languages in the permission management module. This enhances localization support for new UI features related to provider selection and permission assignment.
Moved resource-permission-management component files into a dedicated folder and updated imports. Replaced the manual table implementation with the ExtensibleTableComponent for resource permissions, added client-side pagination, and introduced extension points for entity property configuration. Added new defaults, services, and tokens to support extensibility and improved maintainability.
Introduces ResourcePermissionManagementComponent with UI and logic for managing resource-based permissions. Updates models and service to support resource permission APIs, and exports the new component in the index.
Updated SqliteBusyTimeoutSaveChangesInterceptor to execute the PRAGMA command only if the DbContext is using the Sqlite provider. This prevents unnecessary execution for non-Sqlite databases.
Added a new community article introducing the AI Management Module, including a detailed post and related images. The article covers features, usage, roadmap, and getting started instructions for the new module in ABP Commercial.