Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
= Changelog

== v2026.1.0
== v2026.3.0

=== Dependency update

Expand All @@ -11,9 +11,11 @@
- https://github.com/ObeoNetwork/pepper/issues/13[#13] Add checkbox cells to WorkpackageArtefactPageDescription instead of the old text field
- https://github.com/ObeoNetwork/pepper/issues/6[#6] Use "00:00" as default value for Start Time and "23:59" as default value for End Time
- https://github.com/ObeoNetwork/pepper/issues/5[#5] In calendar widget, improve default values of "Start Date", "End Date", "Start Time" and "End Time"
- https://github.com/ObeoNetwork/pepper/issues/14[#14] Week number are now displayed centered between week separation line

=== Bug fixes

=== Bug fixes
- https://github.com/ObeoNetwork/pepper/issues/35[#35] Workpackages created from another in the Gantt panel now have the same duration as the original one.


== v2024.11.0
Expand Down
6 changes: 3 additions & 3 deletions backend/pepper-parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.9</version>
<version>3.5.11</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>pepper</groupId>
Expand All @@ -30,9 +30,9 @@

<properties>
<java.version>17</java.version>
<sirius.web.version>2026.1.0</sirius.web.version>
<sirius.web.version>2026.3.0</sirius.web.version>
<sirius.version>7.4.14-SNAPSHOT</sirius.version>
<revision>2026.1.0</revision>
<revision>2026.3.0</revision>
</properties>

