- Core Logic Enhancements:
- Implement bidirectional field referencing between <FIELDS>, <LAYOUT>, and <TITLES> tags in .frml files, enabling seamless navigation from definitions to usages and vice versa.
- Add robust support for AJAX-OPTION field mapping:
- SRC attribute: Links to field definitions within defs/ajax.xml datasets.
- TARGET attribute: Links to local field definitions within the same form.
- Implement global grid resolution: GRID-ID now searches across the current file and all recursively included files (<INCLUDE>).
- Enhance deep recursive search for fields/sections within nested tags like <SECTION>, <ROW>, and <FIELD-LIST>.
- Path Resolution & Helpers (DynFormPathUtils):
- Added support for module-relative paths starting with # (mapping to view/frm/).
- Added support for cross-module paths starting with / (mapping to WEB-INF/app/module/{module}/view/frm/).
- Implemented auto-correction for common keyboard typos (Thai 'ิ' instead of /).
- Added specialized helpers for locating ajax.xml and included files within the framework's structure.
- Smart Completion Enhancements:
- Added context-aware completion for TARGET and SRC fields in AJAX update-fields.
- Enabled global GRID-ID completion by scanning all included resources.
- Improved dataset completion to include both local and AJAX-defined datasets.
- Test Resources:
- Added a comprehensive set of real-world examples (bdgt04, bdgt05, bdgt06) in DevResources/full-examples/ to validate complex cross-module and master-detail scenarios.
21 lines
894 B
Plaintext
21 lines
894 B
Plaintext
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
|
|
<%@ include file="/WEB-INF/app/system/dynf/dynfSysInfo.jsp" %>
|
|
<!-- =========================================================================================== -->
|
|
<h1 class="page-header"><%=$M.get("pclp.budget_edit")%></h1>
|
|
<%
|
|
try {
|
|
dynForm = new DynForm(application, request, response, "bdgt04", "bdgt-0401020-budget");
|
|
dynForm.setFormOwner(request.getRequestURL().toString());
|
|
dynForm.setFormvar("STM_CODE",factory.user.getUSER_DEPT_CODE());
|
|
if (dynForm.workIn(WorkMode.Editing)) {
|
|
%><%@ include file="/WEB-INF/app/system/dynf/dynfDataEdit.jsp" %><%
|
|
} else {
|
|
%><%@ include file="/WEB-INF/app/system/dynf/dynfDataList.jsp" %><%
|
|
}
|
|
} catch (Exception ex) {
|
|
factory.setRestCode("ERROR");
|
|
factory.setRestMsg(ex.getMessage() + "\n" + JUtils.stackToString(ex,16));
|
|
logger.error(ex.getMessage(),ex);
|
|
}
|
|
%>
|