From e70713991e099a02a5ff682c47feeba42b927112 Mon Sep 17 00:00:00 2001 From: Fabiano Sluzarski <fs09@inf.ufpr.br> Date: Mon, 10 Feb 2014 11:40:33 -0200 Subject: [PATCH] changed view list layout --- .../WEB-INF/tags/form/fields/table.tagx | 104 ++++++++++++++++-- .../WEB-INF/tags/util/load-scripts.tagx | 2 +- 2 files changed, 97 insertions(+), 9 deletions(-) diff --git a/src/main/webapp/WEB-INF/tags/form/fields/table.tagx b/src/main/webapp/WEB-INF/tags/form/fields/table.tagx index f249b6d..743f8a5 100644 --- a/src/main/webapp/WEB-INF/tags/form/fields/table.tagx +++ b/src/main/webapp/WEB-INF/tags/form/fields/table.tagx @@ -44,6 +44,8 @@ <table> <thead> <tr> + <th></th> + <spring:eval var="colCounter" expression="colCounter + 1" /> <c:forTokens items="${columnLabels}" delims="${'✏'}" var="columnHeading"> <th> <c:out value="${columnHeading}" /> @@ -51,18 +53,28 @@ </th> </c:forTokens> <th></th> - <c:if test="${update}"> + <!-- <c:if test="${update}"> <th></th> <spring:eval var="colCounter" expression="colCounter + 1" /> </c:if> <c:if test="${delete}"> <th></th> <spring:eval var="colCounter" expression="colCounter + 1" /> - </c:if> + </c:if> --> </tr> </thead> + <spring:eval var="radioId" expression="1" /> + <c:set var="control" value="true" /> <c:forEach items="${data}" var="item"> <tr> + <c:set var="itemId"><spring:eval expression="item[typeIdFieldName]"/></c:set> + <td class="utilbox"> + <input type="radio" id="${radioId}" name="radioButton" value="${itemId}"/> + <script type="text/javascript"> + Spring.addDecoration(new Spring.ElementDecoration({elementId : '${radioId}', widgetType: 'dijit.form.RadioButton', widgetAttrs : {}})); + </script> + <spring:eval var="radioId" expression="radioId + 1" /> + </td> <c:forTokens items="${columnProperties}" delims="${'✏'}" var="column" varStatus="num"> <c:set var="columnMaxLength" value="${lengths[num.count-1]}" /> <c:set var="columnType" value="${types[num.count-1]}" /> @@ -91,8 +103,51 @@ <c:out value="${colTxt}" /> </td> </c:forTokens> - <c:set var="itemId"><spring:eval expression="item[typeIdFieldName]"/></c:set> - <td class="utilbox"> + + <c:if test="${control}"> + <td rowspan="${fn:length(data)}" class="utilbox" valign="top"> + + <spring:url value="/resources/images/show.png" var="show_image_url" /> + <spring:message arguments="${typeName}" code="entity_show" var="show_label" htmlEscape="false" /> + <a onclick="showRedirect()" alt="${fn:escapeXml(show_label)}" title="${fn:escapeXml(show_label)}"> + <img alt="${fn:escapeXml(show_label)}" class="image" src="${show_image_url}" title="${fn:escapeXml(show_label)}" /> + </a> + <br/> + + <c:if test="${update}"> + <spring:url value="/resources/images/update.png" var="update_image_url" /> + <spring:message arguments="${typeName}" code="entity_update" var="update_label" htmlEscape="false" /> + <a onclick="updateRedirect()" alt="${fn:escapeXml(update_label)}" title="${fn:escapeXml(update_label)}"> + <img alt="${fn:escapeXml(update_label)}" class="image" src="${update_image_url}" title="${fn:escapeXml(update_label)}" /> + </a> + </c:if> + + <c:if test="${delete}"> + <spring:url value="${path}/${itemId}" var="delete_form_url" /> + <spring:url value="/resources/images/delete.png" var="delete_image_url" /> + <form:form name="deleteForm" action="" method="DELETE"> + <spring:message arguments="${typeName}" code="entity_delete" var="delete_label" htmlEscape="false" /> + <c:set var="delete_confirm_msg"> + <!-- <spring:escapeBody javaScriptEscape="true"> --> + <spring:message code="entity_delete_confirm" htmlEscape="false" /> + <!-- </spring:escapeBody> --> + </c:set> + <input alt="${fn:escapeXml(delete_label)}" class="image" src="${delete_image_url}" title="${fn:escapeXml(delete_label)}" type="image" value="${fn:escapeXml(delete_label)}" onclick="return deleteRedirect();"/> + <c:if test="${not empty param.page}"> + <input name="page" type="hidden" value="1" /> + </c:if> + <c:if test="${not empty param.size}"> + <input name="size" type="hidden" value="${fn:escapeXml(param.size)}" /> + </c:if> + </form:form> + </c:if> + + </td> + <c:set var="control" value="false" /> + </c:if> + + <!-- <c:set var="itemId"><spring:eval expression="item[typeIdFieldName]"/></c:set> --> + <!-- <td class="utilbox"> <spring:url value="${path}/${itemId}" var="show_form_url" /> <spring:url value="/resources/images/show.png" var="show_image_url" /> <spring:message arguments="${typeName}" code="entity_show" var="show_label" htmlEscape="false" /> @@ -118,11 +173,11 @@ <spring:url value="/resources/images/delete.png" var="delete_image_url" /> <form:form action="${delete_form_url}" method="DELETE"> <spring:message arguments="${typeName}" code="entity_delete" var="delete_label" htmlEscape="false" /> - <c:set var="delete_confirm_msg"> + <c:set var="delete_confirm_msg"> --> <!-- <spring:escapeBody javaScriptEscape="true"> --> - <spring:message code="entity_delete_confirm" htmlEscape="false" /> + <!-- <spring:message code="entity_delete_confirm" htmlEscape="false" /> --> <!-- </spring:escapeBody> --> - </c:set> + <!-- </c:set> <input alt="${fn:escapeXml(delete_label)}" class="image" src="${delete_image_url}" title="${fn:escapeXml(delete_label)}" type="image" value="${fn:escapeXml(delete_label)}" onclick="return confirm('${delete_confirm_msg}');" /> <c:if test="${not empty param.page}"> <input name="page" type="hidden" value="1" /> @@ -132,7 +187,7 @@ </c:if> </form:form> </td> - </c:if> + </c:if> --> </tr> </c:forEach> <tr class="footer"> @@ -156,6 +211,39 @@ </td> </tr> </table> + + <script type="text/javascript"> + function showRedirect(){ + var radioElements = document.getElementsByName("radioButton"); + + for (var i=0; i < radioElements.length; i++) + if(radioElements[i].checked == true) { + var pathHeader = window.location.href.substring(0,window.location.href.lastIndexOf("${path}")); + window.location.href=pathHeader+"${path}/"+radioElements[i].value; + } + } + + function updateRedirect(){ + var radioElements = document.getElementsByName("radioButton"); + + for (var i=0; i < radioElements.length; i++) + if(radioElements[i].checked == true) { + var pathHeader = window.location.href.substring(0,window.location.href.lastIndexOf("${path}")); + window.location.href=pathHeader+"${path}/"+radioElements[i].value+"?form"; + } + } + + function deleteRedirect(){ + var radioElements = document.getElementsByName("radioButton"); + + for (var i=0; i < radioElements.length; i++) + if(radioElements[i].checked == true) { + var pathHeader = window.location.href.substring(0,window.location.href.lastIndexOf("${path}")); + document.deleteForm.action = pathHeader+"${path}/"+radioElements[i].value; + return confirm('${delete_confirm_msg}'); + } + } + </script> </c:if> diff --git a/src/main/webapp/WEB-INF/tags/util/load-scripts.tagx b/src/main/webapp/WEB-INF/tags/util/load-scripts.tagx index 2d83623..50c11fa 100644 --- a/src/main/webapp/WEB-INF/tags/util/load-scripts.tagx +++ b/src/main/webapp/WEB-INF/tags/util/load-scripts.tagx @@ -36,5 +36,5 @@ <script src="${fixed_checkedmultiselect_url}" type="text/javascript"><!-- required for FF3 and Opera --></script> <script language="JavaScript" type="text/javascript">dojo.require("dojo.parser");</script> - + </jsp:root> \ No newline at end of file -- GitLab