<distributionManagement>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ public PepperTableEditCellHandler(IObjectSearchService objectSearchService) {

@Override
public boolean canHandle(TableDescription tableDescription) {
return tableDescription.getId().equals("workpackagesTableId");
String tableId = tableDescription.getId();
return tableId.equals("workpackagesTableId") || tableId.equals("workpackageArtefactsTableId") || tableId.equals("risksTableId");
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ public void createWorkpackage(EObject context) {
// The new task follows the context task and has the same duration than the context task.
if (workpackage.getEndDate() != null && workpackage.getStartDate() != null) {
newWorkpackage.setStartDate(workpackage.getEndDate().plusDays(1));
newWorkpackage.setEndDate(workpackage.getEndDate().plusDays(workpackage.getEndDate().toEpochDay() - workpackage.getStartDate().toEpochDay()));
newWorkpackage.setEndDate(workpackage.getEndDate().plusDays(workpackage.getEndDate().toEpochDay() - workpackage.getStartDate().toEpochDay() + 1));
}

EObject parent = context.eContainer();
Expand Down
2 changes: 1 addition & 1 deletion backend/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

<groupId>pepper</groupId>
<artifactId>pepper-container</artifactId>
<version>2026.1.0</version>
<version>2026.3.0</version>

<name>Pepper</name>
<description>Pepper for project management</description>
Expand Down
442 changes: 221 additions & 221 deletions frontend/package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ObeoNetwork/pepper",
"version": "2026.1.0",
"version": "2026.3.0",
"author": "CEA LIST",
"license": "EPL-2.0",
"repository": {
Expand Down
43 changes: 23 additions & 20 deletions frontend/pepper-web/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@ObeoNetwork/pepper",
"author": "CEA LIST",
"version": "2026.1.0",
"version": "2026.3.0",
"license": "EPL-2.0",
"repository": {
"type": "git",
Expand All @@ -13,29 +13,32 @@
"private": true,
"dependencies": {
"@apollo/client": "3.10.4",
"@eclipse-sirius/sirius-components-browser": "2026.1.0",
"@eclipse-sirius/sirius-components-charts": "2026.1.0",
"@eclipse-sirius/sirius-components-core": "2026.1.0",
"@eclipse-sirius/sirius-components-deck": "2026.1.0",
"@eclipse-sirius/sirius-components-diagrams": "2026.1.0",
"@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.1.0",
"@eclipse-sirius/sirius-components-forms": "2026.1.0",
"@eclipse-sirius/sirius-components-gantt": "2026.1.0",
"@eclipse-sirius/sirius-components-omnibox": "2026.1.0",
"@eclipse-sirius/sirius-components-portals": "2026.1.0",
"@eclipse-sirius/sirius-components-selection": "2026.1.0",
"@eclipse-sirius/sirius-components-tables": "2026.1.0",
"@eclipse-sirius/sirius-components-trees": "2026.1.0",
"@eclipse-sirius/sirius-components-validation": "2026.1.0",
"@eclipse-sirius/sirius-components-widget-reference": "2026.1.0",
"@eclipse-sirius/sirius-components-widget-table": "2026.1.0",
"@eclipse-sirius/sirius-web-application": "2026.1.0",
"@eclipse-sirius/sirius-web-view-fork": "2026.1.0",
"@eclipse-sirius/sirius-components-browser": "2026.3.0",
Comment thread
ncouvert marked this conversation as resolved.
"@eclipse-sirius/sirius-components-charts": "2026.3.0",
"@eclipse-sirius/sirius-components-core": "2026.3.0",
"@eclipse-sirius/sirius-components-deck": "2026.3.0",
"@eclipse-sirius/sirius-components-datatree": "2026.3.0",
"@eclipse-sirius/sirius-components-diagrams": "2026.3.0",
"@eclipse-sirius/sirius-components-formdescriptioneditors": "2026.3.0",
"@eclipse-sirius/sirius-components-forms": "2026.3.0",
"@eclipse-sirius/sirius-components-impactanalysis": "2026.3.0",
"@eclipse-sirius/sirius-components-gantt": "2026.3.0",
"@eclipse-sirius/sirius-components-palette": "2026.3.0",
"@eclipse-sirius/sirius-components-omnibox": "2026.3.0",
"@eclipse-sirius/sirius-components-portals": "2026.3.0",
"@eclipse-sirius/sirius-components-selection": "2026.3.0",
"@eclipse-sirius/sirius-components-tables": "2026.3.0",
"@eclipse-sirius/sirius-components-trees": "2026.3.0",
"@eclipse-sirius/sirius-components-validation": "2026.3.0",
"@eclipse-sirius/sirius-components-widget-reference": "2026.3.0",
"@eclipse-sirius/sirius-components-widget-table": "2026.3.0",
"@eclipse-sirius/sirius-web-application": "2026.3.0",
"@eclipse-sirius/sirius-web-view-fork": "2026.3.0",
"@lexical/react": "0.8.1",
"@mui/icons-material": "7.0.2",
"@mui/material": "7.0.2",
"@mui/x-tree-view": "7.29.1",
"@ObeoNetwork/gantt-task-react": "0.6.2",
"@ObeoNetwork/gantt-task-react": "0.6.3",
"@ObeoNetwork/react-trello": "2.4.11",
"@xyflow/react": "12.6.0",
"d3": "7.0.0",
Expand Down
11 changes: 8 additions & 3 deletions frontend/pepper-web/src/nodes/EllipseNode.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,13 @@ export const EllipseNode: NodeComponentsMap['ellipseNode'] = memo(
const theme = useTheme();
const { onDrop, onDragOver } = useDrop();
const { style: connectionFeedbackStyle } = useConnectorNodeStyle(id, data.nodeDescription.id);
const { style: dropFeedbackStyle } = useDropNodeStyle(data.isDropNodeTarget, data.isDropNodeCandidate, dragging);
const { style: connectionLineActiveNodeStlye } = useConnectionLineNodeStyle(data.connectionLinePositionOnNode);
const { style: dropFeedbackStyle } = useDropNodeStyle(
data.isDropNodeTarget,
data.isDragNodeSource,
data.isDropNodeCandidate,
dragging
);
const { style: connectionLineActiveNodeStyle } = useConnectionLineNodeStyle(data.connectionLinePositionOnNode);

const handleOnDrop = (event: React.DragEvent) => {
onDrop(event, id);
Expand All @@ -102,7 +107,7 @@ export const EllipseNode: NodeComponentsMap['ellipseNode'] = memo(
...ellipseNodeStyle(theme, data.style, !!selected, data.isHovered, data.faded),
...connectionFeedbackStyle,
...dropFeedbackStyle,
...connectionLineActiveNodeStlye,
...connectionLineActiveNodeStyle,
}}
data-svg="rect"
onDragOver={onDragOver}
Expand Down
2 changes: 2 additions & 0 deletions frontend/pepper-web/src/nodes/EllipseNodeConverter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ const toEllipseNode = (
isListChild: isListLayoutStrategy(gqlParentNode?.style.childrenLayoutStrategy),
isDraggedNode: false,
isDropNodeTarget: false,
isDragNodeSource: false,
isDropNodeCandidate: false,
isHovered: false,
nodeAppearanceData: {
Expand All @@ -118,6 +119,7 @@ const toEllipseNode = (

data.insideLabel = convertInsideLabel(
insideLabel,
gqlDiagram.layoutData.labelLayoutData,
data,
`${style.borderSize}px ${style.borderStyle} ${style.borderColor}`
);
Expand Down
5 changes: 2 additions & 3 deletions frontend/pepper-web/src/nodes/EllipseNodeLayoutHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ export class EllipseNodeLayoutHandler implements INodeLayoutHandler<NodeData> {
const nodeIndex = findNodeIndex(visibleNodes, node.id);
const nodeElement = document.getElementById(`${node.id}-ellipseNode-${nodeIndex}`)?.children[0];
const borderWidth = nodeElement ? parseFloat(window.getComputedStyle(nodeElement).borderWidth) : 0;
const labelElement = document.getElementById(`${node.id}-label-${nodeIndex}`);

const borderNodes = directChildren.filter((node) => node.data.isBorderNode);
const directNodesChildren = directChildren.filter((child) => !child.data.isBorderNode);
Expand All @@ -79,7 +78,7 @@ export class EllipseNodeLayoutHandler implements INodeLayoutHandler<NodeData> {
const previousNode = (previousDiagram?.nodes ?? []).find((previouseNode) => previouseNode.id === child.id);
const previousPosition = computePreviousPosition(previousNode, child);
const createdNode = newlyAddedNodes.find((n) => n.id === child.id);
const headerHeightFootprint = labelElement ? getHeaderHeightFootprint(labelElement, null, null) : 0;
const headerHeightFootprint = getHeaderHeightFootprint(node.data.insideLabel, 'TOP', borderWidth);

if (!!createdNode) {
child.position = createdNode.position;
Expand Down Expand Up @@ -115,7 +114,7 @@ export class EllipseNodeLayoutHandler implements INodeLayoutHandler<NodeData> {
const directChildrenAwareNodeWidth = childrenContentBox.x + childrenContentBox.width;
const northBorderNodeFootprintWidth = getNorthBorderNodeFootprintWidth(visibleNodes, borderNodes, previousDiagram);
const southBorderNodeFootprintWidth = getSouthBorderNodeFootprintWidth(visibleNodes, borderNodes, previousDiagram);
const labelOnlyWidth = getInsideLabelWidthConstraint(node.data.insideLabel, labelElement);
const labelOnlyWidth = getInsideLabelWidthConstraint(node.data.insideLabel);

const nodeMinComputeWidth =
Math.max(
Expand Down
Loading