異なる colSpans で p:panels を描画する ap:gridPanel を作成しました。これらのパネルには h:outputText が含まれています。各パネルに ap:resizable を配置して幅を変更します。ただし、最初にサイズを変更すると、パネルは子要素 (h:outputText) の幅にスナップし、その幅からサイズ変更を開始します。
<c:forEach items="#{dataHandler.employees}" var="employee">
<p:row>
<p:column styleClass="employeeColumn">
<h:outputText value="#{employee.name}" styleClass="standardText"/>
</p:column >
<c:forEach items="#{employee.activities}" var="activity">
<p:column colspan="#{activity.duration}">
<c:choose>
<c:when test="#{activity.category == 'empty'}"/>
<c:otherwise>
<p:panel id="#{activity.id}" styleClass="activityPanel"
style="background-color:#{activity.color}">
<h:outputText value="#{activity.name} - #{activity.duration} days" styleClass="activityText"/>
</p:panel>
<p:resizable for="#{activity.id}" handles="e,w" grid="22" minHeight="15" maxHeight="15"/>
<p:draggable for="#{activity.id}" handle=".ui-panel-titlebar" stack=".ui-panel" grid="23,15"
containment="containment"/>
<p:tooltip for="#{activity.id}" styleClass="toolTip">
#{activity.name} <br/> #{employee.name} <br/>from #{activity.startTime} to #{activity.endTime}
</p:tooltip>
</c:otherwise>
</c:choose>
</p:column>
</c:forEach>
</p:row>