Customizing images
To customize the images, add the following code snippet in the /apps/ws/css/newStyle.css
file. The following code snippet customizes image for the lock action:
#taskarea .taskActionsPopUp .lock, .task .taskActionsPopUp .lock{
background: url(../images/icons.png) no-repeat -265px -6px;
}
#taskarea .taskActionsPopUp .lock{
background: url(../images/icons1.png) no-repeat -265px -6px;
}
.task .taskActionsPopUp .lock{
background: url(../images/icons2.png) no-repeat -265px -6px;
}
Showing only images for actions
To show only images for actions, customize the images used in route actions. For detailed information, see Images for Route Actions.
Task List task action pop-up menu
-
You require development package to customize items of the AEM Forms workspace Task list task action pop-up menu. For detailed information about creating development package, see Building AEM Forms workspace code.
-
Copy /libs/ws/js/runtime/templates/task.html to
/apps/ws/js/runtime/templates/task.html
replace the following code snippet:// Orignal code <div class="taskActionsPopUp"> <!--START_TASKACTIONS--> <ul> <li class="arrow"></li> <%if(!isMustOpenToComplete && window.lcWorkspace != undefined && window.lcWorkspace.currentUser != undefined && window.lcWorkspace.currentUser.properties != undefined && window.lcWorkspace.currentUser.properties['/client/routes/formViewOnly'] == 'false'){%> <%if(routeList == null){%> <li> <a href="javascript:void(0);" title="<%= $.t('taskaction.directcommand.'+availableCommands.directCommands[0])%>" value="<%= availableCommands.directCommands[0]%>" data-action="route"><%= $.t('taskaction.directcommand.'+availableCommands.directCommands[0])%></a> </li> <%}else{%> <%for(var i = 0; i<availableCommands.directCommands.length; i++){%> <li> <a href="javascript:void(0);" title="<%= availableCommands.directCommands[i]%>" value="<%= availableCommands.directCommands[i]%>" data-action="route"><%= availableCommands.directCommands[i]%></a> </li> <%}%> <%}%> <%}%> <%for(var i = 0; i<availableCommands.taskACLCommands.length; i++){%> <li class="<%= availableCommands.taskACLCommands[i]%>" alt="<%= $.t('taskaction.taskaclcommand.'+availableCommands.taskACLCommands[i]+'.value')%>"> <a href="javascript:void(0);" title="<%= $.t('taskaction.taskaclcommand.'+availableCommands.taskACLCommands[i]+'.tooltip')%>" value="<%= availableCommands.taskACLCommands[i]%>" data-action="taskACL"><%= $.t('taskaction.taskaclcommand.'+availableCommands.taskACLCommands[i]+'.value')%></a> </li> <%}%> <%for(var i = 0; i<availableCommands.otherCommands.length; i++){%> <li class="<%= availableCommands.otherCommands[i]%>" alt="<%= $.t('taskaction.othercommand.'+availableCommands.otherCommands[i]+'.value')%>"> <a href="javascript:void(0);" title="<%= $.t('taskaction.othercommand.'+availableCommands.otherCommands[i]+'.tooltip')%>" value="<%= availableCommands.otherCommands[i]%>" data-action="other"><%= $.t('taskaction.othercommand.'+availableCommands.otherCommands[i]+'.value')%></a> </li> <%}%> </ul> <!--END_TASKACTIONS--> <%}%> </div>
//New code <div class="taskActionsPopUp"> <!--START_TASKACTIONS--> <ul> <li class="arrow"></li> <%if(!isMustOpenToComplete && window.lcWorkspace != undefined && window.lcWorkspace.currentUser != undefined && window.lcWorkspace.currentUser.properties != undefined && window.lcWorkspace.currentUser.properties['/client/routes/formViewOnly'] == 'false'){%> <%if(routeList == null){%> <li> <a href="javascript:void(0);" title="<%= $.t('taskaction.directcommand.'+availableCommands.directCommands[0])%>" value="<%= availableCommands.directCommands[0]%>" data-action="route"></a> </li> <%}else{%> <%for(var i = 0; i<availableCommands.directCommands.length; i++){%> <li> <a href="javascript:void(0);" title="<%= availableCommands.directCommands[i]%>" value="<%= availableCommands.directCommands[i]%>" data-action="route"></a> </li> <%}%> <%}%> <%}%> <%for(var i = 0; i<availableCommands.taskACLCommands.length; i++){%> <li class="<%= availableCommands.taskACLCommands[i]%>" alt="<%= $.t('taskaction.taskaclcommand.'+availableCommands.taskACLCommands[i]+'.value')%>"> <a href="javascript:void(0);" title="<%= $.t('taskaction.taskaclcommand.'+availableCommands.taskACLCommands[i]+'.tooltip')%>" value="<%= availableCommands.taskACLCommands[i]%>" data-action="taskACL"></a> </li> <%}%> <%for(var i = 0; i<availableCommands.otherCommands.length; i++){%> <li class="<%= availableCommands.otherCommands[i]%>" alt="<%= $.t('taskaction.othercommand.'+availableCommands.otherCommands[i]+'.value')%>"> <a href="javascript:void(0);" title="<%= $.t('taskaction.othercommand.'+availableCommands.otherCommands[i]+'.tooltip')%>" value="<%= availableCommands.otherCommands[i]%>" data-action="other"></a> </li> <%}%> </ul> <!--END_TASKACTIONS--> <%}%> </div>
-
Remove the fixed width assigned to an anchor tag from the
/apps/ws/css/newStyle.css
file:.task .taskActionsPopUp ul{ list-style: none outside none; font-size: 13px; width: 160px; } To .task .taskActionsPopUp ul{ list-style: none outside none; font-size: 13px; } AND .task .taskActionsPopUp ul a{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: white; text-decoration: none; height: 26px; width: 133px; padding: 7px 0px 0px 27px; display: block; text-align: left; cursor: pointer; border-bottom: 1px solid #474747; } To .task .taskActionsPopUp ul a{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: white; text-decoration: none; height: 26px; width: 0px; padding: 7px 0px 0px 27px; display: block; text-align: left; cursor: pointer; border-bottom: 1px solid #474747; }
Task Details task action pop-up menu
Perform the following steps to customize Details task actions pop-up menu:
- Copy the /libs/ws/js/runtime/templates/taskdetails.html file to the
/apps/ws/js/runtime/templates/
folder: - Encapsulate icon tag inside the anchor tag instead of text. For example, the new code listed below encapsulates the icon tag inside the anchor tag:
// Original code
<div class="taskActionsPopUp">
<!--START_ACTIONBUTTONGROUP-->
<ul>
<li class="leftArrow"><a href="javascript:void(0);"><</a></li>
<% if (isOwner && showDirectActions) { %>
<% if (routeList === null) {%>
<li class="routeAction">
<a href="javascript:void(0);" title="<%= $.t('taskaction.directcommand.'+availableCommands.directCommands[0])%>" value="<%= availableCommands.directCommands[0]%>" data-action="route"><%= $.t('taskaction.directcommand.'+availableCommands.directCommands[0])%></a>
</li>
<% } else { %>
<%for (var i = 0; i < availableCommands.directCommands.length; i++) {%>
<li class="routeAction">
<a href="javascript:void(0);" title="<%= availableCommands.directCommands[i]%>" value="<%= availableCommands.directCommands[i]%>" data-action="route"><%= availableCommands.directCommands[i]%></a>
</li>
<%}%>
<%}%>
<%}%>
<% if (isOwner || (showACLActions && availableCommands.taskACLCommands !== null && availableCommands.taskACLCommands !== undefined && availableCommands.taskACLCommands.length > 0) || availableCommands.otherCommands.length > 2) { %>
<%for (var i = 0; showACLActions && i < availableCommands.taskACLCommands.length; i++) {%>
<li title="<%= $.t('taskaction.taskaclcommand.'+availableCommands.taskACLCommands[i]+'.tooltip')%>">
<i class="<%= availableCommands.taskACLCommands[i]%>" value="<%= availableCommands.taskACLCommands[i]%>" data-action="taskACL"/>
<a href="javascript:void(0);" value="<%= availableCommands.taskACLCommands[i]%>" data-action="taskACL"><%= $.t('taskaction.taskaclcommand.'+availableCommands.taskACLCommands[i]+'.value')%></a>
</li>
<%}%>
<%for (var i = 0; i < availableCommands.otherCommands.length; i++) {%>
<li title="<%= $.t('taskaction.othercommand.'+availableCommands.otherCommands[i]+'.tooltip')%>">
<i class="<%= availableCommands.otherCommands[i]%>" value="<%= availableCommands.otherCommands[i]%>" data-action="other"/>
<a href="javascript:void(0);" value="<%= availableCommands.otherCommands[i]%>" data-action="other"><%= $.t('taskaction.othercommand.'+availableCommands.otherCommands[i]+'.value')%></a>
</li>
<%}%>
<%}%>
<li class="rightArrow"><a href="javascript:void(0);">></a></li>
</ul>
<!--END_ACTIONBUTTONGROUP-->
</div>
//New code
<div class="taskActionsPopUp">
<!--START_ACTIONBUTTONGROUP-->
<ul>
<li class="leftArrow"><a href="javascript:void(0);"><</a></li>
<% if (isOwner && showDirectActions) { %>
<% if (routeList === null) {%>
<li class="routeAction">
<a href="javascript:void(0);" title="<%= $.t('taskaction.directcommand.'+availableCommands.directCommands[0])%>" value="<%= availableCommands.directCommands[0]%>" data-action="route"><%= $.t('taskaction.directcommand.'+availableCommands.directCommands[0])%></a>
</li>
<% } else { %>
<%for (var i = 0; i < availableCommands.directCommands.length; i++) {%>
<li class="routeAction">
<a href="javascript:void(0);" title="<%= availableCommands.directCommands[i]%>" value="<%= availableCommands.directCommands[i]%>" data-action="route"><%= availableCommands.directCommands[i]%></a>
</li>
<%}%>
<%}%>
<%}%>
<% if (isOwner || (showACLActions && availableCommands.taskACLCommands !== null && availableCommands.taskACLCommands !== undefined && availableCommands.taskACLCommands.length > 0) || availableCommands.otherCommands.length > 2) { %>
<%for (var i = 0; showACLActions && i < availableCommands.taskACLCommands.length; i++) {%>
<li title="<%= $.t('taskaction.taskaclcommand.'+availableCommands.taskACLCommands[i]+'.tooltip')%>">
<a href="javascript:void(0);" value="<%= availableCommands.taskACLCommands[i]%>" data-action="taskACL">
<i class="<%= availableCommands.taskACLCommands[i]%>" value="<%= availableCommands.taskACLCommands[i]%>" data-action="taskACL"/>
</a>
</li>
<%}%>
<%for (var i = 0; i < availableCommands.otherCommands.length; i++) {%>
<li title="<%= $.t('taskaction.othercommand.'+availableCommands.otherCommands[i]+'.tooltip')%>">
<a href="javascript:void(0);" value="<%= availableCommands.otherCommands[i]%>" data-action="other">
<i class="<%= availableCommands.otherCommands[i]%>" value="<%= availableCommands.otherCommands[i]%>" data-action="other"/>
</a>
</li>
<%}%>
<%}%>
<li class="rightArrow"><a href="javascript:void(0);">></a></li>
</ul>
<!--END_ACTIONBUTTONGROUP-->
</div>
- Open the /apps/ws/js/registry.js file for editing.
- Locate the following text:
text!/lc/libs/ws/js/runtime/templates/taskdetails.html
- Replace the located text with the following text:
text!/lc/apps/ws/js/runtime/templates/taskdetails.html
Experience Manager
Espressos & Experience Manager: AEM Forms
Espressos & Experience Manager
Thursday, Mar 6, 7:00 PM UTC
Join Adobe's AEM product team as they highlight AEM Forms' latest innovations, including: the new Gen AI Assistant, Unified Composition with AEM Sites, and new ways to deploy forms through conversations.
RegisterAdobe Experience Manager Forms at Summit
Register for these sessions:
- The True Cost of a Failed Implementation (attend online)
- Put the Customer at the Center and Build Relationships That Last a Lifetime (attend online)
- The Future of Forms: Experience Success Across the Enrollment Journey (attend online)
- Driving Marketing Agility and Scale: Transforming your Content Supply Chain with AI (attend online)
- Elevate and Empower Teams with Agentic AI for Exceptional Experiences (attend online)
Connect with Experience League at Summit!
Get front-row access to top sessions, hands-on activities, and networking—wherever you are!
Learn more