Commit Graph

17 Commits

Author SHA1 Message Date
8f011e637b feat(config): persistent context, path portability, and refined browsing
- Generator now remembers last used directory for Action Beans and Datasets independently per project.
- Added settings to customize automatic file opening and table limits.
- Enforced project-relative paths for i18n/XSD for better project portability.
- Refined File Browser to start at current directory with strict project scope.
- Implemented DynFormAnnotator for structural validation.
- Bumped plugin version to 3.2.7.
2026-04-22 16:04:37 +07:00
ffe1712318 feat(dynform): structural validation and generator enhancements
- Implemented DynFormAnnotator to validate field usage in <LAYOUT> and <FILTERS> against their respective <FIELDS> definitions.
- Refined ActionBean generator logic for NUMBER and DATE column width calculation.
- Improved window management and focus for newly generated files using FileEditorManagerEx.
- Bumped plugin version to 3.2.6.
2026-04-18 12:57:07 +07:00
d2d2d4d642 feat(dynform): reference and completion for FORM-NAME attribute
- Added comprehensive reference and completion support for FORM-NAME in DATASET > FIELDS > FIELD.
- Implemented smart field resolution to target hidden fields in FORM_ENTRY > FIELDS and named fields in FORM_ENTRY > LAYOUT.
- Enhanced form scanning to recursively discover fields across all included .frml files.
- Bumped plugin version to 3.2.5.
2026-04-18 12:24:12 +07:00
475555da83 feat(config): persistent directories, auto-open files, and strict project scope
- Implemented persistent directory memory for Action Model and Dataset generators (per project).
- Added configuration to automatically open generated files in the editor with a customizable limit.
- Enforced strict project-scope file selection for i18n and XSD settings.
- Switched to relative path storage for i18n/XSD configuration to enhance project portability.
- Improved File Browser logic to start at the current directory or fallback to project root.
- Fixed compilation errors and optimized imports in configuration classes.
- Bumped plugin version to 3.2.4.
2026-04-18 11:14:26 +07:00
4da00c10e4 feat(dynform): enhance dataset and field referencing for master-detail structures
- Implemented comprehensive reference and completion support for <FOREIGN-DATASETS> and <MASTER-DATA> tags.
- Enhanced dataset resolution to support recursive scanning across included .frml files.
- Improved field resolution logic for MASTER-FIELDS and DETAIL-FIELDS to resolve from datasets specified by DATASET-ID or DATAID.
- Bumped plugin version to 3.2.3 and updated change notes.
2026-04-16 19:39:00 +07:00
b13cb216db feat(i18n): allow selecting message XML file via file browser
- Updated the I18n settings to allow selecting the message bundle XML file directly via a file browser (TextFieldWithBrowseButton).
- Modified I18nUtils to load message files via absolute paths from project settings, improving reliability.
- Bumped plugin version to 3.2.2 and updated change notes.
2026-04-15 19:23:10 +07:00
660c7a058c feat: implement project-level XSD registration and refactor base package
- Schema Validation (XSD):
  - Added new configuration UI for DynamicForm Tools to manage XSD schemas.
  - Implemented DynFormXsdScanner to automatically map local .xsd files to the ExternalResourceManager using a custom URI prefix.
  - Ensured XSD registration is properly scoped at the Project-level (rather than Application-level) using write-actions to comply with IDE threading policies.

- Architecture & Refactoring:
  - Renamed base package from com.sdk.dynformTools to com.sdk.dynform across the entire project for structural consistency.
  - Converted Application-level settings/configurables to Project-level services.
  - Extracted and restored complex I18n folding and inlay hint logic that was previously overwritten, adapting it to use the new Project-level settings.

- UI & Metadata:
  - Bumped plugin version to 3.2.0.
  - Rebranded settings page to "DynamicForm Tools".
  - Organized settings into logical "Internationalization" and "Schema Validation" groups.
2026-04-10 22:51:47 +07:00
c76ca9a293 chore: bump version to 3.1.0 and update release notes 2026-04-10 14:42:31 +07:00
da049ea016 chore: bump version to 3.0.1 and update plugin documentation 2026-04-07 22:58:32 +07:00
186c729ece refactor: rebrand to DynamicFormTools and add i18n support
- Rebranded plugin from "ActionModelsGenerator" to "Dynamic Form Helper".
- Refactored package structure from "com.sdk.generators" to "com.sdk.dynform.tools".
- Added comprehensive I18n support for Java, XML, and JavaScript:
    - Inlay hints and code folding for internationalization keys.
    - Completion and reference contributors for "message.xml" keys.
    - Configuration settings and UI for i18n tools.
- Introduced support for the ".frml" (DynForm) file type.
- Added specialized DynForm completion and path resolution helpers.
- Updated "build.gradle.kts" with JSP and JavaScript platform dependencies.
- Updated documentation and project metadata to reflect the new name.
2026-04-07 22:39:20 +07:00
351e299d7e docs: update plugin description with detailed features and compatibility 2026-04-03 21:33:40 +07:00
402712836f chore: bump version to 2.1.2 and update release notes
- Grouped database actions into a single "Generate Action Models" popup menu.
- Renamed base action to "Generate Action Models V2" for clarity.
- Improved context menu organization in the Database View.
2026-04-03 19:01:08 +07:00
9ada2e4241 chore: bump version to 2.1.1 and update release notes 2026-03-02 13:24:42 +07:00
d501ecec22 feat: implement Dataset XML generation and Action Models V3
- Added 'Generate Dataset XML' feature to automate table definitions from database schema.
- Implemented intelligent label generation (prioritizing comments) and automatic type mapping for XML.
- Added 'Generate Action Models V3' supporting the new sdk.db package structure.
- Updated release notes and bumped version to 2.1.0.
- Registered new actions with keyboard shortcuts in plugin.xml.
2026-02-27 12:33:58 +07:00
c40ce04f73 fix: Handle databases that do not support user-defined types
Add a null check to prevent NullPointerException when a database does not support user-defined data types.
2025-10-18 16:07:51 +07:00
c9147b069e refactor: Restructure project, enhance ActionField and DTOField generation
This commit refactors the project structure by moving generator-related classes
to a new package (`com.sdk.generators.actionmodels`) and standardizing
template directory names (`src/main/resources/templates`).

It introduces new FreeMarker templates (`actionDTO.ftl`, `actionDTO.extend.ftl`)
and corresponding logic in `GeneratorServices.java` to support the generation
of Data Transfer Object (DTO) classes alongside ActionBeans. The changes
also involve enhancements related to `ActionField` and `DTOField` generation.

Updates to `build.gradle.kts`, `plugin.xml`, and Gradle wrapper files
reflect these structural and functional enhancements.
2025-09-23 23:07:19 +07:00
fb3b704285 feat: Initial commit of the ActionBean generator plugin
This commit includes the basic project structure, the initial implementation of the plugin, and fixes for duplicate API calls and deprecated code.
2025-07-08 19:13:39 +07:00