This is an automated email from the ASF dual-hosted git repository. jleroux pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-plugins.git
The following commit(s) were added to refs/heads/trunk by this push: new f8cb563d1 Improved: Screen projectmgr main is taking long time to load when projects are more (OFBIZ-12606) f8cb563d1 is described below commit f8cb563d185d317584376c3b1cbcee7d14e7c011 Author: Jacques Le Roux <jacques.le.r...@les7arts.com> AuthorDate: Tue May 3 11:58:01 2022 +0200 Improved: Screen projectmgr main is taking long time to load when projects are more (OFBIZ-12606) When projects are more than 1000, main screen of projectmgr component is taking very long time to load. Currently it is loading all available projects in one shot and there is "ProjectIsBillable.groovy" which is calling in row-actions Solution : We can use performFind service to increase performance in this screen jleroux: I have just removed the commented out replaced code and changed the new <field name="createdStamp" by <field name="createdDate" map-name="resultProject.projectInfo" Also automatically removed few trailing blanks Thanks: Balaji Yendamuri for the patch --- projectmgr/widget/forms/ProjectForms.xml | 47 ++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/projectmgr/widget/forms/ProjectForms.xml b/projectmgr/widget/forms/ProjectForms.xml index df9b0a4c6..da763b9eb 100644 --- a/projectmgr/widget/forms/ProjectForms.xml +++ b/projectmgr/widget/forms/ProjectForms.xml @@ -17,7 +17,7 @@ specific language governing permissions and limitations under the License. --> -<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ofbiz.apache.org/Widget-Form" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Form http://ofbiz.apache.org/dtds/widget-form.xsd"> <form name="EditProject" type="single" target="updateProject" default-map-name="projectInfo" header-row-style="header-row" default-table-style="basic-table"> @@ -164,7 +164,7 @@ <field-map field-name="distinct" value="Y"/> <field-map field-name="orderBy" value="-lastStatusUpdate"/> <field-map field-name="viewIndex" from-field="viewIndex"/> - <field-map field-name="viewSize" from-field="viewSize"/> + <field-map field-name="viewSize" from-field="viewSize"/> </service> </actions> <row-actions> @@ -186,27 +186,40 @@ <field name="actualHours" map-name="resultProject.projectInfo" title="${uiLabelMap.ProjectMgrActualHours}"><display/></field> <field name="createdStamp" title="${uiLabelMap.FormFieldTitle_createdDate}"><display type="date"/></field> </form> - <form name="ListCurrentProjects" type="list" list-name="projects" paginate-target="main" + <form name="ListCurrentProjects" type="list" list-name="listIt" paginate-target="main" odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> <actions> - <script location="component://projectmgr/groovyScripts/ListCurrentProjects.groovy"/> + <set field="parameters.workEffortTypeId" value="PROJECT"/> + <set field="fieldList[]" value="workEffortId"/> + <set field="fieldList[]" value="lastStatusUpdate"/> + <service service-name="performFind" result-map-list="listIt"> + <field-map field-name="fieldList" from-field="fieldList"/> + <field-map field-name="inputFields" from-field="parameters"/> + <field-map field-name="entityName" value="WorkEffortAndPartyAssign"/> + <field-map field-name="distinct" value="Y"/> + <field-map field-name="orderBy" value="-lastStatusUpdate"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + </service> </actions> <row-actions> - <script location="component://projectmgr/groovyScripts/ProjectIsBillable.groovy"/> + <service service-name="getProject" result-map="resultProject"> + <field-map field-name="projectId" value="${workEffortId}"/> + </service> </row-actions> - <field name="projectName" title="${uiLabelMap.ProjectMgrProjectName}" widget-style="buttontext"> - <hyperlink description="${projectName}" target="projectView"> - <parameter param-name="projectId"/> + <field name="projectName" map-name="resultProject.projectInfo" title="${uiLabelMap.ProjectMgrProjectName}" widget-style="buttontext"> + <hyperlink description="${resultProject.projectInfo.projectName}" target="projectView"> + <parameter param-name="projectId" from-field="resultProject.projectInfo.projectId"/> </hyperlink> </field> - <field name="currentStatusId" title="${uiLabelMap.CommonStatus}"><display-entity entity-name="StatusItem" key-field-name="statusId"/></field> - <field name="estimatedStartDate" title="${uiLabelMap.FormFieldTitle_estimatedStartDate}"><display type="date"/></field> - <field name="estimatedCompletionDate" title="${uiLabelMap.FormFieldTitle_estimatedCompletionDate}"><display type="date"/></field> - <field name="actualStartDate" title="${uiLabelMap.FormFieldTitle_actualStartDate}"><display type="date"/></field> - <field name="actualCompletionDate" title="${uiLabelMap.FormFieldTitle_actualCompletionDate}"><display type="date"/></field> - <field name="plannedHours" title="${uiLabelMap.ProjectMgrPlannedHours}"><display/></field> - <field name="actualHours" title="${uiLabelMap.ProjectMgrActualHours}"><display/></field> - <field name="actualNonBilledHours" title="${uiLabelMap.ProjectMgrNonBilledActualHours}"><display description="${groovy:isBillable&&actualNonBilledHours!=void?actualNonBilledHours:""}"/></field> + <field name="createdDate" map-name="resultProject.projectInfo" title="${uiLabelMap.FormFieldTitle_createdDate}"><display type="date"/></field> + <field name="currentStatusId" map-name="resultProject.projectInfo" title="${uiLabelMap.CommonStatus}"><display-entity entity-name="StatusItem" key-field-name="statusId"/></field> + <field name="estimatedStartDate" map-name="resultProject.projectInfo" title="${uiLabelMap.FormFieldTitle_estimatedStartDate}"><display type="date"/></field> + <field name="estimatedCompletionDate" map-name="resultProject.projectInfo" title="${uiLabelMap.FormFieldTitle_estimatedCompletionDate}"><display type="date"/></field> + <field name="actualStartDate" map-name="resultProject.projectInfo" title="${uiLabelMap.FormFieldTitle_actualStartDate}"><display type="date"/></field> + <field name="actualCompletionDate" map-name="resultProject.projectInfo" title="${uiLabelMap.FormFieldTitle_actualCompletionDate}"><display type="date"/></field> + <field name="plannedHours" map-name="resultProject.projectInfo" title="${uiLabelMap.ProjectMgrPlannedHours}"><display/></field> + <field name="actualHours" map-name="resultProject.projectInfo" title="${uiLabelMap.ProjectMgrActualHours}"><display/></field> <field name="createdStamp" title="${uiLabelMap.FormFieldTitle_createdDate}"><display type="date"/></field> </form> <form name="EditSubProjects" list-name="projects" type="list" target="RemoveSubProject" @@ -586,7 +599,7 @@ <condition-list combine="and"> <condition-expr field-name="roleTypeId" operator="equals" value="PROJECT_TEAM"/> <condition-expr field-name="statusId" operator="not-equals" value="PARTY_DISABLED"/> - </condition-list> + </condition-list> <select-field field-name="partyId"/> <select-field field-name="lastName"/> <select-field field-name="firstName"/>